0.7.1
Added
- Bulk & whole-folder upload (#26) — upload many files at once, or a whole folder, and the folder structure is preserved as nested collections instead of being flattened into one.
- Memory tuning for small / busy servers — new optional settings:
VAULT_MAX_RENDER_JOBS(1) caps how many mesh renders run at once and shares the RAM budget across them;VAULT_MESH_RENDER_FACE_CHUNK_SIZE(200,000) bounds the renderer's peak memory;VAULT_USE_EMBEDDED_3MF_PREVIEW_FOR_LARGE_FILES(on) skips the costly XML parse for large 3MF files by using their embedded slicer preview.
Fixed
- Library scans no longer run out of memory on large libraries (#29) — building on the 0.7.0 caps (#24): files too large for the host's available RAM are skipped safely (still indexed, and 3MF keeps its embedded preview); the cap is now RAM-aware and honours the cgroup/Docker memory limit, not just host RAM; thumbnails render in float32 and process faces in chunks so peak render memory is bounded; and freed memory is returned to the OS between files so a long scan stops only ever climbing. A format-blind byte-size backstop (
VAULT_MESH_MAX_LOAD_MB, 200 MB) catches files the triangle estimate can't size up (e.g. a compressed 3MF whose mesh it can't read). - "All Models" shows the real library total (#30) — the counter only reflected models sitting at the top level, so a library organised entirely into folders showed
0. It now counts the whole, access-scoped library.
Notes
- No schema changes.
- New configuration (all optional, with defaults):
VAULT_MESH_MAX_LOAD_MB(200),VAULT_MESH_MEMORY_BUDGET_FRACTION(0.5 —0.30–0.35is safer on production hosts running other workloads),VAULT_MAX_RENDER_JOBS(1),VAULT_MESH_RENDER_FACE_CHUNK_SIZE(200000),VAULT_USE_EMBEDDED_3MF_PREVIEW_FOR_LARGE_FILES(true). See the configuration docs.