Current Issues with CameraManager.ts (408 lines):
- Complex camera type switching and view management in a single file.
- Animation system is mixed with camera controls.
- Transition logic is tightly coupled with camera management.
Recommended Modularization Structure:
camera/
├── CameraManager.ts (main orchestrator)
├── types/
│ ├── PerspectiveCameraController.ts
│ └── OrthographicCameraController.ts
├── views/
│ ├── ViewManager.ts
│ └── ViewAnimator.ts
├── controls/
│ ├── OrbitControlsManager.ts
│ └── CameraTransitions.ts
└── utils/
├── cameraCalculations.ts
└── viewHelpers.ts
Actionable Steps:
- Extract camera type controllers into the
types/ directory.
- Move view management and animation into the
views/ directory.
- Separate controls and transition logic into the
controls/ directory.
- Move helper and calculation utilities into the
utils/ directory.
- Use
CameraManager.ts as the main orchestrator that delegates responsibilities.
- Gradually migrate logic from
CameraManager.ts into these new modules for clarity and maintainability.
Current Issues with
CameraManager.ts(408 lines):Recommended Modularization Structure:
Actionable Steps:
types/directory.views/directory.controls/directory.utils/directory.CameraManager.tsas the main orchestrator that delegates responsibilities.CameraManager.tsinto these new modules for clarity and maintainability.