Scene Manager: named LODs

{lod} in SCENE_MANAGER_LOD_COLLECTION now matches any name (COL_bob_LODhigh
as well as COL_bob_LOD0). SCENE_MANAGER_LODS (high, mid, low) sets the
button order and the LOD shown on load; unlisted LODs follow, numbers in
order, then names A-Z. It replaces SCENE_MANAGER_DEFAULT_LOD. The LOD of
Selected buttons get their own line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
NDemaerschalkandClaude Opus 5.5 committed 2026-10-27 16:46:36 +01:00
1 parent bac7a6f5da
commit 6ec2b228ae
8 files changed
+80 -61

No files matched your search

+3 -2
View File
@@ -42,7 +42,7 @@ that contains this repo on `sys.path` and importing the repo folder name (see
1. `blender -b --factory-startup --python dev/make_test_assets.py -- <workdir>`
2. `python dev/fake_libreflow.py <workdir>` (keep running; restart for a clean state)
3. `blender -b --factory-startup --python-exit-code 1 --python dev/test_scene_manager.py -- <workdir>`
(58 checks, "All checks passed"). `/_test/publish` and `/_test/download` simulate a new
(60 checks, "All checks passed"). `/_test/publish` and `/_test/download` simulate a new
publish and a requested revision reaching this site.
The fake server follows the real `wtdcmds` replies; check them against the real
Libreflow when one is available.
@@ -72,7 +72,8 @@ that contains this repo on `sys.path` and importing the repo folder name (see
- Removing a library leaves the libraries it linked indirectly (e.g. Blender's
`geometry_nodes_essentials.blend`): `remove_unused_libraries()` drops the ones whose data
is no longer used, never a managed library.
- LODs are child collections of the asset collection (`COL_{asset}_LOD{n}`). Overrides
- LODs are child collections of the asset collection (`COL_{asset}_LOD{lod}`, any name,
ordered by `SCENE_MANAGER_LODS`, then numbers, then names; the first is the default). Overrides
switch by `hide_viewport`/`hide_render` on the LOD override collections: Blender stores
them as override properties (kept through save, reload and resync) and hidden LODs are
not evaluated. Collection instances instance the LOD collection itself. A second override's