Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

OffscreenCanvas worker rendering: no verified fiber v10/WebGPU story yet (blocks webgl_worker_offscreencanvas port)

Aperta
#2 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

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

enhancement
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 for OffscreenCanvas and has a genuine runtime
    branch (computeInitialSize() reads .width/.height directly 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
    WebGPURenderer construction succeeds against a transferred canvas inside a dedicated
    Worker, and (2) no event/resize forwarding story across the postMessage boundary.
  • 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 /webgpu entry — 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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di pmndrs/react-three-examples

Tutte le issue di pmndrs/react-three-examples

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.