CSS3DComponentManager のライフサイクル(midori236版)

1. displayCSS3DObject()

グローバルに `componentManager = new CSS3DComponentManager()` を生成。Calendar3D を init して登録するだけで、他のコンポーネントはまだ存在しません。

2. addComponent()

`Map` に `{ component, isVisible }` を保存。ここで animate コールバックを登録しますが、`object` という未定義参照が使われています。

3. setVisibility()

外部から呼ばれる想定ですが、Mapのエントリ構造と噛み合わず `component.object` が undefined。Visibility 切り替えはまだ実現できません。

4. removeComponent()

`css3dScene.remove(component.object)` を呼びますが、ここでも `object` が無くて失敗。Mapから delete するだけで終わります。

5. 結論

管理クラスの骨格は整っているものの、格納する構造とアクセス方法が噛み合っていません。旧サイトでは Calendar3D 1体だけなので問題が表面化していませんが、複数コンポーネントを扱うと即例外になります。