OffscreenCanvas worker rendering: no verified fiber v10/WebGPU story yet (blocks webgl_worker_offscreencanvas port)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- react, three.js, typescript
- Ambito
- computer-graphics, frontend, web-dev
Direzione di ricerca
Inizia da docs/REVIEW-QUEUE.md §1b e dal documento preparato docs/upstream-issues/B54-fiber-offscreencanvas.md. Poi esamina @react-three/offscreen e createRoot() e l’entry /webgpu di fiber per un canvas trasferito in un Worker dedicato. Il lavoro è completato quando una soluzione WebGPU v10 in Worker è verificata e documentata, oppure quando il suo stato irrisolto è registrato chiaramente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What
webgl_worker_offscreencanvas (the official example that transfers an OffscreenCanvas
to a Web Worker and renders entirely off the main thread) is unported. Not because the
technique is unsupported in principle, but because nobody has verified the userland glue
end to end against this stack (@react-three/[email protected], /webgpu entry).
Investigated 2026-09-07 (UPSTREAM.md brief B54, draft ready to paste at
docs/upstream-issues/B54-fiber-offscreencanvas.md):
- fiber's
createRoot()is already typed forOffscreenCanvasand has a genuine runtime
branch (computeInitialSize()reads.width/.heightdirectly when there's no DOM
element to measure) — tracing back to already-merged PRs (#2770, #2495, #2493). The
low-level primitive is more capable than documented. - What's actually missing is (1) no documented worker entry point / no confirmation
WebGPURendererconstruction succeeds against a transferred canvas inside a dedicated
Worker, and (2) no event/resize forwarding story across thepostMessageboundary. - A pre-existing sibling package,
@react-three/offscreen, already implements the
higher-level pieces (worker creation, canvas transfer, event forwarding) but is
unverified against fiber v10's/webgpuentry — its peer range doesn't even cap below
v10, and it was last published 2025-01-30. - The actual r185 original is simpler than the general problem: it's a one-shot canvas
transfer + init payload with no live event forwarding, so a faithful port of THIS
specific demo only needs the "documented entry point" half, not the event-bridge half.
Why it matters
Dennis, 2026-09-07: wanted, not skipped — an OffscreenCanvas story is something the
gallery should eventually offer. Blast radius is one demo category today (this is the only
OffscreenCanvas example in the r185 corpus), but the capability gap is real and worth
tracking rather than re-discovering later.
Recommendation already on file
Stays blocked until fiber (or @react-three/offscreen) has a documented/verified v10
WebGPU worker story. docs/upstream-issues/B54-fiber-offscreencanvas.md has a full
issue draft ready to paste upstream (framed as a feature-request/audit ask, cheapest path
first: a short fiber docs page pointing at @react-three/offscreen with an explicit
verified-or-not statement for v10/WebGPU).
Pointer
docs/REVIEW-QUEUE.md §1b (Phase 2 — three things an agent cannot decide), the
OffscreenCanvas bullet. The other two bullets in that entry (WebXR, @react-three/rapier)
are already decided and recorded in the Resolved table — this issue covers only the
OffscreenCanvas part, which is what remains open.
- Lingua principale
- TypeScript
- Stelle
- 2
- Fork
- 2
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pmndrs/react-three-examples
-
Mechanical sweep: prefer plain 'as X' over 'as unknown as X' where the compiler allows itForse già presa @KuraPiee l’ha presa 36 giorni fa. Apertagood first issue
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
-
webgl_batch_lod_bvh: blocked on an upstream packaging gap in @three.ez/batched-mesh-extensionsApertaenhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 50/100
Tutte le issue di pmndrs/react-three-examples
Issue simili
-
area:security documentation effort:S priority:P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
app:web meta:ops
Difficoltà 2/5 Mezza giornata Idoneità per principianti 78/100
osu-tournament-rating/otr#1113 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
typegoose/mongodb-memory-server#1040 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 92/100