mirror of
https://github.com/leozide/leocad.git
synced 2026-10-26 22:10:32 +00:00
Library and project name registries were accessed directly by source discovery, cache processing and UI consumers. Centralize their storage and index operations in a library-owned lcPieceManager, with ordered borrowed snapshots and copied file metadata for worker include lookup. Keep source resolution, reference counts, unload/deletion policy, cache I/O and existing synchronization in lcPiecesLibrary. Preserve project-index collisions, name normalization and reentrant teardown ordering while routing registration changes through the manager. Return the GetParts snapshot by value, name model rename/reservation operations RenameModelPieceData, and centralize manager forward declarations in the PCH. Document the registry boundary and register the new files in qmake. Validation: macOS Qt 6.10 Debug build, whitespace checks and 35 offscreen lifecycle checks, including archive/directory cold and warm caches, source precedence, worker includes, borrowed snapshot lifetimes, rename collisions, project transfer and nested external-project destruction. Successful GPU rendering is not covered by the offscreen checks.