Commit Graph
7 Commits
Author SHA1 Message Date
arnav-hiwarkarandClaude Opus 5.5 1443ad0177 fix(viewer): gizmo arrows take precedence over box handles under them
Review on #1627: the X arrow tip can sit on a bounding-box handle (a 120 px
wide layer at 100%). The arrow is painted on top, but the press and hover
tests checked the handles first, so dragging it scaled the layer. Check the
arrows first in both, and cover the overlap with a pointer-input test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:53:12 +05:30
arnav-hiwarkarandClaude Opus 5.5 632ab4a292 fix(viewer): drag a 3D layer along a gizmo axis (#1618)
The 3D gizmo's X/Y/Z arrows were drawn but not interactive, so pushing a
layer in depth meant typing Z Position by hand. With the Selection tool,
dragging an arrow now moves the layer along that axis only (no snapping),
as one undo step, reusing the viewer's Move gesture.

An axis pointing at the camera (Z in the default front view) projected to
a dot; it is now drawn as a short diagonal stub so it can be grabbed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 12:03:01 +05:30
vangel76andClaude Sonnet 5.5 fa7ffb6d09 #670: each pane of a 2- or 4-view layout chooses its own view
Problem: the extra panes of View > Switch View Layout were fixed to Top, Front and Right, and the 3D View menu only changed the main view.

Fix: every extra pane has a view selector (Active Camera, Default, Front, Left, Top, Back, Right, Bottom, Custom View 1-3). The choice is kept per comp in Views3D::panes (serde default, so older editor states load with Top/Front/Right) and set by the new command view.setPaneView {pane 0-3, view}. The Active Camera pane renders through the comp camera.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-11 19:46:47 +02:00
vangel76andClaude Opus 5.5 f19f3a8a39 #875: layout views draw camera and light wireframes
Problem: in a 2- or 4-view layout the Top / Front / Right views drew no
camera or light wireframes, so moving a camera showed nothing there
(reported on Discord).

Fix: draw_rigs takes the view camera explicitly and a pane name for its
automation ids; aux_views draws the wireframes of each extra view through
that view's camera, clipped to the pane, with ids
viewer.view.<view>.camera.<id> / .light.<id>.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 18:24:57 +02:00
Claude 76c9abad50 Viewer: the 3D Renderer menu shows the comp's renderer and switches it (#307)
The Composition panel's bottom bar drew a hard-coded "Classic 3D"
dropdown that ignored the comp's renderer and did nothing when clicked,
so an Advanced 3D comp still read Classic 3D. It now shows the comp's
renderer (translated) and, as in After Effects, its menu switches it
through comp.settings (one undo step); the automation label is the
renderer's name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiAJeFttZp83Fh7YuzAR5f
2026-10-10 19:16:36 +00:00
Brandon ThomasandClaude Opus 5.5 baf4716246 M13.5: extended viewer (custom 3D views / Draft 3D render the pasteboard around the comp frame; view.extendedViewer)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 05:14:12 -04:00
Brandon ThomasandClaude Opus 5.5 16a5fa7a83 M7.2: 3D viewer — 3D views, camera tools, camera/light wireframes, Camera/Light Settings dialogs
- Viewer renders through the comp's 3D view (RenderOpts.view; FrameKey hashes
  the view camera), shows the view name, and the bottom-bar 3D View dropdown
  (automation id viewer.view3d) switches Active Camera/Front/…/Custom View 3.
- Orbit / Pan / Dolly tools drag the current view (camera layer in Active
  Camera, merged into one undo step; view cameras otherwise).
- Handles, gizmo and picking go through the view camera; 3D layers move in
  the view plane at their depth.
- Camera frustum + POI and light position/direction wireframes
  (viewer.camera.<id>, viewer.light.<id>).
- Camera Settings / Light Settings dialogs open from New Camera/Light,
  Camera/Light Settings and Layer Settings; OK runs the engine commands.
- Timeline: POI only for two-node cameras/auto-oriented lights; "Z Rotation"
  label on 3D layers.
- Headless egui_kittest tests (UI wiring + opt-in wgpu snapshots); fix the
  remaining workspace clippy lints.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:01:37 -04:00