midori241の時計はクラス化される前段階なので、OffscreenCanvas生成・動画再生・SVG描画・メッシュ生成をひとまとめにしたPromiseを返す。このPromiseが解決すると、そのままThree.jsのPlaneGeometryが返る。
video.play() を呼び、再生に成功したタイミングで animate() を呼び出し、毎フレーム OffscreenCanvas を更新する。createInteractivePlane() が CanvasTexture と PlaneGeometry を組み合わせ、中間メッシュを返す。texture.needsUpdate は animate 内で自動的に更新される。scene.add(interactiveUI) が呼ばれ、1 枚の HUD メッシュとして表示される。video.play() が失敗することがあり、その場合は Promise が reject されてコンソールにエラーが出たまま止まる。この挙動が midori242 でクラス化される動機になった。