Skip to content

feat: column node with door/window nodes improvement#292

Merged
wass08 merged 4 commits intopascalorg:mainfrom
sudhir9297:feat/mon-4-feat-fix
May 5, 2026
Merged

feat: column node with door/window nodes improvement#292
wass08 merged 4 commits intopascalorg:mainfrom
sudhir9297:feat/mon-4-feat-fix

Conversation

@sudhir9297
Copy link
Copy Markdown
Contributor

What does this PR do?

This PR significantly upgrades the door, window, column, and floorplan rendering systems, adding flexible shaped openings, a full procedural column workflow, cleaner floorplan visuals, and architecture cleanup that moves viewer-specific geometry out of core.

It enables:

  • Rectangle, rounded, and arch top shapes for windows and doors
  • Rounded and arched wall cutouts with reveal radius support
  • Door leaves, glass, rails, and panels that correctly follow curved shapes
  • A complete procedural column node, placement workflow, renderer, and settings panel
  • Cleaner separation between core schema/data and viewer geometry systems
  • Improved guide/reference image handling and reference scale UI behavior
  • Broader floorplan visual refinements across walls, openings, slabs, ceilings, stairs, roofs, items, and reference overlays
  • Updated first-person collision behavior for doors, windows, and walkthrough logic
  • Stronger material plumbing, UV mapping, icons, SVG item symbols, and viewer renderer integration

Door & Window Shapes

  • Added rectangle, rounded, and arch top shape support for windows.
  • Added rounded window corner controls, including individual corner radii.
  • Added rectangle, rounded, and arch top shape support for doors.
  • Added rounded door top-corner controls for top-left and top-right only.
  • Added reveal radius support for rounded window/door wall cutouts.
  • Added arched and rounded wall cutouts for windows and doors.
  • Added arch/rounded shape controls in the door and window property panels.
  • Added arch height controls for both regular items and opening-only mode.
  • Updated door/window schemas and panels for opening, shape, and material-related controls.

Door Rendering & Geometry

  • Updated door rendering so the door leaf itself follows the curved top shape when opening/closing.
  • Fixed curved door glass/panel segments so they render inside rounded/arched door leaves.
  • Fixed curved door segment dividers/rails to clip correctly inside the shaped door leaf.
  • Rebuilt arch door frame geometry to avoid broken/extra frame artifacts.
  • Switched arch curves to smoother elliptical arc geometry so the shoulders do not look sharp.
  • Added shallow-arch fallback for doors so low arch values render a proper head bar instead of a thin plane.
  • Fixed arch height slider commit behavior so values like 0.10 do not snap back to the default.
  • Moved door and window geometry systems from core into viewer systems.

Column System

  • Added a full column node schema in core, including dimensions, base/capital controls, shaft profile controls, rings, twist, bevel/softness, presets, and material fields.
  • Registered columns across core/node unions, scene registry, viewer node renderer, selection managers, sidebar tree, panel manager, and structure tool UI.
  • Added column placement and movement tools.
  • Added the column settings panel with presets, shaft controls, base/top controls, bevel/softness, rings, twist, and proportions.
  • Added column floating action support: move, delete, and duplicate.
  • Added the procedural column renderer.
  • Moved column geometry/UV helper generation into packages/viewer/src/systems/column/column-geometry.ts.
  • Added UV mapping support for column boxes, rounded boxes, cylinders, cones, spheres, and torus-like parts.
  • Added column tree node support in the site/sidebar panel.
  • Added/updated column icons.

Architecture & Tooling Cleanup

  • Removed the column tool's direct useViewer dependency; selection after placement is handled by ToolManager.
  • Moved guide/reference-scale UI events out of core into editor-local packages/editor/src/lib/guide-events.ts.
  • Moved door and window geometry systems from core into viewer systems.
  • Updated viewer systems/renderers for slab, ceiling, wall, roof, stair, fence, item, spawn, door, window, guide, and column integration.
  • Updated material plumbing and viewer materials support.

Guide & Reference Image Improvements

  • Added guide/reference image improvements, including local guide image handling.
  • Added replace/delete controls for guide images.
  • Added guide lock and visibility UI.
  • Added reference scale state.
  • Improved guide/reference-scale UI event ownership by keeping editor-only behavior in the editor package.

Floorplan & Reference Floor Improvements

  • Added floorplan/reference-floor improvements and large floorplan interaction updates.
  • Added or updated floorplan visuals for stairs, roofs, items, walls, openings, slabs, ceilings, and reference guides.
  • Improved floorplan rendering consistency across structural elements and item symbols.
  • Updated viewer systems/renderers for floorplan-facing slab, ceiling, wall, roof, stair, fence, item, spawn, door, window, guide, and column integration.

First-Person & Collision

  • Added/updated first-person collision world logic.
  • Updated door/window behavior so shaped openings and walkthrough rules match the intended geometry.
  • Improved collision integration for door, window, and opening workflows.

Item Symbols & Visual Assets

  • Added item floor-plan SVGs for office chair and sofa.
  • Added/updated column icons.
  • Updated material plumbing and viewer materials support.
  • Added UV mapping support for procedural viewer parts used by columns and related geometry.

@sudhir9297 sudhir9297 changed the title Feat/mon 4 feat fix feat: column node with door/window nodes improvement May 5, 2026
@wass08 wass08 merged commit 5f57e9b into pascalorg:main May 5, 2026
1 check passed
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.

2 participants