Phase 1-7 of Canvas V4 Ralph Loop implementation:
Backend:
- Add /api/files routes for browsing model files
- Add /api/nx routes for NX model introspection
- Add NXIntrospector service to discover expressions and extractors
- Add health check with database status
Frontend:
- Add FileBrowser component for selecting .sim/.prt/.fem files
- Add IntrospectionPanel to discover expressions and extractors
- Update NodeConfigPanel with browse and introspect buttons
- Update schema with NODE_HANDLES for proper flow direction
- Update validation for correct DesignVar -> Model -> Solver flow
- Update useCanvasStore.addNode() to accept custom data
Flow correction: Design Variables now connect TO Model (as source),
not FROM Model. This matches the actual data flow in optimization.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>