Feature: Gizmos API for scene viewport
Current State
The scene viewport has no visualization or interaction tools for editing objects in-world. No gizmo rendering or picking exists.
Tasks:
- Design the Gizmos API (drawing primitives: lines, boxes, spheres, text, etc.)
- Implement renderer for gizmos in the scene viewport
- Add interaction API: hover detection, manipulation handles (translate, rotate, scale)
- Implement standard transform gizmo (move/rotate/scale with snapping)
- Allow components/extensions to register custom gizmos
- Add gizmo visibility filters per layer/component
Acceptance Criteria:
- Gizmos can be drawn in the scene viewport using a simple API (DrawLine, DrawBox, DrawWireSphere, etc.)
- Standard transform gizmo works for translating, rotating, and scaling objects
- Custom components can register their own gizmo renderers
- Gizmos are interactive (clickable, draggable)
- Gizmo visibility can be toggled per type or layer