Skip to main content

Overview

The DoorNode represents a highly configurable parametric door that can be placed on walls. It supports various door configurations including panel designs, glass segments, swing directions, and commercial hardware. Key features:
  • Wall-mounted placement with configurable side
  • Segmented door leaf with panel, glass, or empty segments
  • Configurable frame, threshold, and handle
  • Swing direction and hinge side control
  • Commercial hardware support (door closer, panic bar)

Type Signature

Source: /home/daytona/workspace/source/packages/core/src/schema/nodes/door.ts

Fields

Inherited from BaseNode

string
required
Unique door identifier.Format: door_{randomString}Example: "door_a1b2c3d4e5f6g7h8"
string
required
Always set to "door".Default: "door"
string
Optional name for the door.Example: "Front Door", "Bedroom Door"
string | null
required
Reference to the parent level’s ID.Example: "level_abc123"Default: null
boolean
Controls door visibility.Default: true
CameraSchema
Optional camera viewpoint for the door.
any
Custom metadata for the door.Default: {}

Door-Specific Fields

[number, number, number]
required
Center position of the door in wall-local coordinate system.Format: [x, y, z] in metersDefault: [0, 0, 0]Example: [2.5, 1.05, 0] (2.5m along wall, 1.05m height center)Y coordinate represents the vertical center of the door (height/2, always at floor level).
[number, number, number]
required
Rotation of the door in radians.Format: [rx, ry, rz] in radiansDefault: [0, 0, 0]
'front' | 'back'
Which side of the wall the door is placed on.Values:
  • "front" - Front side of the wall
  • "back" - Back side of the wall
string
Reference to the wall node ID this door is attached to.Example: "wall_abc123"
number
required
Overall width of the door in meters.Default: 0.9Example: 0.9 (standard 90cm door), 1.2 (wide door)
number
required
Overall height of the door in meters.Default: 2.1Example: 2.1 (standard door height), 2.4 (tall door)
number
required
Thickness of the door frame members in meters.Default: 0.05Example: 0.05 (5cm frame)
number
required
Depth of the frame within the wall in meters.Default: 0.07Example: 0.07 (7cm deep frame)
boolean
required
Whether to show a door threshold.Default: true
number
required
Height of the door threshold in meters.Default: 0.02Example: 0.02 (2cm threshold)
'left' | 'right'
required
Which side the hinges are on.Default: "left"Values:
  • "left" - Hinges on the left side
  • "right" - Hinges on the right side
'inward' | 'outward'
required
Direction the door swings open.Default: "inward"Values:
  • "inward" - Door swings into the room
  • "outward" - Door swings out of the room
Array<DoorSegment>
required
Array of door leaf segments stacked from top to bottom.Default: Two panel segments with 0.4 and 0.6 height ratiosEach segment defines:
  • type: "panel", "glass", or "empty"
  • heightRatio: Proportion of door height (must sum to 1.0)
  • columnRatios: Horizontal divisions within the segment
  • dividerThickness: Thickness of dividers (default: 0.03)
  • panelDepth: Depth of raised/recessed panel (default: 0.01)
  • panelInset: Inset from segment edge (default: 0.04)
boolean
required
Whether to show a door handle.Default: true
number
required
Height of the door handle from the floor in meters.Default: 1.05Example: 1.05 (standard handle height)
'left' | 'right'
required
Which side the handle is on.Default: "right"Values:
  • "left" - Handle on the left side
  • "right" - Handle on the right side
[number, number]
required
Space between leaf edge and segment content area.Format: [horizontal, vertical] in metersDefault: [0.04, 0.04]Example: [0.04, 0.04] (4cm padding on all sides)
boolean
required
Whether to show a commercial door closer.Default: falseUsed for commercial or fire doors.
boolean
required
Whether to show an emergency panic bar.Default: falseUsed for emergency exits.
number
required
Height of the panic bar from the floor in meters.Default: 1.0Example: 1.0 (standard panic bar height)

DoorSegment Interface

'panel' | 'glass' | 'empty'
required
Type of door segment.Values:
  • "panel" - Raised or recessed panel
  • "glass" - Glazed segment
  • "empty" - Flush flat fill
number
required
Proportion of the door height this segment occupies.Example: 0.4 (40% of door height)All segment heightRatios must sum to 1.0.
Array<number>
required
Horizontal division ratios for columns within the segment.Default: [1] (single column)Example: [0.5, 0.5] (two equal columns), [1] (no division)
number
required
Thickness of dividers between columns in meters.Default: 0.03
number
required
Depth of raised (+) or recessed (-) panel in meters.Default: 0.01Example: 0.01 (raised 1cm), -0.01 (recessed 1cm)
number
required
Inset distance from segment edge to panel in meters.Default: 0.04

Example

Usage

Creating a Standard Interior Door

Creating a Glass Panel Door

Creating a Double Panel Door

Creating an Emergency Exit Door

Creating a Door with Glass Top Panel

Door Configuration

Doors support extensive configuration:
  • Dimensions: Width and height
  • Frame: Thickness and depth
  • Threshold: Optional with configurable height
  • Segments: Multiple segments with different types
  • Hardware: Handle, door closer, panic bar
  • Operation: Hinge side and swing direction

Coordinate System

Doors use wall-local coordinates:
  • Position is relative to the wall’s coordinate system
  • Y coordinate represents vertical center of the door
  • Side parameter determines which face of the wall