Skip to content

feat(editor): implement Transform Gizmos (#90)#97

Merged
LyeZinho merged 5 commits into
mainfrom
39-skeletal-animation
May 14, 2026
Merged

feat(editor): implement Transform Gizmos (#90)#97
LyeZinho merged 5 commits into
mainfrom
39-skeletal-animation

Conversation

@LyeZinho
Copy link
Copy Markdown
Member

Summary

  • Implement Transform Gizmos for the Caffeine game engine editor
  • Add TransformGizmo class with W/E/R/Q keyboard shortcuts for mode switching
  • Support both 2D (Position2D, Scale2D, Rotation) and 3D (Position3D, Scale3D, Rotation3D) components
  • Axis hover highlighting in yellow
  • Shift key for snapping (16px for translate, 45° for rotate)
  • Real-time entity transform updates during drag
  • Integrated into existing SceneViewport architecture

Test Plan

  • Press W/E/R in Viewport to switch between Translate/Rotate/Scale modes
  • Hover over axes - should highlight in yellow
  • Drag axis - should constrain movement to that axis
  • Hold Shift + drag - should snap to grid
  • Entity transform updates in real-time during drag

LyeZinho added 5 commits May 14, 2026 21:55
Issue #90 - RF6.1 Transform Gizmos
…modes

- Add TransformGizmo class with W/E/R/Q keyboard shortcuts
- Support both 2D (Position2D, Scale2D, Rotation) and 3D (Position3D, Scale3D, Rotation3D) components
- Axis hover highlighting in yellow
- Shift key for snapping (16px translate, 45° rotate)
- Real-time entity transform updates during drag
- Integrated into SceneViewport

Closes #90
Resolve conflicts in CMakeLists.txt and SceneViewport.hpp
- Keep TransformGizmo.cpp in build
- Integrate TransformGizmo with main's render/undo system
- Add EditorContext.cpp and DebugHookRegistry.cpp
GLM is not available in CI. Replaced all glm::vec2 with Caffeine::Vec2
and glm::vec3 with Caffeine::Vec3 from the engine's math types.
@LyeZinho LyeZinho merged commit ddbd1c4 into main May 14, 2026
1 check passed
@LyeZinho LyeZinho deleted the 39-skeletal-animation branch May 14, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant