-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
user-storyUser story - individual deliverableUser story - individual deliverable
Description
As a homeowner, I want to define ceiling shapes beyond flat so that I can document vaulted, sloped, and custom ceiling geometries.
Parent Epic: #752 (EPIC-16: Floor Plans & Utility Tracking)
Priority: Could Have
Phase: 5 — Multi-Floor & Special Structures
Acceptance Criteria
- 1. The ceiling surface page includes a "Shape" editor section above the layer stack
- 2. Shape types are selectable: flat, barrel_vault, groin_vault, sloped, polygon, custom
- 3.
barrel_vaultshape has adjustable parameters: apex_height_mm, span direction (reference wall) - 4.
groin_vaultshape has adjustable parameters: apex_height_mm (vault peak above spring line) - 5.
slopedshape has adjustable parameters: min_height_mm, max_height_mm, slope_angle_degrees, reference_wall_id - 6.
polygonshape allows defining an arbitrary cross-section profile via vertex editing - 7.
customshape allows free-form profile path editing using bezier curves - 8. Each shape renders an SVG profile curve in the cross-section view showing the ceiling shape above the layer stack
- 9. Reference wall selection is available for sloped and vaulted shapes (dropdown of walls on the current floor)
- 10. Shape parameters are stored via the
PUT /api/floor-plans/floors/:floorId/ceiling-shapeendpoint as JSON - 11. Preset shapes (barrel_vault, groin_vault, sloped) show a preview with reasonable defaults before parameter adjustment
- 12. Switching shape type resets parameters to defaults for the new type (with confirmation if parameters were customized)
Notes
- Dependencies: FP-12 (FP-12: Ceiling & Floor Surface Layers #764) — ceiling surface view must exist
- This extends the basic ceiling shape rendering from FP-12 with full editing capabilities
- The profile curve is 2D (cross-section), not 3D — it shows the ceiling shape as seen from a side view
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
user-storyUser story - individual deliverableUser story - individual deliverable
Projects
Status
Backlog