Generate SDF glyphs for viewport overlays with configurable text and halo colors. Render view-sphere labels directly on the sphere surface from a compact vertical atlas, fitting translated labels to the printable area. Preserve the bitmap paths when shader objects are unavailable.
Replace the saved history entry pointer with monotonic revision IDs so branching after undo cannot leave a dangling marker or accidentally reuse an address. Preserve selection-only history behavior and prevent merges from modifying the saved revision.
Remap renamed submodel IDs in pending, undo, and redo snapshots so restoring an older edit continues to resolve the live submodel. Update the renamed model's property snapshots as well while preserving saved-history entry identity.
Include the current step, Add Keys mode, and property edit ID in the history merge key so repeated edits do not coalesce across timeline contexts. Replace the packed property ID representation with an explicit typed field and separate mergeable history creation from ordinary edits.
Add a camera-facing rotation ring with hover feedback, and replace free XYZ rotation with a trackball interaction. Improve rotation-disc feedback, cursor behavior, snapping, and submodel transform handling.
• Replace legacy union/char* profile storage with std::variant<int,uint,float,QString,QStringList,QByteArray> and QString for section/key; remove LC_PROFILE_ENTRY_TYPE/mType.
• Update getters/setters to use std::get_if defaults; add lcProfileInit() and fix a "Settgins" typo.
• Convert color profile accessors to unsigned (lcGet/SetProfileUInt) where appropriate.
• Add LC_PROFILE_PARTS_LIST_COLOR_LOCKED and migrate PartsList color logic (preserves legacy -1 behavior).