Skip to content

examples: pixi-3d (closed beta) spatial upscaling example - #101

Merged
DennisSmolek merged 2 commits into
mainfrom
feat/pixi3d-example
Oct 25, 2026
Merged

DennisSmolek merged 2 commits into
mainfrom
feat/pixi3d-example

Conversation

@DennisSmolek

Copy link
Copy Markdown
Member

Re-opened against main: #95 merged into feat/go-monorepo after #94 had already merged, so it never reached main. Same two commits. Adds a pixi-3d example: a View3D renders a thin-slat fence, glossy spheres and a metal knot at reduced resolution. FSR1 upscales it, and a Sprite presents the result. Keys: 1 spatial, 2 bilinear, 3 native, space pauses.

pixi-3d is a closed beta. Our example code is public, but the beta's code and builds are never committed. @pixi/3d resolves from a release tarball unpacked into the gitignored examples/pixi3d/vendor/ (setup: examples/pixi3d/README.md). Without it, the vite config loads the example as a setup notice, so CI and GitHub Pages build without the beta.

Verified: lint, typecheck, 585 tests, examples build with and without the beta. On GPU (Chrome, @pixi/3d 0.1.0-beta.2, pixi.js 8.22), dev and production builds, spatial/bilinear/native render upright with no warnings, and FSR1 is visibly sharper than bilinear on the slats.

🤖 Generated with Claude Code

DennisSmolek and others added 2 commits October 24, 2026 12:15
examples/pixi3d/hello runs the pixi adapter under a pixi-3d View3D (thin
slats, glossy spheres, a metal knot): the view is sized to the render
resolution, rendered into a half-res RenderTexture, upscaled by FSR1 and
presented on a Sprite; keys switch spatial / bilinear / native.

@pixi/3d is a closed beta (not on npm; testers keep its code and builds
inside the beta), so it is never committed. The example resolves it from the
release tarball unpacked into the gitignored examples/pixi3d/vendor/; without
it, the vite config loads the page as a setup notice, so CI, Pages and anyone
without the beta still build. The root typecheck/lint skip the beta;
`tsc -p examples/pixi3d` checks the example with it. meshoptimizer (pixi-3d's
one runtime dependency, public MIT) joins the devDependencies.

Startup runs in an async main(), not top-level await: in a production build
pixi-3d's backend chunk imports back from the entry chunk while app.init()
awaits it, and the two deadlock (no canvas, no error). docs/pixi.md records it.

GPU-verified with @pixi/3d 0.1.0-beta.2 + pixi.js 8.22 on Chrome (Metal):
spatial, bilinear and native upright in dev and in the production build, FSR1
visibly sharper than bilinear on the slats, no WebGPU/pixi warnings. Without
the beta: lint, typecheck, 585 tests, examples build (notice only, no beta
code) and verify:packed-guides all pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@DennisSmolek
DennisSmolek merged commit 2020ea2 into main Oct 25, 2026
4 checks passed
@DennisSmolek
DennisSmolek deleted the feat/pixi3d-example branch October 25, 2026 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant