AppConfig Persistence Fixes: - Fix constructor to properly handle null localStorage values - Add null check before JSON.parse to prevent errors - Create fresh config copies with spread operator to avoid reference issues - Add better error handling and logging for config loading - Initialize handles array properly React ConfigModal Improvements: - Fix config initialization to get fresh values on render instead of stale module-level values - Separate useEffect hooks for each config property (prevents unnecessary updates) - Fix SegmentedControl string-to-number conversion (locationSnaps now use "0.01", "0.1" format) - Enable/disable logic now properly sets values to 0 when disabled Handle Storage Consolidation: - Create dynamic HandleConfig type with Vec3 for serializable position/rotation/scale - Add handles array to AppConfigType for flexible handle storage - Replace individual localStorage keys with centralized AppConfig storage - Add handle management methods: getHandleConfig, setHandleConfig, removeHandleConfig, getAllHandleConfigs - Update Handle class to read from AppConfig instead of direct localStorage - Update dropMesh to save handles via AppConfig using Vec3 serialization - Convert between BabylonJS Vector3 and serializable Vec3 at conversion points Benefits: - Single source of truth for all configuration - Proper localStorage persistence across page reloads - Dynamic handle creation without code changes - Type-safe configuration with proper JSON serialization - Consolidated storage (one appConfig key instead of multiple handle-* keys) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| functions | ||
| types | ||
| toolbox.ts | ||