New features:
- Add SLDPRT (SolidWorks) converter via FreeCAD + OpenCASCADE pipeline
- Add IGES/IGS and BREP format support via format-aware Python scripts
- Add 3MF and DAE format support via trimesh/Assimp converter
- Add loading overlay component with progress bar and phase text
- Enable STP files by default in format registry
Portability:
- Remove all hardcoded user paths, use process.env.LOCALAPPDATA for discovery
- Fix .split("/") path separator issues (scene.ts, app.ts, helper-buttons.ts)
- Add macOS Apple Silicon Homebrew paths (/opt/homebrew/bin/)
- Fix escapePyStr + raw string double-escaping (pyPath normalizes to forward slashes)
- Add maxBuffer to all execFileAsync calls (50MB)
Bug fixes:
- Fix OBJ load errors silently swallowed (now re-throw after logging)
- Fix explode position drift on repeated set/reset cycles (store original center)
- Fix explode uses world-space position (switch to local position)
- Fix picking highlight material leak when mesh disposed externally
- Fix grid layerMask collision in compose presets (one cell = one bit)
- Fix renderScale/quality inconsistency (track currentQuality)
- Fix stale loading flag drops model path changes (pendingPath mechanism)
- Fix persist() unhandled rejection on save failure
- Fix Python injection via double-quote in paths (reject quotes in pyPath)
- Fix PLY face indices parsed as floats (Math.round)
- Fix PLY face indices no bounds checking (skip out-of-range)
- Fix ASCII STL produces confusing error (detect and warn)
- Fix WebGL engine leak on live-preview load error
- Fix DirectView race condition on rapid file loads (generation counter)
- Fix MutationObserver not disconnected on code-block load error
- Fix auto-save timer fires after plugin unload (add dispose)
- Fix duplicate conversions on concurrent requests (in-flight dedup)
Other:
- Rewrite README with comprehensive usage, third-party setup, and demo page
- Add docs/demo.md with 11 feature walkthrough sections
- Remove dead code (freecad-stub.ts)
Babylon.js-powered 3D viewer for Obsidian with support for
GLB, GLTF, STL, OBJ, and SPLAT formats. Features include
multi-model grid rendering, preset layouts, knowledge note
generation, and snapshot export.