Overview
TheCeilingNode represents a ceiling surface within a level. Ceilings are defined by a polygon boundary with support for holes (for skylights, vents, etc.), and can have items attached to them (light fixtures, ceiling fans, etc.).
Key features:
- Polygon-based boundary definition
- Support for holes (skylights, ceiling vents)
- Configurable height
- Can host ceiling-mounted items (lights, fans, fixtures)
Type Signature
/home/daytona/workspace/source/packages/core/src/schema/nodes/ceiling.ts
Fields
Inherited from BaseNode
Unique ceiling identifier.Format:
ceiling_{randomString}Example: "ceiling_a1b2c3d4e5f6g7h8"Always set to
"ceiling".Default: "ceiling"Optional name for the ceiling.Example:
"Living Room Ceiling", "Suspended Ceiling"Reference to the parent level’s ID.Example:
"level_abc123"Default: nullControls ceiling visibility.Default:
trueOptional camera viewpoint for the ceiling.
Custom metadata for the ceiling.Default:
{}Ceiling-Specific Fields
Array of [x, z] coordinates defining the ceiling boundary.Format:
[[x1, z1], [x2, z2], [x3, z3], ...] in metersExample: [[0, 0], [5, 0], [5, 4], [0, 4]] (rectangular 5m × 4m ceiling)Points should be ordered counter-clockwise to define the ceiling surface.Array of polygons representing holes in the ceiling (for skylights, vents, etc.).Default: Hole polygons should also be ordered counter-clockwise.
[]Format: Each hole is an array of [x, z] coordinatesExample:Height of the ceiling from the level floor in meters.Default:
2.5Example: 2.5 (standard 2.5m ceiling height), 3.0 (high ceiling)This defines the vertical position (Y coordinate) of the ceiling surface.Array of item node IDs attached to this ceiling (lights, fans, fixtures).Default:
[]Example: ["item_light_001", "item_fan_001"]Ceiling-mounted items reference the ceiling and their position on it.Example
Usage
Creating a Simple Rectangular Ceiling
Creating a Ceiling with Skylight
Creating an L-Shaped Ceiling
Suspended Ceiling with Multiple Holes
Adding Ceiling-Mounted Lights
Ceiling Geometry
The ceiling is rendered as a horizontal surface at the specified height:- Boundary: Defined by the polygon vertices
- Holes: Cut-out regions within the boundary
- Height: Y coordinate of the ceiling surface
Coordinate System
Ceilings use 2D coordinates in the level’s XZ plane for the polygon:- X axis: horizontal (left-right)
- Z axis: horizontal (front-back)
- Y axis: vertical (defined by height property)