diff --git a/bun.lock b/bun.lock index 2e6fa34..810cadc 100644 --- a/bun.lock +++ b/bun.lock @@ -5,30 +5,30 @@ "": { "name": "vortex", "dependencies": { - "@mdx-js/react": "latest", - "@next/mdx": "latest", - "@tailwindcss/typography": "latest", - "@vercel/analytics": "latest", - "next": "latest", - "next-plausible": "latest", - "ogl": "latest", - "prettier": "latest", - "react": "latest", - "react-dom": "latest", - "react-markdown": "latest", - "use-scramble": "latest", - "velite": "latest", + "@mdx-js/react": "^3.1.1", + "@next/mdx": "^16.0.7", + "@tailwindcss/typography": "^0.5.19", + "@vercel/analytics": "^1.6.1", + "next": "16.0.7", + "next-plausible": "^3.12.5", + "ogl": "^1.0.11", + "prettier": "^3.7.4", + "react": "^19.2.1", + "react-dom": "^19.2.1", + "react-markdown": "^10.1.0", + "use-scramble": "^2.2.15", + "velite": "^0.3.1", }, "devDependencies": { - "@eslint/eslintrc": "latest", - "@tailwindcss/postcss": "latest", - "@types/node": "latest", - "@types/react": "latest", - "@types/react-dom": "latest", - "eslint": "latest", - "eslint-config-next": "latest", - "tailwindcss": "latest", - "typescript": "latest", + "@eslint/eslintrc": "^3.3.3", + "@tailwindcss/postcss": "^4.1.17", + "@types/node": "^24.10.1", + "@types/react": "^19.2.7", + "@types/react-dom": "^19.2.3", + "eslint": "^9.39.1", + "eslint-config-next": "16.0.7", + "tailwindcss": "^4.1.17", + "typescript": "^5.9.3", }, }, }, diff --git a/src/components/hero/index.tsx b/src/components/hero/index.tsx index b896b93..b169ee6 100644 --- a/src/components/hero/index.tsx +++ b/src/components/hero/index.tsx @@ -15,8 +15,15 @@ import { import { useEffect, useRef } from "react"; import { Overlay } from "../overlay"; -const DESKTOP_HEIGHT = 312; -const MOBILE_HEIGHT = 214; +// Calculated heights: header + footer including all margins +// Header: 108px (h-[108px]) + 40px (m-10 top) + 24px (mb-6) = 172px +// Footer: 16px (mt-4) + 40px (m-10 bottom) + 84px (md:h-[84px]) + 36px (pt-4 + content) = 176px +// Total: 172px + 176px = 348px +const DESKTOP_HEIGHT = 348; +// Header: 72px (h-[72px]) + 16px (m-4 top) + 8px (mb-2) = 96px +// Footer: 8px (mt-2) + 16px (m-4 bottom) + 52px (py-4 + content) + 36px (pt-4 + content) = 112px +// Total: 96px + 112px = 208px +const MOBILE_HEIGHT = 200; const DESKTOP_CAMERA_POSITION = new Vec3(5, -5, 10); const MOBILE_CAMERA_POSITION = new Vec3(7, -7, 12); @@ -288,7 +295,7 @@ void main() { }, []); return ( -
+
{ return ( -
+
- - - Spiral Logo - - - Donated by{" "} - - Spiral - - . - + + Copyright © Vortex a Series of{" "} + + LF Projects, LLC. +
- Incubating @ Linux Foundation logo + Incubating @{" "} + Linux Foundation logo
-
- - Copyright © Vortex a Series of{" "} - - LF Projects, LLC +
+ + + Spiral Logo + + Donated by{" "} + + Spiral. - .
diff --git a/src/content/blog/october-2025.mdx b/src/content/blog/october-2025.mdx new file mode 100644 index 0000000..d3d32db --- /dev/null +++ b/src/content/blog/october-2025.mdx @@ -0,0 +1,59 @@ +--- +title: "October Bulletin" +date: "2025-11-6" +authors: ["Community Team"] +excerpt: "Overview of all work happening in Vortex" +published: true +--- + +In October, a lot of focus was on revamping Array evaluation to be fully lazy, by converting their execution +to an Operator model that evaluates into Vectors (fully decompressed, zero-copy to Arrow representation). +This work enables many more optimizations, and also provides unified abstractions for evaluating on +different processor types (CPUs & GPUs). + +In parallel, Vortex added experimental support for a GPU Scan, with fused CUDA kernels for decompressing Vortex data +directly on-device. + +For an in-depth view of this work, see the [recent talk on Vortex](https://db.cs.cmu.edu/events/futuredata-vortex/) +as part of CMU's Future Data Seminar. + +## Core + +1. Children of `ZonedLayoutReader` are evaluated lazily. [#5007](https://github.com/vortex-data/vortex/pull/5007) +2. Introduced our own bit-buffer type, allowing for in-place mutation [#4940](https://github.com/vortex-data/vortex/pull/4940) +3. Introduced experimental GPU Scan [#5012](https://github.com/vortex-data/vortex/pull/5012) + +## Integrations + +### DFT + +You can now try Vortex as part of [dft](https://github.com/datafusion-contrib/datafusion-dft), a batteries-included suite of data tools based on Apache DataFusion. + +### DataFusion + +1. Added support for pushing down filters onto fields of struct columns. #5024 + +### DuckDB + +As of DuckDB 1.4.2, Vortex is included as a core extension in DuckDB. See their [docs](https://duckdb.org/docs/stable/core_extensions/vortex) for more details. + +## Acknowledgments + +We want to thank to anyone who has tried Vortex, provided feedback, asked question and filed issues. + +Special thanks go for all the contributors who took the time and care to contribute to Vortex this month (in descending count of commits): + +```text + 41 Connor Tsui + 38 Joe Isaacs + 24 Nicholas Gates + 22 Robert Kruszewski + 22 Adam Gutglick + 10 Andrew Duffy + 8 Dan King + 8 Alexander Droste + 7 Onur Satici + 5 Alfonso Subiotto Marqués + 2 Dmitrii Blaginin + 1 Maksim Dergousov +``` diff --git a/tsconfig.json b/tsconfig.json index 09a9be9..9ab2292 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,11 @@ { "compilerOptions": { "target": "ES2017", - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -11,7 +15,7 @@ "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", + "jsx": "react-jsx", "incremental": true, "plugins": [ { @@ -19,10 +23,22 @@ } ], "paths": { - "@/*": ["./src/*"], - "#site/content": ["./.velite"] + "@/*": [ + "./src/*" + ], + "#site/content": [ + "./.velite" + ] } }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".next/dev/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] }