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