- Created scene graph-based rendering system (SceneNode, Box3D, Vector3D)
- Implemented CabinetSceneBuilder for parametric cabinet part calculation
- Added orthographic camera system with multiple view directions
- Created PDF and SVG exporters with architectural blueprint support
- Added RenderCabinetProcess for UI-triggered cabinet rendering
- Added DownloadRenderArtifactProcess with FILE_DOWNLOAD adornment
- Configured RenderArtifact with heavy field handling for blob storage
- Added JaCoCo for test coverage (70% line / 50% branch thresholds)
- Added comprehensive unit and integration tests (158 tests passing)
- Deleted POC code (com.kof22.cabinetmaker package)
Configure lookup tables to show their child records on entity pages:
- MaterialType: Materials
- CabinetType, FaceType, ToeKickStyle, DoorStyle, DoorPanelStyle,
DrawerFrontStyle, DrawerSlideType, EdgeProfile, FinishedEndStyle: Cabinets
- OpeningType: Cabinet Openings
- PartType: Parts
- UnitSystem: Projects
Each lookup table now has @ChildTable annotation, section, and exposed
join configuration to enable child record queries and UI widgets.
Configure parent entities to display child records on entity pages:
- Project: Cabinets, Cut Lists, Render Jobs sections
- Cabinet: Openings and Parts sections
- CabinetOpening: Parts section
- CutList: Cut List Items section
- RenderJob: Render Artifacts section
Each parent now has proper QJoinMetaData and ExposedJoin configuration
in the TableMetaDataCustomizer to enable child record queries and UI.
Core features:
- Project, Cabinet, CabinetOpening, Part entities for cabinet management
- 13 lookup tables (materials, styles, types) with descriptions
- Cut list and render job tracking
- Example project "Modern Kitchen Remodel" with sample data
Infrastructure:
- PostgreSQL backend with Liquibase migrations
- Material Dashboard SPA via IsolatedSpaRouteProvider
- FULLY_ANONYMOUS auth for local development
- 4 apps: Projects, Setup, Prints, Admin