Skip to content

feat: Imperial scale migration, editable dimension inputs, and wall U…#164

Open
ignitedvisions wants to merge 1 commit intopascalorg:mainfrom
ignitedvisions:main
Open

feat: Imperial scale migration, editable dimension inputs, and wall U…#164
ignitedvisions wants to merge 1 commit intopascalorg:mainfrom
ignitedvisions:main

Conversation

@ignitedvisions
Copy link

Description

Migrates the Pascal 3D editor from a standard Metric scale to native Imperial (Feet) architectural units, optimizing the UI panels and drawing tools for precise room layout generation.

Core Features & UI Fixes:

  • Imperial (Feet) Migration: Converted Wall, Slab, Window, Door, Ceiling, Roof, and Item panels to display ft and calculate boundaries correctly under the x3.28 factor. site-edge-labels now correctly renders "ft" across the 3D grid bounds.
  • Editable Wall Length: Replaced the static read-only area on the Wall Panel with a dynamic Length input field. Modifying the length mathematically projects the new End Z and End X coordinates while strictly preserving the wall's pivot angle.
  • Magnetic Endpoint Snapping: Upgraded the WallTool cursor engine. During wall generation, if the cursor approaches within 1.0ft of an existing wall's endpoints, it magnetically snaps to those exact coordinates to create airtight room corners.
  • Architectural Schema Defaults: Newly generated walls now default to standard architectural bounds (10ft height, 6-inch thickness) rather than parsing raw metric conversions (which defaulted to 98.4ft sizes).
  • UI Jitter Stabilization: Fixed flex-box container layout shifts in MetricControl causing the panel menus to shake/jitter while typing X & Y coordinates.
  • TypeScript Patches: Integrated missing dimension parameters (length, height, leftWidth, rightWidth) back into the RoofNode strict schema definitions to ensure proper Next.js compilation.
  • Camera Bounds Integration: Reverted CameraControls viewport to standard orbit/pan interactions, and pushed the default Isometric setLookAt vector out to [65,65,65] to correctly frame the new imperial unit scaling.

Type of change

  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • UI/UX enhancement

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant