Commit Graph
21 Commits
Author SHA1 Message Date
Leonardo Zide baae697960 Fix in-place submodel editing context and navigation
In-place editing could use the tab model's step and focus, lose its active
state after switching tabs, or resolve a nested instance through the wrong
parent. Entering before the final animation key also moved geometry when
drilling into a child.

Use the edited model for step controls, step edits, visibility, and focus
coordinates. Restore that editing target when returning to its tab, include
animation keys and finite hide steps in the last step, and retain the
selected instance path and transforms during nested editing.

Show the editing path only during in-place edits, with links to ancestors
and a close control to return to the tab model. Stack Find/Replace beneath
it and preserve full names in accessible text and tooltips. Add translated
source entries without changing existing translations.

Add a regression test for final-key tracking through time and key edits.
Validated with the macOS Qt 6 application build, all 8 Qt Test cases, and
51 focused checks against the compiled application for steps, tab switching,
focus status, breadcrumbs, and Find/Replace layout. Visually checked the
viewport overlay and its placement during nested editing.
2026-10-24 12:39:25 -07:00
Leonardo Zide 851eecee50 Store only changed objects in edit undo history
Full before-and-after model snapshots accumulate large amounts of memory during editing, even when an operation changes only one object. Compact completed edits to retain only added, removed, or modified object states, with ordering metadata kept only for structural changes.

Restore objects by stable IDs, including group relationships, and detach views before removing cameras. Compose merged edits from their deltas and compare animation keys as well as current property values so keyframe-only edits remain undoable.
2026-10-21 10:48:24 -07:00
Leonardo Zide a8e37df8ce Whitespace cleanup. 2026-03-10 21:11:40 -07:00
Leonardo Zide fb71e545a9 Saved undo data as structures. 2026-02-11 20:15:26 -08:00
Leonardo Zide c8dca012f9 Replaced bool Ortho with lcCameraProjection::Orthographic for clarity. 2026-02-03 21:46:00 -08:00
Leonardo Zide 4de6c095e4 Save the entire object state to the undo buffer instead of only key frames. 2025-12-04 17:41:04 -08:00
Leonardo Zide 6df16f5742 Added step insert and delete actions. 2025-11-19 22:34:53 -08:00
Leonardo Zide bf8e4cb8fa Merged Blender point/spot radius into a single setting. 2025-08-31 10:41:07 -07:00
Leonardo Zide ff46834f98 Set spinbox and ladder steps based on context. 2025-06-28 11:11:05 -07:00
Leonardo Zide cb6a836178 Use unique_ptr to control group ownership. 2024-05-27 11:43:36 -07:00
Leonardo Zide 14d1217850 Replaced property specific functions with the generic function. 2024-04-14 11:08:30 -07:00
Leonardo Zide 3528817d22 Split light size into different variables per type. 2024-04-07 12:48:41 -07:00
Leonardo Zide 5d5274b2b4 Split light power into different properties for Blender and POV-Ray. 2024-04-07 11:28:54 -07:00
Leonardo Zide 69ae4ea492 Added POV-Ray prefix to spot tightness and area grid 2024-04-06 18:50:37 -07:00
Leonardo Zide 66f4e42e2d Renamed attenuation to POV-Ray Fade for clarity 2024-04-06 17:29:15 -07:00
Leonardo Zide 39bdb1aa0a Added multi state support to colors. 2024-02-19 14:54:45 -08:00
Leonardo Zide a42d86394c Support toggling key frames. 2024-01-21 12:53:18 -08:00
Leonardo Zide 2f40cf5bc7 Merged property serialization functions. 2024-01-15 17:11:03 -08:00
Leonardo Zide d6499bfeb0 Don't create default key frame for all properties. 2024-01-15 16:48:09 -08:00
Leonardo Zide 4785caac2a Added key frame widgets. 2024-01-14 17:41:01 -08:00
Leonardo Zide fbf174740f Moved object property to a separate file. 2024-01-07 11:39:34 -08:00