🧬 OffscreenCanvas HUD パイプライン

midori242 では ClockDisplay と VideoDisplay を同時初期化し、OffscreenCanvas → CanvasTexture → Mesh → Raycaster の順で描画を繋ぎます。差分更新とクリック処理の位置も含めたパイプラインを SVG で可視化しました。

midori242 HUD pipeline OffscreenCanvas で SVG と動画を結合し、CanvasTexture を Three.js Mesh に適用する流れ。 ClockDisplay SVGテンプレート + OffscreenCanvas animationCallbacks.push(update) VideoDisplay 動画フレーム + OffscreenCanvas updateFrequency 30-90fps CanvasTexture needsUpdate=true PlaneGeometry 150×84.375 Three.js Mesh scene.add(clockMesh, videoMesh) Raycaster & CSS3D UV→SVG / pointer-events toggle

両コンポーネントは Promise.all で起動しますが、ClockDisplay は camera と DOM を引き渡すため先に start(camera, dom) を呼び、その後に update() を animationCallbacks に登録しています。Raycaster 側では UV を (1 - uv.y) で反転させた後、SVG のクリック矩形に変換して HUD の色変更・縮尺アニメーションを制御します。