import { type FloorplanGeometry, type GeometryContext, type ItemNode } from '@pascal-app/core'; /** * Stage C floor-plan builder for item. * * Items can be parented to a wall, ceiling, slab, or another item. * Position is in the parent's local frame, so we walk the parent chain * via `ctx.resolve` to compute the world-space (level-local) transform. * * Mirrors `getItemFloorplanTransform` from editor/lib/floorplan/items.ts * but uses the registry's resolve callback instead of a node map. Logic * is identical so visual output matches the legacy. * * Returns a rotated rectangle of width × depth at the resolved position. * Phase 5 follow-up may render `asset.floorPlanUrl` as a custom image * overlay when present. */ type Transform = { x: number; y: number; rotation: number; }; export declare function resolveItemTransform(item: ItemNode, ctx: GeometryContext, cache?: Map<`block_${string}` | `building_${string}` | `bvent_${string}` | `cabinet-module_${string}` | `cabinet_${string}` | `ceiling_${string}` | `chimney_${string}` | `column_${string}` | `construction-dimension_${string}` | `cupola_${string}` | `door_${string}` | `dormer_${string}` | `downspout_${string}` | `duct-fitting_${string}` | `duct-segment_${string}` | `duct-terminal_${string}` | `elevator_${string}` | `eyebrow-vent_${string}` | `fence-gate_${string}` | `fence-opening_${string}` | `fence_${string}` | `floor-opening_${string}` | `guide_${string}` | `gutter_${string}` | `hvac-equipment_${string}` | `imesh_${string}` | `item_${string}` | `leanto_${string}` | `level_${string}` | `lineset_${string}` | `liquid-line_${string}` | `measurement_${string}` | `pipe-fitting_${string}` | `pipe-segment_${string}` | `pipe-trap_${string}` | `procedural-item_${string}` | `roof_${string}` | `rseg_${string}` | `rvent_${string}` | `scan_${string}` | `separator_${string}` | `shelf_${string}` | `site_${string}` | `skylight_${string}` | `slab_${string}` | `solarpanel_${string}` | `spawn_${string}` | `sseg_${string}` | `stair_${string}` | `structural-grid_${string}` | `tvent_${string}` | `unit_${string}` | `wall_${string}` | `window_${string}` | `zone_${string}`, Transform | null>): Transform | null; export declare function buildItemContextualDimensions(node: ItemNode, ctx: GeometryContext): FloorplanGeometry | null; export declare function buildItemFloorplan(node: ItemNode, ctx: GeometryContext): FloorplanGeometry | null; export {}; //# sourceMappingURL=floorplan.d.ts.map