Commit Graph
74 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 7bc6c018b1 Rename PieceInfo to lcPieceData
Use PieceData consistently for the shared part/model record, its related
APIs and variables, and its source files. Keep the existing reference
counting and loading behavior so ownership and readiness changes can be
reviewed separately.
2026-10-18 23:22:28 -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 576f9fe13e Moved hidden state to lcObject. 2026-02-03 23:02:24 -08:00
Leonardo Zide c627e1608e Merged selection/focus code in the lcObject class. 2026-01-25 23:01:47 -08:00
Leonardo Zide 8342e147cf Added RemoveFromSelection action. 2026-01-10 21:34:21 -08:00
Leonardo Zide 75ac6fe0cb Removed unused SetSelected override. 2026-01-03 10:14:45 -03:00
Leonardo Zide 6334c159a9 Removed add piece action. 2025-12-28 15:21:09 -03:00
Leonardo Zide 2741b86e9c Don't save selection in object edit actions. 2025-12-21 13:39:34 -03: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 cb6a836178 Use unique_ptr to control group ownership. 2024-05-27 11:43:36 -07:00
Leonardo Zide 80d144fea8 Array cleanup. 2024-05-26 13:01:34 -07:00
Leonardo Zide 39bdb1aa0a Added multi state support to colors. 2024-02-19 14:54:45 -08:00
Leonardo Zide db24fab6d7 Support changing multiple bool properties at the same time. 2024-02-19 12:32:19 -08:00
Leonardo Zide a42d86394c Support toggling key frames. 2024-01-21 12:53:18 -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
Leonardo Zide 9b4e6d6a65 Updated camera to lcObjectProperty. 2023-12-28 11:32:25 -08:00
Leonardo Zide 086be790d0 Removed Get/SetValue. 2023-12-28 10:27:00 -08:00
Leonardo Zide e4f4df4376 Use lcObjectProperty in Piece. 2023-12-28 10:21:52 -08:00
Leonardo Zide eeabc06c49 Added lcObjectProperty class. 2023-12-27 12:03:41 -08:00
Leonardo Zide 2990afba08 Refactored lcObjectKeyArray::RemoveAll. 2023-12-27 10:21:25 -08:00
Leonardo Zide c2199eb6b0 Added serialization helper functions. 2023-10-01 16:24:42 -07:00
Leonardo Zide 86327196c2 Support rotating lights. 2023-09-04 10:59:16 -07:00
Leonardo Zide f24317e997 gcc fix. 2022-01-09 12:54:45 -08:00
Leonardo Zide 6ca5c160f1 Place new pieces relative to the side of the piece under the mouse. 2021-12-24 15:42:37 -08:00
Leonardo Zide 2d315d2ba2 Scan submodels when dragging a new piece into the model. 2021-12-23 17:27:38 -08:00
Leonardo Zide 7d884e6b5f Static analysis fixes. 2021-11-14 18:34:24 -08:00
Leonardo Zide 47661710db Don't create widgets when saving images from the command line. 2021-01-06 09:55:03 -08:00
Leonardo Zide 176b238faa Array cleanup. 2021-01-05 12:27:45 -08:00
Leonardo Zide cb710206b7 Moved key functions into a separate class. 2021-01-05 11:26:01 -08:00
Leonardo Zide 2d7aba8895 Use QString for object names. 2020-12-13 16:27:21 -08:00
Leonardo Zide 2390feb88f Deleted unsafe default operations. 2020-05-03 15:39:39 -07:00
Leonardo Zide 5a76f4c870 Scoped enums. 2020-04-18 19:45:21 -07:00
Leonardo Zide b9662dd3e0 gcc fix. 2020-03-22 20:32:04 -07:00
Leonardo Zide 752ae54788 Fixed interface draw location in active submodels. 2018-04-07 17:17:32 -07:00
Leonardo Zide 51bbdb9b97 Added option to remove key frames from selected objects. 2018-02-24 12:47:19 -08:00
Leonardo Zide 636e013455 Removed lcint types. 2017-12-02 12:22:04 -08:00
Leonardo Zide 470be6b7a9 New piece free movement mode. 2017-11-12 19:38:07 -08:00
leozide c924b90955 Converted include guards to pragma once. 2017-07-19 14:20:32 -07:00
leo a0db9ce210 Added synth support for shock absorbers. 2016-05-01 00:20:37 +00:00
leo 9c8a602a09 Fixed accessing const arrays as non-const. 2016-04-19 18:37:50 +00:00
leo d715c316a6 Allow changing multiple pieces at the same time using the properties widget. 2015-12-22 22:44:46 +00:00
leo a035bf7ed1 Move pivot point with the mouse. 2015-12-14 18:01:17 +00:00
leo 7f7a93e015 Added shader support. 2015-05-16 23:04:35 +00:00
leo 5dc511d56a Fixed steps and keyframes not saving correctly. 2015-03-24 15:12:39 +00:00
leo 12d0094806 Store piece transformations as matrices to allow scaling. 2015-01-10 20:30:37 +00:00
leo d4ab2e9f90 More cleanup. 2014-11-29 02:55:58 +00:00