@pascal-app/core 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-operations/__fixtures__/add-object-cases.d.ts +102 -90
- package/dist/agent-operations/__fixtures__/add-object-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/add-object-cases.js +301 -1
- package/dist/agent-operations/__fixtures__/add-stair-cases.d.ts +3 -0
- package/dist/agent-operations/__fixtures__/add-stair-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/add-stair-cases.js +176 -0
- package/dist/agent-operations/__fixtures__/build-room-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/build-room-cases.js +410 -40
- package/dist/agent-operations/__fixtures__/cases.d.ts +18 -3
- package/dist/agent-operations/__fixtures__/cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/cases.js +183 -4
- package/dist/agent-operations/__fixtures__/corner-window-cases.d.ts +3 -0
- package/dist/agent-operations/__fixtures__/corner-window-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/corner-window-cases.js +155 -0
- package/dist/agent-operations/__fixtures__/design-brief-cases.d.ts +14 -0
- package/dist/agent-operations/__fixtures__/design-brief-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/design-brief-cases.js +709 -0
- package/dist/agent-operations/__fixtures__/finish-cases.d.ts +7 -0
- package/dist/agent-operations/__fixtures__/finish-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/finish-cases.js +758 -0
- package/dist/agent-operations/__fixtures__/lot-info-cases.d.ts +3 -0
- package/dist/agent-operations/__fixtures__/lot-info-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/lot-info-cases.js +370 -0
- package/dist/agent-operations/__fixtures__/merge-windows-cases.d.ts +3 -0
- package/dist/agent-operations/__fixtures__/merge-windows-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/merge-windows-cases.js +321 -0
- package/dist/agent-operations/__fixtures__/native-materials.d.ts +2237 -0
- package/dist/agent-operations/__fixtures__/native-materials.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/native-materials.js +82 -0
- package/dist/agent-operations/__fixtures__/node-read-cases.d.ts +4 -0
- package/dist/agent-operations/__fixtures__/node-read-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/node-read-cases.js +639 -0
- package/dist/agent-operations/__fixtures__/notation-cases.d.ts +24 -0
- package/dist/agent-operations/__fixtures__/notation-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/notation-cases.js +356 -0
- package/dist/agent-operations/__fixtures__/place-items-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/place-items-cases.js +80 -2
- package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts +19726 -0
- package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/roof-bearing-cases.js +106 -0
- package/dist/agent-operations/__fixtures__/roof-cases.d.ts +9 -0
- package/dist/agent-operations/__fixtures__/roof-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/roof-cases.js +382 -0
- package/dist/agent-operations/__fixtures__/room-cases.d.ts +2 -1
- package/dist/agent-operations/__fixtures__/room-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/room-cases.js +136 -1
- package/dist/agent-operations/__fixtures__/scene-check-cases.d.ts +4 -0
- package/dist/agent-operations/__fixtures__/scene-check-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/scene-check-cases.js +417 -0
- package/dist/agent-operations/__fixtures__/search-assets-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/search-assets-cases.js +15 -3
- package/dist/agent-operations/__fixtures__/site-cases.d.ts +290 -0
- package/dist/agent-operations/__fixtures__/site-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/site-cases.js +780 -0
- package/dist/agent-operations/__fixtures__/structure-cases.d.ts +1 -0
- package/dist/agent-operations/__fixtures__/structure-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/structure-cases.js +630 -3
- package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts +311 -1
- package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/verify-scene-cases.js +59 -11
- package/dist/agent-operations/__fixtures__/view-assets-cases.d.ts +3 -0
- package/dist/agent-operations/__fixtures__/view-assets-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/view-assets-cases.js +155 -0
- package/dist/agent-operations/__fixtures__/view-scene-cases.d.ts +50 -0
- package/dist/agent-operations/__fixtures__/view-scene-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/view-scene-cases.js +425 -0
- package/dist/agent-operations/achieved.d.ts +5 -0
- package/dist/agent-operations/achieved.d.ts.map +1 -1
- package/dist/agent-operations/achieved.js +21 -1
- package/dist/agent-operations/add-column.d.ts.map +1 -1
- package/dist/agent-operations/add-column.js +3 -1
- package/dist/agent-operations/add-fence.d.ts +18 -0
- package/dist/agent-operations/add-fence.d.ts.map +1 -0
- package/dist/agent-operations/add-fence.js +48 -0
- package/dist/agent-operations/add-level.d.ts +4 -1
- package/dist/agent-operations/add-level.d.ts.map +1 -1
- package/dist/agent-operations/add-level.js +48 -12
- package/dist/agent-operations/add-object.d.ts +38 -9
- package/dist/agent-operations/add-object.d.ts.map +1 -1
- package/dist/agent-operations/add-object.js +172 -11
- package/dist/agent-operations/add-wall.d.ts +1 -3
- package/dist/agent-operations/add-wall.d.ts.map +1 -1
- package/dist/agent-operations/add-wall.js +35 -9
- package/dist/agent-operations/apply-changes.d.ts +7 -1
- package/dist/agent-operations/apply-changes.d.ts.map +1 -1
- package/dist/agent-operations/apply-changes.js +54 -22
- package/dist/agent-operations/apply-outcome.d.ts +6 -0
- package/dist/agent-operations/apply-outcome.d.ts.map +1 -1
- package/dist/agent-operations/apply-outcome.js +23 -8
- package/dist/agent-operations/asset-views.d.ts +75 -0
- package/dist/agent-operations/asset-views.d.ts.map +1 -0
- package/dist/agent-operations/asset-views.js +234 -0
- package/dist/agent-operations/author-scene.d.ts +157 -0
- package/dist/agent-operations/author-scene.d.ts.map +1 -0
- package/dist/agent-operations/author-scene.js +1076 -0
- package/dist/agent-operations/authored-scene-merge.d.ts +4 -0
- package/dist/agent-operations/authored-scene-merge.d.ts.map +1 -0
- package/dist/agent-operations/authored-scene-merge.js +96 -0
- package/dist/agent-operations/batch.d.ts +22 -0
- package/dist/agent-operations/batch.d.ts.map +1 -0
- package/dist/agent-operations/batch.js +104 -0
- package/dist/agent-operations/ceiling-object-observations.d.ts +31 -0
- package/dist/agent-operations/ceiling-object-observations.d.ts.map +1 -0
- package/dist/agent-operations/ceiling-object-observations.js +111 -0
- package/dist/agent-operations/corner-window.d.ts +19 -0
- package/dist/agent-operations/corner-window.d.ts.map +1 -0
- package/dist/agent-operations/corner-window.js +84 -0
- package/dist/agent-operations/create-roof.d.ts +32 -0
- package/dist/agent-operations/create-roof.d.ts.map +1 -0
- package/dist/agent-operations/create-roof.js +304 -0
- package/dist/agent-operations/create-room.d.ts +2 -0
- package/dist/agent-operations/create-room.d.ts.map +1 -1
- package/dist/agent-operations/create-room.js +73 -5
- package/dist/agent-operations/create-stair.d.ts +6 -28
- package/dist/agent-operations/create-stair.d.ts.map +1 -1
- package/dist/agent-operations/create-stair.js +187 -104
- package/dist/agent-operations/design-brief.d.ts +38 -0
- package/dist/agent-operations/design-brief.d.ts.map +1 -0
- package/dist/agent-operations/design-brief.js +300 -0
- package/dist/agent-operations/designs.d.ts +24 -0
- package/dist/agent-operations/designs.d.ts.map +1 -0
- package/dist/agent-operations/designs.js +48 -0
- package/dist/agent-operations/door-clearance.d.ts +16 -1
- package/dist/agent-operations/door-clearance.d.ts.map +1 -1
- package/dist/agent-operations/door-clearance.js +61 -4
- package/dist/agent-operations/duplicate-level.d.ts.map +1 -1
- package/dist/agent-operations/duplicate-level.js +2 -1
- package/dist/agent-operations/find-by-type.d.ts +14 -7
- package/dist/agent-operations/find-by-type.d.ts.map +1 -1
- package/dist/agent-operations/find-by-type.js +266 -43
- package/dist/agent-operations/furnish-room.d.ts +22 -1
- package/dist/agent-operations/furnish-room.d.ts.map +1 -1
- package/dist/agent-operations/furnish-room.js +66 -19
- package/dist/agent-operations/furniture-kind.d.ts +22 -0
- package/dist/agent-operations/furniture-kind.d.ts.map +1 -0
- package/dist/agent-operations/furniture-kind.js +69 -0
- package/dist/agent-operations/get-node.d.ts +5 -2
- package/dist/agent-operations/get-node.d.ts.map +1 -1
- package/dist/agent-operations/get-node.js +82 -10
- package/dist/agent-operations/hosted-services.d.ts +2 -1
- package/dist/agent-operations/hosted-services.d.ts.map +1 -1
- package/dist/agent-operations/index.d.ts +281 -69
- package/dist/agent-operations/index.d.ts.map +1 -1
- package/dist/agent-operations/index.js +66 -5
- package/dist/agent-operations/item-space.d.ts +22 -0
- package/dist/agent-operations/item-space.d.ts.map +1 -0
- package/dist/agent-operations/item-space.js +69 -0
- package/dist/agent-operations/layout-clearance.d.ts +52 -3
- package/dist/agent-operations/layout-clearance.d.ts.map +1 -1
- package/dist/agent-operations/layout-clearance.js +340 -30
- package/dist/agent-operations/level-height-fill.d.ts +12 -0
- package/dist/agent-operations/level-height-fill.d.ts.map +1 -0
- package/dist/agent-operations/level-height-fill.js +59 -0
- package/dist/agent-operations/level-reads.d.ts +5 -1
- package/dist/agent-operations/level-reads.d.ts.map +1 -1
- package/dist/agent-operations/level-reads.js +10 -3
- package/dist/agent-operations/list-levels.d.ts.map +1 -1
- package/dist/agent-operations/list-levels.js +23 -0
- package/dist/agent-operations/material-preset.d.ts.map +1 -1
- package/dist/agent-operations/material-preset.js +3 -9
- package/dist/agent-operations/material-refs.d.ts +7 -1
- package/dist/agent-operations/material-refs.d.ts.map +1 -1
- package/dist/agent-operations/material-refs.js +10 -5
- package/dist/agent-operations/merge-windows.d.ts +6 -0
- package/dist/agent-operations/merge-windows.d.ts.map +1 -0
- package/dist/agent-operations/merge-windows.js +27 -0
- package/dist/agent-operations/move-roofs.d.ts +9 -0
- package/dist/agent-operations/move-roofs.d.ts.map +1 -0
- package/dist/agent-operations/move-roofs.js +29 -0
- package/dist/agent-operations/paint.d.ts +2 -1
- package/dist/agent-operations/paint.d.ts.map +1 -1
- package/dist/agent-operations/paint.js +163 -53
- package/dist/agent-operations/photo-elevation.d.ts +155 -0
- package/dist/agent-operations/photo-elevation.d.ts.map +1 -0
- package/dist/agent-operations/photo-elevation.js +761 -0
- package/dist/agent-operations/place-in-room.d.ts +29 -0
- package/dist/agent-operations/place-in-room.d.ts.map +1 -0
- package/dist/agent-operations/place-in-room.js +403 -0
- package/dist/agent-operations/place-items.d.ts.map +1 -1
- package/dist/agent-operations/place-items.js +15 -2
- package/dist/agent-operations/plan-geometry.d.ts.map +1 -1
- package/dist/agent-operations/plan-geometry.js +3 -0
- package/dist/agent-operations/point-context.d.ts +139 -0
- package/dist/agent-operations/point-context.d.ts.map +1 -0
- package/dist/agent-operations/point-context.js +1 -0
- package/dist/agent-operations/project-files.d.ts +9 -0
- package/dist/agent-operations/project-files.d.ts.map +1 -0
- package/dist/agent-operations/project-files.js +25 -0
- package/dist/agent-operations/record-made.d.ts +18 -0
- package/dist/agent-operations/record-made.d.ts.map +1 -0
- package/dist/agent-operations/record-made.js +28 -0
- package/dist/agent-operations/roof-footprint.d.ts +24 -0
- package/dist/agent-operations/roof-footprint.d.ts.map +1 -0
- package/dist/agent-operations/roof-footprint.js +242 -0
- package/dist/agent-operations/roof-writes.d.ts +20 -0
- package/dist/agent-operations/roof-writes.d.ts.map +1 -0
- package/dist/agent-operations/roof-writes.js +165 -0
- package/dist/agent-operations/room-findings.d.ts +54 -0
- package/dist/agent-operations/room-findings.d.ts.map +1 -0
- package/dist/agent-operations/room-findings.js +143 -0
- package/dist/agent-operations/room-floor-script.d.ts +23 -0
- package/dist/agent-operations/room-floor-script.d.ts.map +1 -0
- package/dist/agent-operations/room-floor-script.js +54 -0
- package/dist/agent-operations/room-structure.d.ts +2 -2
- package/dist/agent-operations/room-structure.d.ts.map +1 -1
- package/dist/agent-operations/scene-checkpoint.d.ts +94 -0
- package/dist/agent-operations/scene-checkpoint.d.ts.map +1 -0
- package/dist/agent-operations/scene-checkpoint.js +176 -0
- package/dist/agent-operations/scene-queries.d.ts +3750 -3319
- package/dist/agent-operations/scene-queries.d.ts.map +1 -1
- package/dist/agent-operations/scene-queries.js +13 -23
- package/dist/agent-operations/scene-review.d.ts +52 -0
- package/dist/agent-operations/scene-review.d.ts.map +1 -0
- package/dist/agent-operations/scene-review.js +106 -0
- package/dist/agent-operations/scene-view.d.ts +82 -15
- package/dist/agent-operations/scene-view.d.ts.map +1 -1
- package/dist/agent-operations/scene-view.js +408 -51
- package/dist/agent-operations/search-assets.d.ts +2 -2
- package/dist/agent-operations/search-assets.d.ts.map +1 -1
- package/dist/agent-operations/search-assets.js +4 -3
- package/dist/agent-operations/search-materials.d.ts +9 -3
- package/dist/agent-operations/search-materials.d.ts.map +1 -1
- package/dist/agent-operations/search-materials.js +83 -29
- package/dist/agent-operations/set-checkpoint.d.ts +9 -0
- package/dist/agent-operations/set-checkpoint.d.ts.map +1 -0
- package/dist/agent-operations/set-checkpoint.js +31 -0
- package/dist/agent-operations/set-ground-level.d.ts +12 -0
- package/dist/agent-operations/set-ground-level.d.ts.map +1 -0
- package/dist/agent-operations/set-ground-level.js +61 -0
- package/dist/agent-operations/site.d.ts +21 -0
- package/dist/agent-operations/site.d.ts.map +1 -0
- package/dist/agent-operations/site.js +123 -0
- package/dist/agent-operations/types.d.ts +66 -7
- package/dist/agent-operations/types.d.ts.map +1 -1
- package/dist/agent-operations/verify-scene.d.ts +39 -5
- package/dist/agent-operations/verify-scene.d.ts.map +1 -1
- package/dist/agent-operations/verify-scene.js +223 -44
- package/dist/agent-operations/wall-face-script.d.ts +28 -0
- package/dist/agent-operations/wall-face-script.d.ts.map +1 -0
- package/dist/agent-operations/wall-face-script.js +62 -0
- package/dist/agent-operations/wall-object-observations.d.ts +41 -0
- package/dist/agent-operations/wall-object-observations.d.ts.map +1 -0
- package/dist/agent-operations/wall-object-observations.js +249 -0
- package/dist/agent-operations/wall-opening.d.ts +23 -23
- package/dist/agent-operations/wall-opening.d.ts.map +1 -1
- package/dist/agent-operations/wall-skirting.d.ts +24 -0
- package/dist/agent-operations/wall-skirting.d.ts.map +1 -0
- package/dist/agent-operations/wall-skirting.js +85 -0
- package/dist/agent-tools/add-object.d.ts +11 -7
- package/dist/agent-tools/add-object.d.ts.map +1 -1
- package/dist/agent-tools/add-object.js +17 -11
- package/dist/agent-tools/assets.d.ts +8 -0
- package/dist/agent-tools/assets.d.ts.map +1 -1
- package/dist/agent-tools/assets.js +13 -1
- package/dist/agent-tools/author-scene.d.ts +651 -0
- package/dist/agent-tools/author-scene.d.ts.map +1 -0
- package/dist/agent-tools/author-scene.js +252 -0
- package/dist/agent-tools/batch.d.ts +25 -0
- package/dist/agent-tools/batch.d.ts.map +1 -0
- package/dist/agent-tools/batch.js +61 -0
- package/dist/agent-tools/checkpoints.d.ts +13 -0
- package/dist/agent-tools/checkpoints.d.ts.map +1 -0
- package/dist/agent-tools/checkpoints.js +16 -0
- package/dist/agent-tools/clear-scene.d.ts.map +1 -1
- package/dist/agent-tools/collections.d.ts +6 -6
- package/dist/agent-tools/collections.d.ts.map +1 -1
- package/dist/agent-tools/columns.d.ts +18 -18
- package/dist/agent-tools/columns.js +2 -2
- package/dist/agent-tools/corner-window.d.ts +46 -0
- package/dist/agent-tools/corner-window.d.ts.map +1 -0
- package/dist/agent-tools/corner-window.js +47 -0
- package/dist/agent-tools/create-room.d.ts +26 -25
- package/dist/agent-tools/create-room.d.ts.map +1 -1
- package/dist/agent-tools/create-room.js +11 -4
- package/dist/agent-tools/design-brief.d.ts +408 -0
- package/dist/agent-tools/design-brief.d.ts.map +1 -0
- package/dist/agent-tools/design-brief.js +149 -0
- package/dist/agent-tools/designs.d.ts +34 -0
- package/dist/agent-tools/designs.d.ts.map +1 -0
- package/dist/agent-tools/designs.js +50 -0
- package/dist/agent-tools/fences.d.ts +28 -0
- package/dist/agent-tools/fences.d.ts.map +1 -0
- package/dist/agent-tools/fences.js +31 -0
- package/dist/agent-tools/find-by-type.d.ts +8 -1
- package/dist/agent-tools/find-by-type.d.ts.map +1 -1
- package/dist/agent-tools/find-by-type.js +23 -2
- package/dist/agent-tools/furnish-room.d.ts +10 -8
- package/dist/agent-tools/furnish-room.d.ts.map +1 -1
- package/dist/agent-tools/furnish-room.js +3 -1
- package/dist/agent-tools/hosted-services.d.ts +177 -141
- package/dist/agent-tools/hosted-services.d.ts.map +1 -1
- package/dist/agent-tools/hosted-services.js +47 -14
- package/dist/agent-tools/index.d.ts +894 -215
- package/dist/agent-tools/index.d.ts.map +1 -1
- package/dist/agent-tools/index.js +47 -3
- package/dist/agent-tools/levels.d.ts +11 -3
- package/dist/agent-tools/levels.d.ts.map +1 -1
- package/dist/agent-tools/levels.js +16 -5
- package/dist/agent-tools/measurement.d.ts +38 -20
- package/dist/agent-tools/measurement.d.ts.map +1 -1
- package/dist/agent-tools/measurement.js +117 -67
- package/dist/agent-tools/merge-windows.d.ts +10 -0
- package/dist/agent-tools/merge-windows.d.ts.map +1 -0
- package/dist/agent-tools/merge-windows.js +12 -0
- package/dist/agent-tools/nodes.d.ts.map +1 -1
- package/dist/agent-tools/nodes.js +1 -1
- package/dist/agent-tools/notation-inventory.d.ts +16 -0
- package/dist/agent-tools/notation-inventory.d.ts.map +1 -0
- package/dist/agent-tools/notation-inventory.js +105 -0
- package/dist/agent-tools/paint.d.ts +5 -5
- package/dist/agent-tools/paint.d.ts.map +1 -1
- package/dist/agent-tools/paint.js +1 -1
- package/dist/agent-tools/photo-elevation.d.ts +32 -0
- package/dist/agent-tools/photo-elevation.d.ts.map +1 -0
- package/dist/agent-tools/photo-elevation.js +73 -0
- package/dist/agent-tools/place-in-room.d.ts +35 -0
- package/dist/agent-tools/place-in-room.d.ts.map +1 -0
- package/dist/agent-tools/place-in-room.js +61 -0
- package/dist/agent-tools/place-items.d.ts +1 -1
- package/dist/agent-tools/place-items.js +2 -2
- package/dist/agent-tools/project-files.d.ts +189 -0
- package/dist/agent-tools/project-files.d.ts.map +1 -0
- package/dist/agent-tools/project-files.js +99 -0
- package/dist/agent-tools/refusal.d.ts.map +1 -1
- package/dist/agent-tools/retired.d.ts +21 -0
- package/dist/agent-tools/retired.d.ts.map +1 -0
- package/dist/agent-tools/retired.js +29 -0
- package/dist/agent-tools/roofs.d.ts +100 -0
- package/dist/agent-tools/roofs.d.ts.map +1 -0
- package/dist/agent-tools/roofs.js +96 -0
- package/dist/agent-tools/room-structure.d.ts +46 -38
- package/dist/agent-tools/room-structure.d.ts.map +1 -1
- package/dist/agent-tools/room-structure.js +30 -27
- package/dist/agent-tools/search-materials.d.ts +22 -3
- package/dist/agent-tools/search-materials.d.ts.map +1 -1
- package/dist/agent-tools/search-materials.js +13 -14
- package/dist/agent-tools/site.d.ts +27 -0
- package/dist/agent-tools/site.d.ts.map +1 -0
- package/dist/agent-tools/site.js +40 -0
- package/dist/agent-tools/sources.d.ts +12 -0
- package/dist/agent-tools/sources.d.ts.map +1 -0
- package/dist/agent-tools/sources.js +11 -0
- package/dist/agent-tools/stairs.d.ts +48 -28
- package/dist/agent-tools/stairs.d.ts.map +1 -1
- package/dist/agent-tools/stairs.js +65 -22
- package/dist/agent-tools/verify-scene.d.ts.map +1 -1
- package/dist/agent-tools/verify-scene.js +1 -1
- package/dist/agent-tools/view-scene.d.ts +50 -12
- package/dist/agent-tools/view-scene.d.ts.map +1 -1
- package/dist/agent-tools/view-scene.js +74 -31
- package/dist/agent-tools/wall-openings.d.ts +77 -73
- package/dist/agent-tools/wall-openings.d.ts.map +1 -1
- package/dist/agent-tools/wall-openings.js +9 -5
- package/dist/agent-tools/walls.d.ts +4 -4
- package/dist/agent-tools/walls.d.ts.map +1 -1
- package/dist/agent-tools/walls.js +7 -2
- package/dist/building/__fixtures__/wall-opening-cases.d.ts +454 -250
- package/dist/building/__fixtures__/wall-opening-cases.d.ts.map +1 -1
- package/dist/building/__fixtures__/wall-opening-cases.js +62 -2
- package/dist/building/corner-window.d.ts +56 -0
- package/dist/building/corner-window.d.ts.map +1 -0
- package/dist/building/corner-window.js +179 -0
- package/dist/building/ground-level.d.ts +26 -0
- package/dist/building/ground-level.d.ts.map +1 -0
- package/dist/building/ground-level.js +58 -0
- package/dist/building/index.d.ts +5 -0
- package/dist/building/index.d.ts.map +1 -1
- package/dist/building/index.js +5 -0
- package/dist/building/level-duplication.d.ts +7472 -6613
- package/dist/building/level-duplication.d.ts.map +1 -1
- package/dist/building/level-duplication.js +18 -4
- package/dist/building/level-insertion.d.ts +55 -0
- package/dist/building/level-insertion.d.ts.map +1 -0
- package/dist/building/level-insertion.js +35 -0
- package/dist/building/merge-windows.d.ts +58 -0
- package/dist/building/merge-windows.d.ts.map +1 -0
- package/dist/building/merge-windows.js +189 -0
- package/dist/building/opening-style-presets.d.ts +2 -2
- package/dist/building/opening-style-presets.d.ts.map +1 -1
- package/dist/building/photo-elevation.d.ts +125 -0
- package/dist/building/photo-elevation.d.ts.map +1 -0
- package/dist/building/photo-elevation.js +404 -0
- package/dist/building/wall-gaps.d.ts +13 -0
- package/dist/building/wall-gaps.d.ts.map +1 -0
- package/dist/building/wall-gaps.js +158 -0
- package/dist/building/wall-openings.d.ts +154 -119
- package/dist/building/wall-openings.d.ts.map +1 -1
- package/dist/building/wall-openings.js +37 -9
- package/dist/capture/schema.d.ts +22 -22
- package/dist/capture/source.d.ts.map +1 -1
- package/dist/capture/source.js +1 -1
- package/dist/commands/structure/create-zone.d.ts +12 -1
- package/dist/commands/structure/create-zone.d.ts.map +1 -1
- package/dist/commands/structure/create-zone.js +49 -0
- package/dist/commands/structure/divide-zone.d.ts +3 -3
- package/dist/commands/structure/index.d.ts +1 -1
- package/dist/commands/structure/index.d.ts.map +1 -1
- package/dist/commands/structure/index.js +1 -1
- package/dist/commands/structure/set-floor-foundation.d.ts +6 -6
- package/dist/commands/structure/set-zone-intent.d.ts +4 -0
- package/dist/commands/structure/set-zone-intent.d.ts.map +1 -1
- package/dist/commands/structure/set-zone-intent.js +19 -0
- package/dist/commands/structure/shared.d.ts +3642 -3213
- package/dist/commands/structure/shared.d.ts.map +1 -1
- package/dist/commands/structure/zone-wall-merge.d.ts +4149 -3334
- package/dist/commands/structure/zone-wall-merge.d.ts.map +1 -1
- package/dist/contracts/reference-inventory.d.ts.map +1 -1
- package/dist/contracts/reference-inventory.js +106 -26
- package/dist/events/bus.d.ts +22 -3
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/events/capture-sessions.d.ts +5 -0
- package/dist/events/capture-sessions.d.ts.map +1 -0
- package/dist/events/capture-sessions.js +31 -0
- package/dist/hooks/scene-registry/scene-registry.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +1 -2
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-manager.js +4 -6
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +3608 -3179
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/support-host-patch.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/support-host-patch.js +11 -2
- package/dist/hooks/spatial-grid/use-spatial-query.d.ts +3 -3
- package/dist/hooks/spatial-grid/wall-spatial-grid.d.ts.map +1 -1
- package/dist/index.d.ts +37 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -9
- package/dist/lib/__fixtures__/mezzanine.d.ts +11800 -10132
- package/dist/lib/__fixtures__/mezzanine.d.ts.map +1 -1
- package/dist/lib/absorb-wall-separators.d.ts +3642 -3213
- package/dist/lib/absorb-wall-separators.d.ts.map +1 -1
- package/dist/lib/angle-accumulator.d.ts.map +1 -1
- package/dist/lib/artifact-store.d.ts.map +1 -1
- package/dist/lib/below-grade-footprints.d.ts +65 -0
- package/dist/lib/below-grade-footprints.d.ts.map +1 -0
- package/dist/lib/below-grade-footprints.js +181 -0
- package/dist/lib/building-footprint.d.ts +33 -0
- package/dist/lib/building-footprint.d.ts.map +1 -0
- package/dist/lib/building-footprint.js +89 -0
- package/dist/lib/corner-pair.d.ts +1129 -0
- package/dist/lib/corner-pair.d.ts.map +1 -0
- package/dist/lib/corner-pair.js +130 -0
- package/dist/lib/corner-snap.d.ts +54 -0
- package/dist/lib/corner-snap.d.ts.map +1 -0
- package/dist/lib/corner-snap.js +125 -0
- package/dist/lib/critically-damped.d.ts +11 -0
- package/dist/lib/critically-damped.d.ts.map +1 -0
- package/dist/lib/critically-damped.js +14 -0
- package/dist/lib/deepest-drawn.d.ts +18 -0
- package/dist/lib/deepest-drawn.d.ts.map +1 -0
- package/dist/lib/deepest-drawn.js +65 -0
- package/dist/lib/door-operation.d.ts +1 -1
- package/dist/lib/exterior-wall-loops.d.ts +17 -0
- package/dist/lib/exterior-wall-loops.d.ts.map +1 -0
- package/dist/lib/exterior-wall-loops.js +334 -0
- package/dist/lib/finish-script.d.ts +61 -0
- package/dist/lib/finish-script.d.ts.map +1 -0
- package/dist/lib/finish-script.js +86 -0
- package/dist/lib/floor-intent-changes.d.ts.map +1 -1
- package/dist/lib/floor-intent-changes.js +4 -4
- package/dist/lib/floor-plate-paint.d.ts +3 -1
- package/dist/lib/floor-plate-paint.d.ts.map +1 -1
- package/dist/lib/floor-plate-paint.js +24 -4
- package/dist/lib/floor-plates.d.ts +50 -50
- package/dist/lib/floor-script.d.ts +24 -0
- package/dist/lib/floor-script.d.ts.map +1 -0
- package/dist/lib/floor-script.js +51 -0
- package/dist/lib/foundation-construction.d.ts +73 -0
- package/dist/lib/foundation-construction.d.ts.map +1 -0
- package/dist/lib/foundation-construction.js +242 -0
- package/dist/lib/foundation-standard.d.ts +30 -0
- package/dist/lib/foundation-standard.d.ts.map +1 -0
- package/dist/lib/foundation-standard.js +30 -0
- package/dist/lib/foundation-wall.d.ts +36 -0
- package/dist/lib/foundation-wall.d.ts.map +1 -0
- package/dist/lib/foundation-wall.js +66 -0
- package/dist/lib/generic-foundation.d.ts +40 -0
- package/dist/lib/generic-foundation.d.ts.map +1 -0
- package/dist/lib/generic-foundation.js +200 -0
- package/dist/lib/geometry-script-node.d.ts +32 -3
- package/dist/lib/geometry-script-node.d.ts.map +1 -1
- package/dist/lib/geometry-script-node.js +26 -0
- package/dist/lib/grade-standing.d.ts +38 -0
- package/dist/lib/grade-standing.d.ts.map +1 -0
- package/dist/lib/grade-standing.js +137 -0
- package/dist/lib/ground-level.d.ts +20 -0
- package/dist/lib/ground-level.d.ts.map +1 -0
- package/dist/lib/ground-level.js +49 -0
- package/dist/lib/ground-over-part.d.ts +13 -0
- package/dist/lib/ground-over-part.d.ts.map +1 -0
- package/dist/lib/ground-over-part.js +94 -0
- package/dist/lib/ground-seat.d.ts +47 -0
- package/dist/lib/ground-seat.d.ts.map +1 -0
- package/dist/lib/ground-seat.js +61 -0
- package/dist/lib/ground-window.d.ts +39 -0
- package/dist/lib/ground-window.d.ts.map +1 -0
- package/dist/lib/ground-window.js +147 -0
- package/dist/lib/opening-floor-datum.d.ts.map +1 -1
- package/dist/lib/opening-floor-datum.js +2 -3
- package/dist/lib/own-floor-intent.d.ts.map +1 -1
- package/dist/lib/own-floor-intent.js +4 -4
- package/dist/lib/plate-surface.d.ts.map +1 -1
- package/dist/lib/plate-surface.js +3 -1
- package/dist/lib/point-ask.d.ts +9 -0
- package/dist/lib/point-ask.d.ts.map +1 -0
- package/dist/lib/point-ask.js +36 -0
- package/dist/lib/room-drawn-floor.d.ts +1 -1
- package/dist/lib/room-drawn-floor.d.ts.map +1 -1
- package/dist/lib/room-floor-feasibility.d.ts.map +1 -1
- package/dist/lib/room-floor-feasibility.js +3 -3
- package/dist/lib/room-graph.d.ts.map +1 -1
- package/dist/lib/room-graph.js +2 -0
- package/dist/lib/room-name.d.ts +2 -0
- package/dist/lib/room-name.d.ts.map +1 -1
- package/dist/lib/room-name.js +2 -0
- package/dist/lib/room-topology-index.d.ts.map +1 -1
- package/dist/lib/room-topology-index.js +1 -1
- package/dist/lib/room-zone-adoption.d.ts.map +1 -1
- package/dist/lib/script-inputs-key.d.ts +3 -0
- package/dist/lib/script-inputs-key.d.ts.map +1 -0
- package/dist/lib/script-inputs-key.js +13 -0
- package/dist/lib/setback-envelope.d.ts +95 -5
- package/dist/lib/setback-envelope.d.ts.map +1 -1
- package/dist/lib/setback-envelope.js +351 -35
- package/dist/lib/site-flatwork.d.ts +11 -0
- package/dist/lib/site-flatwork.d.ts.map +1 -0
- package/dist/lib/site-flatwork.js +11 -0
- package/dist/lib/site-ground-height.d.ts +13 -0
- package/dist/lib/site-ground-height.d.ts.map +1 -0
- package/dist/lib/site-ground-height.js +16 -0
- package/dist/lib/site-placement.d.ts +362 -0
- package/dist/lib/site-placement.d.ts.map +1 -0
- package/dist/lib/site-placement.js +942 -0
- package/dist/lib/snap-ease.d.ts +20 -0
- package/dist/lib/snap-ease.d.ts.map +1 -0
- package/dist/lib/snap-ease.js +50 -0
- package/dist/lib/structure-kernel.d.ts +1 -1
- package/dist/lib/structure-kernel.d.ts.map +1 -1
- package/dist/lib/structure-kernel.js +2 -0
- package/dist/lib/surface-support-references.d.ts +4 -0
- package/dist/lib/surface-support-references.d.ts.map +1 -0
- package/dist/lib/surface-support-references.js +19 -0
- package/dist/lib/terrain-support-query.d.ts +10 -0
- package/dist/lib/terrain-support-query.d.ts.map +1 -1
- package/dist/lib/terrain-support-query.js +1 -1
- package/dist/lib/wall-face-script.d.ts +66 -0
- package/dist/lib/wall-face-script.d.ts.map +1 -0
- package/dist/lib/wall-face-script.js +235 -0
- package/dist/lib/zone-colors.d.ts +1 -1
- package/dist/lib/zone-colors.d.ts.map +1 -1
- package/dist/lib/zone-quantities.d.ts.map +1 -1
- package/dist/lib/zone-quantities.js +4 -5
- package/dist/material-kinds.d.ts +9 -0
- package/dist/material-kinds.d.ts.map +1 -0
- package/dist/material-kinds.js +30 -0
- package/dist/material-library.d.ts +4 -4
- package/dist/material-library.d.ts.map +1 -1
- package/dist/material-library.js +72 -26
- package/dist/node-slots/index.d.ts +1 -0
- package/dist/node-slots/index.d.ts.map +1 -1
- package/dist/node-slots/index.js +7 -1
- package/dist/node-slots/roof.d.ts +5 -0
- package/dist/node-slots/roof.d.ts.map +1 -0
- package/dist/node-slots/roof.js +12 -0
- package/dist/node-slots/stair.d.ts +2 -0
- package/dist/node-slots/stair.d.ts.map +1 -1
- package/dist/node-slots/stair.js +6 -2
- package/dist/procedural-items/design-placement.d.ts.map +1 -1
- package/dist/procedural-items/design.d.ts +19 -19
- package/dist/procedural-items/fixtures.d.ts +297 -297
- package/dist/procedural-items/fixtures.d.ts.map +1 -1
- package/dist/procedural-items/integration.d.ts +106 -106
- package/dist/procedural-items/joints.d.ts +4 -4
- package/dist/procedural-items/library-colors.d.ts +22 -22
- package/dist/procedural-items/library-colors.d.ts.map +1 -1
- package/dist/procedural-items/motion-controller.d.ts.map +1 -1
- package/dist/procedural-items/node.d.ts +291 -291
- package/dist/procedural-items/query.d.ts +1 -1
- package/dist/procedural-items/query.d.ts.map +1 -1
- package/dist/procedural-items/recipe.d.ts +11 -11
- package/dist/procedural-items/recipe.d.ts.map +1 -1
- package/dist/procedural-items/section.d.ts.map +1 -1
- package/dist/registry/index.d.ts +1 -1
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/scene-api.d.ts +1 -0
- package/dist/registry/scene-api.d.ts.map +1 -1
- package/dist/registry/scene-api.js +3 -0
- package/dist/registry/subtree.d.ts.map +1 -1
- package/dist/registry/subtree.js +2 -0
- package/dist/registry/types.d.ts +120 -1
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/schema/assembly.d.ts +41 -41
- package/dist/schema/asset-url.d.ts +1 -1
- package/dist/schema/asset-url.d.ts.map +1 -1
- package/dist/schema/base.d.ts +9 -9
- package/dist/schema/base.d.ts.map +1 -1
- package/dist/schema/camera.d.ts +1 -1
- package/dist/schema/collection-templates.d.ts +20 -20
- package/dist/schema/collection-templates.d.ts.map +1 -1
- package/dist/schema/geometry-metadata.d.ts +7 -7
- package/dist/schema/geometry-metadata.d.ts.map +1 -1
- package/dist/schema/geometry-source.d.ts +26 -16
- package/dist/schema/geometry-source.d.ts.map +1 -1
- package/dist/schema/geometry-source.js +14 -0
- package/dist/schema/index.d.ts +10 -7
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +10 -7
- package/dist/schema/material.d.ts +33 -33
- package/dist/schema/nodes/barrel-roof.d.ts +3 -0
- package/dist/schema/nodes/barrel-roof.d.ts.map +1 -0
- package/dist/schema/nodes/barrel-roof.js +11 -0
- package/dist/schema/nodes/block.d.ts +8 -8
- package/dist/schema/nodes/box-vent.d.ts +13 -13
- package/dist/schema/nodes/building.d.ts +9 -8
- package/dist/schema/nodes/building.d.ts.map +1 -1
- package/dist/schema/nodes/building.js +2 -0
- package/dist/schema/nodes/cabinet.d.ts +130 -129
- package/dist/schema/nodes/cabinet.d.ts.map +1 -1
- package/dist/schema/nodes/cabinet.js +1 -1
- package/dist/schema/nodes/ceiling.d.ts +15 -15
- package/dist/schema/nodes/chimney.d.ts +23 -23
- package/dist/schema/nodes/column.d.ts +207 -199
- package/dist/schema/nodes/column.d.ts.map +1 -1
- package/dist/schema/nodes/column.js +2 -0
- package/dist/schema/nodes/construction-dimension.d.ts +34 -34
- package/dist/schema/nodes/cupola.d.ts +15 -15
- package/dist/schema/nodes/curtain-wall.d.ts +21 -20
- package/dist/schema/nodes/curtain-wall.d.ts.map +1 -1
- package/dist/schema/nodes/curtain-wall.js +23 -0
- package/dist/schema/nodes/door.d.ts +50 -43
- package/dist/schema/nodes/door.d.ts.map +1 -1
- package/dist/schema/nodes/door.js +19 -0
- package/dist/schema/nodes/dormer.d.ts +37 -36
- package/dist/schema/nodes/dormer.d.ts.map +1 -1
- package/dist/schema/nodes/downspout.d.ts +17 -17
- package/dist/schema/nodes/duct-fitting.d.ts +24 -24
- package/dist/schema/nodes/duct-segment.d.ts +14 -14
- package/dist/schema/nodes/duct-terminal.d.ts +12 -12
- package/dist/schema/nodes/elevator.d.ts +15 -15
- package/dist/schema/nodes/eyebrow-vent.d.ts +13 -13
- package/dist/schema/nodes/fence-feature.d.ts +37 -37
- package/dist/schema/nodes/fence-types.d.ts +32 -0
- package/dist/schema/nodes/fence-types.d.ts.map +1 -0
- package/dist/schema/nodes/fence-types.js +22 -0
- package/dist/schema/nodes/fence.d.ts +43 -72
- package/dist/schema/nodes/fence.d.ts.map +1 -1
- package/dist/schema/nodes/fence.js +4 -20
- package/dist/schema/nodes/floor-opening.d.ts +8 -8
- package/dist/schema/nodes/guide.d.ts +8 -8
- package/dist/schema/nodes/gutter.d.ts +14 -14
- package/dist/schema/nodes/gutter.d.ts.map +1 -1
- package/dist/schema/nodes/gutter.js +6 -5
- package/dist/schema/nodes/hvac-equipment.d.ts +13 -13
- package/dist/schema/nodes/imported-mesh.d.ts +8 -8
- package/dist/schema/nodes/item.d.ts +30 -25
- package/dist/schema/nodes/item.d.ts.map +1 -1
- package/dist/schema/nodes/lean-to-extension.d.ts +36 -36
- package/dist/schema/nodes/level.d.ts +9 -9
- package/dist/schema/nodes/lineset.d.ts +8 -8
- package/dist/schema/nodes/liquid-line.d.ts +8 -8
- package/dist/schema/nodes/measurement.d.ts +8 -8
- package/dist/schema/nodes/opening-types.d.ts +13 -13
- package/dist/schema/nodes/opening-types.d.ts.map +1 -1
- package/dist/schema/nodes/pipe-fitting.d.ts +15 -15
- package/dist/schema/nodes/pipe-segment.d.ts +11 -11
- package/dist/schema/nodes/pipe-trap.d.ts +9 -9
- package/dist/schema/nodes/ridge-vent.d.ts +14 -14
- package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
- package/dist/schema/nodes/ridge-vent.js +3 -1
- package/dist/schema/nodes/roof-glazing-config.d.ts +90 -0
- package/dist/schema/nodes/roof-glazing-config.d.ts.map +1 -0
- package/dist/schema/nodes/roof-glazing-config.js +34 -0
- package/dist/schema/nodes/roof-glazing.d.ts +57 -0
- package/dist/schema/nodes/roof-glazing.d.ts.map +1 -0
- package/dist/schema/nodes/roof-glazing.js +514 -0
- package/dist/schema/nodes/roof-segment-resize.d.ts +4 -0
- package/dist/schema/nodes/roof-segment-resize.d.ts.map +1 -0
- package/dist/schema/nodes/roof-segment-resize.js +21 -0
- package/dist/schema/nodes/roof-segment-shape.d.ts +5 -0
- package/dist/schema/nodes/roof-segment-shape.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment-shape.js +44 -0
- package/dist/schema/nodes/roof-segment-walls.d.ts +1 -1
- package/dist/schema/nodes/roof-segment-walls.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment-walls.js +24 -0
- package/dist/schema/nodes/roof-segment.d.ts +153 -46
- package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment.js +91 -20
- package/dist/schema/nodes/roof-types.d.ts +14 -0
- package/dist/schema/nodes/roof-types.d.ts.map +1 -0
- package/dist/schema/nodes/roof-types.js +14 -0
- package/dist/schema/nodes/roof.d.ts +49 -49
- package/dist/schema/nodes/scan.d.ts +8 -8
- package/dist/schema/nodes/separator.d.ts +8 -8
- package/dist/schema/nodes/shelf.d.ts +16 -16
- package/dist/schema/nodes/site-facts.d.ts +64 -0
- package/dist/schema/nodes/site-facts.d.ts.map +1 -0
- package/dist/schema/nodes/site-facts.js +73 -0
- package/dist/schema/nodes/site.d.ts +105 -63
- package/dist/schema/nodes/site.d.ts.map +1 -1
- package/dist/schema/nodes/site.js +7 -70
- package/dist/schema/nodes/skylight.d.ts +41 -41
- package/dist/schema/nodes/skylight.d.ts.map +1 -1
- package/dist/schema/nodes/slab.d.ts +21 -21
- package/dist/schema/nodes/solar-panel.d.ts +21 -21
- package/dist/schema/nodes/spawn.d.ts +8 -8
- package/dist/schema/nodes/stair-construction.d.ts +3 -3
- package/dist/schema/nodes/stair-defaults.d.ts +16 -0
- package/dist/schema/nodes/stair-defaults.d.ts.map +1 -0
- package/dist/schema/nodes/stair-defaults.js +15 -0
- package/dist/schema/nodes/stair-segment.d.ts +22 -22
- package/dist/schema/nodes/stair-types.d.ts +29 -0
- package/dist/schema/nodes/stair-types.d.ts.map +1 -0
- package/dist/schema/nodes/stair-types.js +23 -0
- package/dist/schema/nodes/stair.d.ts +51 -75
- package/dist/schema/nodes/stair.d.ts.map +1 -1
- package/dist/schema/nodes/stair.js +6 -20
- package/dist/schema/nodes/structural-grid.d.ts +8 -8
- package/dist/schema/nodes/surface-hole-metadata.d.ts +2 -2
- package/dist/schema/nodes/turbine-vent.d.ts +13 -13
- package/dist/schema/nodes/unit.d.ts +10 -10
- package/dist/schema/nodes/unit.d.ts.map +1 -1
- package/dist/schema/nodes/wall.d.ts +479 -146
- package/dist/schema/nodes/wall.d.ts.map +1 -1
- package/dist/schema/nodes/wall.js +19 -0
- package/dist/schema/nodes/window.d.ts +55 -39
- package/dist/schema/nodes/window.d.ts.map +1 -1
- package/dist/schema/nodes/window.js +10 -0
- package/dist/schema/nodes/zone.d.ts +231 -12
- package/dist/schema/nodes/zone.d.ts.map +1 -1
- package/dist/schema/nodes/zone.js +10 -0
- package/dist/schema/provenance.d.ts +21 -21
- package/dist/schema/scene-material.d.ts +5 -5
- package/dist/schema/site-presentation.d.ts +100 -0
- package/dist/schema/site-presentation.d.ts.map +1 -0
- package/dist/schema/site-presentation.js +83 -0
- package/dist/schema/types.d.ts +1954 -1414
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/services/__fixtures__/wall-plane-top-boundary-repro.d.ts.map +1 -1
- package/dist/services/index.d.ts +5 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +5 -1
- package/dist/services/level-height.d.ts.map +1 -1
- package/dist/services/level-height.js +7 -3
- package/dist/services/port-connectivity.d.ts +4 -0
- package/dist/services/port-connectivity.d.ts.map +1 -1
- package/dist/services/port-connectivity.js +35 -0
- package/dist/services/project-file-sink.d.ts +9 -0
- package/dist/services/project-file-sink.d.ts.map +1 -0
- package/dist/services/project-file-sink.js +13 -0
- package/dist/services/roof-bearing.d.ts +62 -0
- package/dist/services/roof-bearing.d.ts.map +1 -0
- package/dist/services/roof-bearing.js +234 -0
- package/dist/services/roof-level.d.ts +121 -0
- package/dist/services/roof-level.d.ts.map +1 -0
- package/dist/services/roof-level.js +280 -0
- package/dist/services/roof-move.d.ts +83 -0
- package/dist/services/roof-move.d.ts.map +1 -0
- package/dist/services/roof-move.js +316 -0
- package/dist/services/stair-surface-snap.d.ts +14 -0
- package/dist/services/stair-surface-snap.d.ts.map +1 -0
- package/dist/services/stair-surface-snap.js +116 -0
- package/dist/services/storey-datum.d.ts +12 -0
- package/dist/services/storey-datum.d.ts.map +1 -0
- package/dist/services/storey-datum.js +18 -0
- package/dist/services/storey.d.ts +51 -5
- package/dist/services/storey.d.ts.map +1 -1
- package/dist/services/storey.js +125 -8
- package/dist/solar-panel-presets.d.ts +2 -2
- package/dist/store/actions/node-actions.d.ts +3613 -3182
- package/dist/store/actions/node-actions.d.ts.map +1 -1
- package/dist/store/actions/node-actions.js +46 -1
- package/dist/store/derived-node-guard.d.ts.map +1 -1
- package/dist/store/history-control.d.ts +39 -0
- package/dist/store/history-control.d.ts.map +1 -1
- package/dist/store/history-control.js +84 -4
- package/dist/store/scene-annotations.d.ts +7267 -6409
- package/dist/store/scene-annotations.d.ts.map +1 -1
- package/dist/store/scene-preview.d.ts +16 -0
- package/dist/store/scene-preview.d.ts.map +1 -0
- package/dist/store/scene-preview.js +144 -0
- package/dist/store/use-live-node-overrides.d.ts.map +1 -1
- package/dist/store/use-live-terrain.d.ts.map +1 -1
- package/dist/store/use-live-transforms.d.ts.map +1 -1
- package/dist/store/use-scene.d.ts.map +1 -1
- package/dist/store/use-scene.js +37 -4
- package/dist/systems/elevator/elevator-dispatch.js +1 -1
- package/dist/systems/fence/fence-features.d.ts.map +1 -1
- package/dist/systems/owned-floor-openings.d.ts.map +1 -1
- package/dist/systems/owned-floor-openings.js +24 -3
- package/dist/systems/roof/roof-elevation-system.d.ts.map +1 -1
- package/dist/systems/roof/roof-elevation-system.js +9 -3
- package/dist/systems/roof/roof-elevation.d.ts +5 -0
- package/dist/systems/roof/roof-elevation.d.ts.map +1 -1
- package/dist/systems/roof/roof-elevation.js +91 -62
- package/dist/systems/slab/__fixtures__/floor-step.d.ts +4623 -3516
- package/dist/systems/slab/__fixtures__/floor-step.d.ts.map +1 -1
- package/dist/systems/slab/__fixtures__/raised-room.d.ts +5149 -4076
- package/dist/systems/slab/__fixtures__/raised-room.d.ts.map +1 -1
- package/dist/systems/slab/slab-support.d.ts +6 -3
- package/dist/systems/slab/slab-support.d.ts.map +1 -1
- package/dist/systems/slab/slab-support.js +78 -10
- package/dist/systems/stair/stair-detail-budget.d.ts +2 -2
- package/dist/systems/stair/stair-detail-budget.d.ts.map +1 -1
- package/dist/systems/stair/stair-footprint.d.ts +6 -0
- package/dist/systems/stair/stair-footprint.d.ts.map +1 -1
- package/dist/systems/stair/stair-footprint.js +27 -14
- package/dist/systems/stair/stair-layout.d.ts +2 -2
- package/dist/systems/stair/stair-opening-preview.d.ts +3643 -3214
- package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
- package/dist/systems/stair/stair-presets.d.ts +73 -65
- package/dist/systems/stair/stair-presets.d.ts.map +1 -1
- package/dist/systems/stair/stair-presets.js +16 -9
- package/dist/systems/stair/stair-rail-path.d.ts +1 -1
- package/dist/systems/stair/stair-rise-query.d.ts +16 -0
- package/dist/systems/stair/stair-rise-query.d.ts.map +1 -1
- package/dist/systems/stair/stair-rise-query.js +57 -7
- package/dist/systems/stair/stair-sizing.d.ts +101 -99
- package/dist/systems/stair/stair-sizing.d.ts.map +1 -1
- package/dist/systems/wall/wall-assembly.d.ts +11 -0
- package/dist/systems/wall/wall-assembly.d.ts.map +1 -1
- package/dist/systems/wall/wall-assembly.js +21 -0
- package/dist/systems/wall/wall-curve.d.ts +5 -0
- package/dist/systems/wall/wall-curve.d.ts.map +1 -1
- package/dist/systems/wall/wall-curve.js +13 -0
- package/dist/systems/wall/wall-frame.d.ts.map +1 -1
- package/dist/systems/wall/wall-frame.js +8 -0
- package/dist/systems/wall/wall-room-sides.d.ts +8 -0
- package/dist/systems/wall/wall-room-sides.d.ts.map +1 -1
- package/dist/systems/wall/wall-room-sides.js +60 -7
- package/dist/systems/wall/wall-top.d.ts +7 -4
- package/dist/systems/wall/wall-top.d.ts.map +1 -1
- package/dist/systems/wall/wall-top.js +14 -6
- package/dist/systems/wall/wall-topology.d.ts +4 -0
- package/dist/systems/wall/wall-topology.d.ts.map +1 -1
- package/dist/systems/wall/wall-topology.js +4 -2
- package/dist/systems/wall/wall-trim.d.ts +7 -0
- package/dist/systems/wall/wall-trim.d.ts.map +1 -0
- package/dist/systems/wall/wall-trim.js +10 -0
- package/dist/utils/clone-scene-graph.d.ts.map +1 -1
- package/dist/utils/clone-scene-graph.js +8 -0
- package/dist/utils/ensure-scene-openings.d.ts +7420 -6562
- package/dist/utils/ensure-scene-openings.d.ts.map +1 -1
- package/dist/utils/floor-piece-adoption.d.ts +2 -2
- package/dist/utils/floor-plate-migration.d.ts +3746 -3317
- package/dist/utils/floor-plate-migration.d.ts.map +1 -1
- package/dist/utils/floor-plate-migration.js +2 -2
- package/dist/utils/heal-scene-graph.d.ts +12 -0
- package/dist/utils/heal-scene-graph.d.ts.map +1 -1
- package/dist/utils/heal-scene-graph.js +40 -23
- package/dist/utils/legacy-wall-datums.d.ts.map +1 -1
- package/dist/utils/legacy-wall-datums.js +2 -2
- package/dist/utils/owned-floor-opening-migration.d.ts +3642 -3213
- package/dist/utils/owned-floor-opening-migration.d.ts.map +1 -1
- package/dist/utils/reconcile-structure-on-load.d.ts +3730 -7777
- package/dist/utils/reconcile-structure-on-load.d.ts.map +1 -1
- package/dist/utils/scene-migrations.d.ts +1 -1
- package/dist/utils/scene-migrations.d.ts.map +1 -1
- package/dist/utils/scene-migrations.js +1 -1
- package/dist/utils/semantic-equal.d.ts +3 -0
- package/dist/utils/semantic-equal.d.ts.map +1 -0
- package/dist/utils/semantic-equal.js +26 -0
- package/dist/utils/structure-id.d.ts.map +1 -1
- package/dist/utils/types.d.ts.map +1 -1
- package/dist/utils/wall-face-migration.d.ts +1 -1
- package/dist/utils/wall-face-migration.d.ts.map +1 -1
- package/package.json +36 -10
|
@@ -0,0 +1,709 @@
|
|
|
1
|
+
import { DESIGN_EXAMPLE } from '../../procedural-items/index.js';
|
|
2
|
+
import { storeysScene } from './structure-cases.js';
|
|
3
|
+
/**
|
|
4
|
+
* `design_brief` and the gate it opens: placing or making furnishings follows the brief of the
|
|
5
|
+
* turn (chat) or session (MCP). Written from the owner's bedroom prompt (16 Oct): a 4 by 5 m
|
|
6
|
+
* bedroom with a double bed, two nightstands, a wardrobe, one window, one door, which
|
|
7
|
+
* `furnish_room` once answered in one call, no brief and no view. Before a brief the catalog is
|
|
8
|
+
* read, not placed; an open brief makes the pieces and places a catalog piece only as named; a
|
|
9
|
+
* catalog brief places the catalog's.
|
|
10
|
+
*/
|
|
11
|
+
const piece = (id, name, functionTag) => ({
|
|
12
|
+
id,
|
|
13
|
+
name,
|
|
14
|
+
category: functionTag,
|
|
15
|
+
functionTags: [functionTag],
|
|
16
|
+
thumbnail: `/items/${id}/thumbnail.webp`,
|
|
17
|
+
src: `/items/${id}/model.glb`,
|
|
18
|
+
dimensions: [1, 1, 1],
|
|
19
|
+
});
|
|
20
|
+
const CATALOG = [
|
|
21
|
+
piece('double-bed', 'Double bed', 'double-beds'),
|
|
22
|
+
piece('bedside-table', 'Bedside table', 'coffee-tables'),
|
|
23
|
+
piece('closet', 'Closet', 'wardrobes'),
|
|
24
|
+
piece('toilet', 'Toilet', 'toilets'),
|
|
25
|
+
];
|
|
26
|
+
const seen = (...ids) => () => ({ checkpoints: {}, made: [], viewed: ids });
|
|
27
|
+
const library = { activeLevelId: null, catalog: CATALOG };
|
|
28
|
+
/** Seven of the eight layers name pieces: what an open request owes. */
|
|
29
|
+
export const DRESSED = {
|
|
30
|
+
textiles: ['linen bedding', 'two cushions'],
|
|
31
|
+
light: ['two bedside lamps'],
|
|
32
|
+
windows: ['linen curtains'],
|
|
33
|
+
walls: ['framed art above the bed'],
|
|
34
|
+
floor: ['a wool rug'],
|
|
35
|
+
plants: ['a plant by the window'],
|
|
36
|
+
objects: ['books on the nightstands'],
|
|
37
|
+
smallFurniture: { none: 'the room is small' },
|
|
38
|
+
};
|
|
39
|
+
const DRESSING = [
|
|
40
|
+
'linen bedding',
|
|
41
|
+
'two cushions',
|
|
42
|
+
'two bedside lamps',
|
|
43
|
+
'linen curtains',
|
|
44
|
+
'framed art above the bed',
|
|
45
|
+
'a wool rug',
|
|
46
|
+
'a plant by the window',
|
|
47
|
+
'books on the nightstands',
|
|
48
|
+
];
|
|
49
|
+
/** Every layer says none, as a request that limits the pieces may. */
|
|
50
|
+
const nothing = (why) => Object.fromEntries(['textiles', 'light', 'windows', 'walls', 'floor', 'plants', 'objects', 'smallFurniture'].map((layer) => [layer, { none: why }]));
|
|
51
|
+
const bounded = (quote, reading, extent) => ({
|
|
52
|
+
kind: 'bounded',
|
|
53
|
+
quote,
|
|
54
|
+
reading,
|
|
55
|
+
...(extent ? { extent } : {}),
|
|
56
|
+
});
|
|
57
|
+
const openAxis = (design) => ({ kind: 'open', design });
|
|
58
|
+
const BEDROOM_REQUEST = 'a 4 by 5 m bedroom with a double bed, two nightstands, a wardrobe, one window, one door';
|
|
59
|
+
/** The owner's bedroom, read axis by axis: action, size, pieces (a minimum) and openings bounded; style, materials and dressing open. */
|
|
60
|
+
export const BEDROOM_AXES = {
|
|
61
|
+
action: bounded('a 4 by 5 m bedroom', 'one bedroom, not a house; inside it, making it is the job'),
|
|
62
|
+
size: bounded('4 by 5 m', 'the room is 4 by 5 m'),
|
|
63
|
+
pieces: bounded('a double bed, two nightstands, a wardrobe', 'those pieces must be there; nothing says only, so more may come', 'minimum'),
|
|
64
|
+
openings: bounded('one window, one door', 'exactly one window and one door'),
|
|
65
|
+
style: openAxis('each piece designed in a calm oak and linen character, not defaulted'),
|
|
66
|
+
materials: openAxis('oak, linen and wool chosen for floor, walls and fabrics'),
|
|
67
|
+
dressing: openAxis('the room dressed lived-in, stated in beyond layer by layer'),
|
|
68
|
+
};
|
|
69
|
+
/** "add a lamp next to the sofa": action and dressing bounded by the same words, style open. */
|
|
70
|
+
export const LAMP_AXES = {
|
|
71
|
+
action: bounded('add a lamp', 'one object added to a room that exists; no redecoration'),
|
|
72
|
+
size: openAxis('the lamp sized to the sofa it stands beside'),
|
|
73
|
+
pieces: bounded('a lamp', 'the one lamp the request names', 'exact'),
|
|
74
|
+
openings: openAxis('no openings are touched by this addition'),
|
|
75
|
+
style: openAxis('a sculptural paper lamp echoing the oak sofa'),
|
|
76
|
+
materials: openAxis('paper shade and oak stem, warm against the sofa'),
|
|
77
|
+
dressing: bounded('add a lamp', 'the request adds one lamp; the room is not dressed further'),
|
|
78
|
+
};
|
|
79
|
+
/** The same request in French: the quotes are the person's words, accents and case folded away. */
|
|
80
|
+
const LAMP_AXES_FR = {
|
|
81
|
+
action: bounded('Ajoute une lampe', 'un seul objet ajouté à une pièce qui existe; aucune redécoration'),
|
|
82
|
+
size: openAxis('la lampe dimensionnée selon le canapé près duquel elle se tient'),
|
|
83
|
+
pieces: bounded('une lampe', 'la seule lampe que la demande nomme', 'exact'),
|
|
84
|
+
openings: openAxis('aucune ouverture n’est touchée par cet ajout'),
|
|
85
|
+
style: openAxis('une lampe en papier sculpturale qui répond au canapé en chêne'),
|
|
86
|
+
materials: openAxis('abat-jour en papier et pied en chêne, chauds contre le canapé'),
|
|
87
|
+
dressing: bounded('Ajoute une lampe', 'la demande ajoute une lampe; la pièce n’est pas habillée davantage'),
|
|
88
|
+
};
|
|
89
|
+
/** Every axis open, for the briefs whose subject is the source or the gate, not the reading. */
|
|
90
|
+
export const OPEN_AXES = {
|
|
91
|
+
action: openAxis('the work the request calls for, designed as a whole'),
|
|
92
|
+
size: openAxis('sizes chosen to fit the rooms they serve'),
|
|
93
|
+
pieces: openAxis('the pieces each room needs, designed one by one'),
|
|
94
|
+
openings: openAxis('openings placed for light and passage room by room'),
|
|
95
|
+
style: openAxis('each piece designed in one calm character throughout'),
|
|
96
|
+
materials: openAxis('materials and finishes chosen surface by surface'),
|
|
97
|
+
dressing: openAxis('the rooms dressed lived-in, stated in beyond'),
|
|
98
|
+
};
|
|
99
|
+
const OPEN = {
|
|
100
|
+
axes: BEDROOM_AXES,
|
|
101
|
+
source: 'open',
|
|
102
|
+
vision: 'A calm room of oak and linen, low furniture, the bed under the window wall.',
|
|
103
|
+
beyond: DRESSED,
|
|
104
|
+
};
|
|
105
|
+
const OPEN_AS_IS = {
|
|
106
|
+
...OPEN,
|
|
107
|
+
asIs: [{ assetId: 'toilet', reason: 'technical equipment, as drawn in the catalog' }],
|
|
108
|
+
};
|
|
109
|
+
const IKEA = {
|
|
110
|
+
axes: {
|
|
111
|
+
...OPEN_AXES,
|
|
112
|
+
action: bounded('a bedroom', 'one bedroom'),
|
|
113
|
+
pieces: bounded('IKEA furniture only', 'the IKEA range, and nothing else', 'exact'),
|
|
114
|
+
dressing: bounded('IKEA furniture only', 'the request limits the pieces to the range'),
|
|
115
|
+
},
|
|
116
|
+
source: 'brand',
|
|
117
|
+
sourceQuote: 'furniture from the IKEA range only',
|
|
118
|
+
brand: 'IKEA',
|
|
119
|
+
vision: 'IKEA pieces in pale birch, kept plain.',
|
|
120
|
+
beyond: nothing('the request says IKEA furniture only'),
|
|
121
|
+
};
|
|
122
|
+
/** A brief that opens every furnishing tool, for the tests whose subject is not the gate. */
|
|
123
|
+
export const CATALOG_BRIEF = {
|
|
124
|
+
fixed: ['the furnishings the test places'],
|
|
125
|
+
open: [],
|
|
126
|
+
source: 'catalog',
|
|
127
|
+
sourceQuote: 'the catalog only',
|
|
128
|
+
vision: "The catalog's pieces, as they are.",
|
|
129
|
+
beyond: nothing('the request says the catalog only'),
|
|
130
|
+
};
|
|
131
|
+
const ground = { levelId: 'level_ground' };
|
|
132
|
+
const sofa = { design: DESIGN_EXAMPLE, hostId: 'level_ground', position: [3, 0, 2] };
|
|
133
|
+
const bed = { items: [{ assetId: 'double-bed', x: 2, z: 2 }], ...ground };
|
|
134
|
+
const wc = { items: [{ assetId: 'toilet', x: 2, z: 2 }], ...ground };
|
|
135
|
+
const BEFORE = ['design_brief records what the request fixes', 'searched and viewed, not placed'];
|
|
136
|
+
const OPEN_SOURCE = (pieceNamed) => `The brief left the source open: ${pieceNamed} can be made with add_object or place_design (view_assets shows the catalog's for reference), or, for technical equipment, named in the brief's asIs after view_assets, with a reason.`;
|
|
137
|
+
export const DESIGN_BRIEF_CASES = [
|
|
138
|
+
{
|
|
139
|
+
name: 'a brief is recorded as the turn’s design record, with what it unlocks',
|
|
140
|
+
tool: 'design_brief',
|
|
141
|
+
scene: storeysScene,
|
|
142
|
+
input: {
|
|
143
|
+
axes: OPEN.axes,
|
|
144
|
+
source: 'open',
|
|
145
|
+
vision: OPEN.vision,
|
|
146
|
+
beyond: OPEN.beyond,
|
|
147
|
+
asIs: OPEN_AS_IS.asIs,
|
|
148
|
+
},
|
|
149
|
+
context: { ...library, session: seen('toilet') },
|
|
150
|
+
readOnly: true,
|
|
151
|
+
expect: {
|
|
152
|
+
result: { status: 'recorded', brief: OPEN_AS_IS },
|
|
153
|
+
mentions: ['add_object, place_design make the pieces', 'furnish_room places a whole stock set'],
|
|
154
|
+
session: (session) => (session.designBrief?.vision === OPEN.vision ? [] : ['not kept']),
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
name: 'a brand names its range; the brief opens the catalog',
|
|
159
|
+
tool: 'design_brief',
|
|
160
|
+
scene: storeysScene,
|
|
161
|
+
input: {
|
|
162
|
+
axes: IKEA.axes,
|
|
163
|
+
source: 'brand',
|
|
164
|
+
sourceQuote: IKEA.sourceQuote,
|
|
165
|
+
brand: 'IKEA',
|
|
166
|
+
vision: IKEA.vision,
|
|
167
|
+
beyond: IKEA.beyond,
|
|
168
|
+
},
|
|
169
|
+
readOnly: true,
|
|
170
|
+
expect: {
|
|
171
|
+
result: { status: 'recorded', brief: IKEA, closed: [] },
|
|
172
|
+
mentions: ['place_items, furnish_room, place_in_room place the catalog'],
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: 'a brand brief without a brand is refused',
|
|
177
|
+
tool: 'design_brief',
|
|
178
|
+
scene: storeysScene,
|
|
179
|
+
input: {
|
|
180
|
+
axes: IKEA.axes,
|
|
181
|
+
source: 'brand',
|
|
182
|
+
sourceQuote: IKEA.sourceQuote,
|
|
183
|
+
vision: IKEA.vision,
|
|
184
|
+
beyond: IKEA.beyond,
|
|
185
|
+
},
|
|
186
|
+
expect: { refusal: 'brand_required', mentions: ['IKEA'] },
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
name: 'a source other than open without the request’s words is refused: "Build a house" does not name the catalog',
|
|
190
|
+
tool: 'design_brief',
|
|
191
|
+
scene: storeysScene,
|
|
192
|
+
input: {
|
|
193
|
+
axes: OPEN_AXES,
|
|
194
|
+
source: 'catalog',
|
|
195
|
+
vision: 'Furnished from the catalog.',
|
|
196
|
+
beyond: nothing('catalog'),
|
|
197
|
+
},
|
|
198
|
+
expect: { refusal: 'source_quote_required', mentions: ['sourceQuote', 'the person\'s own words'] },
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
name: 'a quote the request does not hold is refused with the fact, where a person’s message is lent',
|
|
202
|
+
tool: 'design_brief',
|
|
203
|
+
scene: storeysScene,
|
|
204
|
+
input: {
|
|
205
|
+
axes: OPEN_AXES,
|
|
206
|
+
source: 'catalog',
|
|
207
|
+
sourceQuote: 'Furnished from the catalog',
|
|
208
|
+
vision: 'Furnished from the catalog.',
|
|
209
|
+
beyond: nothing('catalog'),
|
|
210
|
+
},
|
|
211
|
+
context: { requestText: 'Build a house' },
|
|
212
|
+
surfaces: ['core', 'chat'],
|
|
213
|
+
expect: {
|
|
214
|
+
refusal: 'source_not_in_request',
|
|
215
|
+
mentions: ['this request names none, so its source is open'],
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
name: 'a quote the request holds opens the catalog: "IKEA furniture only" in a bedroom request',
|
|
220
|
+
tool: 'design_brief',
|
|
221
|
+
scene: storeysScene,
|
|
222
|
+
input: {
|
|
223
|
+
axes: IKEA.axes,
|
|
224
|
+
source: 'brand',
|
|
225
|
+
sourceQuote: 'IKEA furniture only',
|
|
226
|
+
brand: 'IKEA',
|
|
227
|
+
vision: IKEA.vision,
|
|
228
|
+
beyond: IKEA.beyond,
|
|
229
|
+
},
|
|
230
|
+
context: { requestText: 'a bedroom with IKEA furniture only' },
|
|
231
|
+
surfaces: ['core', 'chat'],
|
|
232
|
+
readOnly: true,
|
|
233
|
+
expect: { result: { status: 'recorded', brief: { source: 'brand', sourceQuote: 'IKEA furniture only' } } },
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
name: 'view_assets records what it showed, for the brief’s asIs',
|
|
237
|
+
tool: 'view_assets',
|
|
238
|
+
scene: storeysScene,
|
|
239
|
+
input: { ids: ['toilet'] },
|
|
240
|
+
context: library,
|
|
241
|
+
readOnly: true,
|
|
242
|
+
expect: {
|
|
243
|
+
result: {},
|
|
244
|
+
session: (session) => (session.viewed?.includes('toilet') ? [] : ['not kept']),
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
name: 'an open brief naming a double bed, a bedside table and a closet as they are is refused: furniture is made',
|
|
249
|
+
tool: 'design_brief',
|
|
250
|
+
scene: storeysScene,
|
|
251
|
+
input: {
|
|
252
|
+
axes: OPEN.axes,
|
|
253
|
+
source: 'open',
|
|
254
|
+
vision: OPEN.vision,
|
|
255
|
+
beyond: OPEN.beyond,
|
|
256
|
+
asIs: ['double-bed', 'bedside-table', 'closet'].map((assetId) => ({
|
|
257
|
+
assetId,
|
|
258
|
+
reason: 'fits the room',
|
|
259
|
+
})),
|
|
260
|
+
},
|
|
261
|
+
context: { ...library, session: seen('double-bed', 'bedside-table', 'closet') },
|
|
262
|
+
expect: {
|
|
263
|
+
refusal: 'brief_as_is_furniture',
|
|
264
|
+
mentions: [
|
|
265
|
+
'Double bed is furniture: in an open brief furniture is made (add_object, place_design) or the request names a catalog source; asIs keeps technical equipment (sanitaryware, appliances).',
|
|
266
|
+
'Bedside table is furniture',
|
|
267
|
+
'Closet is furniture',
|
|
268
|
+
],
|
|
269
|
+
},
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
name: 'an open brief keeping a toilet not viewed is refused: look first',
|
|
273
|
+
tool: 'design_brief',
|
|
274
|
+
scene: storeysScene,
|
|
275
|
+
input: {
|
|
276
|
+
axes: OPEN.axes,
|
|
277
|
+
source: 'open',
|
|
278
|
+
vision: OPEN.vision,
|
|
279
|
+
beyond: OPEN.beyond,
|
|
280
|
+
asIs: OPEN_AS_IS.asIs,
|
|
281
|
+
},
|
|
282
|
+
context: library,
|
|
283
|
+
expect: {
|
|
284
|
+
refusal: 'brief_as_is_not_viewed',
|
|
285
|
+
mentions: ['toilet was not viewed', 'view_assets'],
|
|
286
|
+
},
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
name: 'a brief that adds nothing says so and why',
|
|
290
|
+
tool: 'design_brief',
|
|
291
|
+
scene: storeysScene,
|
|
292
|
+
input: {
|
|
293
|
+
axes: {
|
|
294
|
+
...OPEN_AXES,
|
|
295
|
+
dressing: bounded('catalog only', 'the request limits the pieces to the catalog'),
|
|
296
|
+
},
|
|
297
|
+
source: 'catalog',
|
|
298
|
+
sourceQuote: 'catalog only',
|
|
299
|
+
vision: 'The catalog as it is.',
|
|
300
|
+
beyond: nothing('the request says catalog only'),
|
|
301
|
+
},
|
|
302
|
+
readOnly: true,
|
|
303
|
+
expect: {
|
|
304
|
+
result: { status: 'recorded', brief: { beyond: nothing('the request says catalog only') } },
|
|
305
|
+
},
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
name: 'the owner’s bedroom with a two-piece beyond is refused: an open request owes the dressing, the empty layers named',
|
|
309
|
+
tool: 'design_brief',
|
|
310
|
+
scene: storeysScene,
|
|
311
|
+
input: {
|
|
312
|
+
axes: OPEN.axes,
|
|
313
|
+
source: 'open',
|
|
314
|
+
vision: OPEN.vision,
|
|
315
|
+
beyond: {
|
|
316
|
+
...nothing('no need'),
|
|
317
|
+
floor: ['a wool rug'],
|
|
318
|
+
light: ['a soft ceiling pendant'],
|
|
319
|
+
},
|
|
320
|
+
},
|
|
321
|
+
context: { requestText: BEDROOM_REQUEST },
|
|
322
|
+
expect: {
|
|
323
|
+
refusal: 'beyond_too_thin',
|
|
324
|
+
mentions: [
|
|
325
|
+
'The request leaves the dressing open: beyond names pieces for at least 6 of its 8 layers (textiles, light, windows, walls, floor, plants, objects, small furniture); textiles, windows, walls, plants, objects, small furniture say none.',
|
|
326
|
+
],
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
name: 'the same request with the dressing stated layer by layer is recorded, each bounded axis quoting the message, and hands the dressing back',
|
|
331
|
+
tool: 'design_brief',
|
|
332
|
+
scene: storeysScene,
|
|
333
|
+
input: {
|
|
334
|
+
axes: OPEN.axes,
|
|
335
|
+
source: 'open',
|
|
336
|
+
vision: OPEN.vision,
|
|
337
|
+
beyond: DRESSED,
|
|
338
|
+
},
|
|
339
|
+
context: { requestText: BEDROOM_REQUEST },
|
|
340
|
+
readOnly: true,
|
|
341
|
+
expect: { result: { status: 'recorded', brief: { axes: BEDROOM_AXES }, dressing: DRESSING } },
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
name: '"a bedroom with only a bed and a lamp": pieces exact and dressing bounded by those words, style and materials open, every layer none, is recorded',
|
|
345
|
+
tool: 'design_brief',
|
|
346
|
+
scene: storeysScene,
|
|
347
|
+
input: {
|
|
348
|
+
axes: {
|
|
349
|
+
...OPEN_AXES,
|
|
350
|
+
action: bounded('a bedroom', 'one bedroom'),
|
|
351
|
+
pieces: bounded('only a bed and a lamp', 'a bed and a lamp, and nothing else', 'exact'),
|
|
352
|
+
dressing: bounded('only a bed and a lamp', 'the request limits the pieces to those two'),
|
|
353
|
+
style: openAxis('the bed and the lamp designed plainly in oak and paper'),
|
|
354
|
+
materials: openAxis('oak, paper and plain cotton chosen for the two pieces'),
|
|
355
|
+
},
|
|
356
|
+
source: 'open',
|
|
357
|
+
vision: 'A bed and a lamp in a plain room, both designed.',
|
|
358
|
+
beyond: nothing('the request says only a bed and a lamp'),
|
|
359
|
+
},
|
|
360
|
+
context: { requestText: 'a bedroom with only a bed and a lamp' },
|
|
361
|
+
readOnly: true,
|
|
362
|
+
expect: {
|
|
363
|
+
result: {
|
|
364
|
+
status: 'recorded',
|
|
365
|
+
brief: {
|
|
366
|
+
axes: {
|
|
367
|
+
pieces: { kind: 'bounded', extent: 'exact' },
|
|
368
|
+
dressing: { kind: 'bounded' },
|
|
369
|
+
style: { kind: 'open' },
|
|
370
|
+
materials: { kind: 'open' },
|
|
371
|
+
},
|
|
372
|
+
},
|
|
373
|
+
dressing: [],
|
|
374
|
+
},
|
|
375
|
+
},
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
name: '"a bedroom with only a bed and a lamp" with the pieces left at their default reading, a minimum, cannot bound the dressing by those words',
|
|
379
|
+
tool: 'design_brief',
|
|
380
|
+
scene: storeysScene,
|
|
381
|
+
input: {
|
|
382
|
+
axes: {
|
|
383
|
+
...OPEN_AXES,
|
|
384
|
+
action: bounded('a bedroom', 'one bedroom'),
|
|
385
|
+
pieces: bounded('only a bed and a lamp', 'a bed and a lamp'),
|
|
386
|
+
dressing: bounded('only a bed and a lamp', 'the request limits the pieces to those two'),
|
|
387
|
+
},
|
|
388
|
+
source: 'open',
|
|
389
|
+
vision: 'A bed and a lamp in a plain room, both designed.',
|
|
390
|
+
beyond: nothing('the request says only a bed and a lamp'),
|
|
391
|
+
},
|
|
392
|
+
context: { requestText: 'a bedroom with only a bed and a lamp' },
|
|
393
|
+
expect: { refusal: 'dressing_bounded_by_minimum' },
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
name: 'a person’s message in French bounds the dressing by its own words: "rien d’autre" accepts none everywhere',
|
|
397
|
+
tool: 'design_brief',
|
|
398
|
+
scene: storeysScene,
|
|
399
|
+
input: {
|
|
400
|
+
axes: {
|
|
401
|
+
...OPEN_AXES,
|
|
402
|
+
pieces: bounded('un lit, rien d’autre', 'a bed and nothing else', 'exact'),
|
|
403
|
+
dressing: bounded('rien d’autre', 'the request limits the pieces to the bed'),
|
|
404
|
+
},
|
|
405
|
+
source: 'open',
|
|
406
|
+
vision: 'A bed in a plain room.',
|
|
407
|
+
beyond: nothing('the request says nothing else'),
|
|
408
|
+
},
|
|
409
|
+
context: { requestText: 'une chambre avec un lit, rien d’autre' },
|
|
410
|
+
surfaces: ['core', 'chat'],
|
|
411
|
+
readOnly: true,
|
|
412
|
+
expect: { result: { status: 'recorded', dressing: [] } },
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
name: 'before a brief, a sofa is not made',
|
|
416
|
+
tool: 'place_design',
|
|
417
|
+
scene: storeysScene,
|
|
418
|
+
input: sofa,
|
|
419
|
+
context: { designBrief: null },
|
|
420
|
+
expect: { refusal: 'design_brief_required', mentions: BEFORE },
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
name: '"add a lamp next to the sofa": action and dressing bounded by "add a lamp", style open with its design, beyond none everywhere, is recorded',
|
|
424
|
+
tool: 'design_brief',
|
|
425
|
+
scene: storeysScene,
|
|
426
|
+
input: {
|
|
427
|
+
axes: LAMP_AXES,
|
|
428
|
+
source: 'open',
|
|
429
|
+
vision: 'One lamp, designed for the sofa it stands beside.',
|
|
430
|
+
beyond: nothing('the request adds one lamp'),
|
|
431
|
+
},
|
|
432
|
+
context: { requestText: 'add a lamp next to the sofa' },
|
|
433
|
+
readOnly: true,
|
|
434
|
+
expect: { result: { status: 'recorded', brief: { axes: LAMP_AXES }, dressing: [] } },
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
name: '"Ajoute une lampe à côté du canapé": action and dressing bounded by "Ajoute une lampe", style open with its design, beyond none everywhere, is recorded',
|
|
438
|
+
tool: 'design_brief',
|
|
439
|
+
scene: storeysScene,
|
|
440
|
+
input: {
|
|
441
|
+
axes: LAMP_AXES_FR,
|
|
442
|
+
source: 'open',
|
|
443
|
+
vision: 'Une seule lampe, dessinée pour le canapé près duquel elle se tient.',
|
|
444
|
+
beyond: nothing('la demande ajoute une lampe'),
|
|
445
|
+
},
|
|
446
|
+
context: { requestText: 'Ajoute une lampe à côté du canapé' },
|
|
447
|
+
readOnly: true,
|
|
448
|
+
expect: { result: { status: 'recorded', brief: { axes: LAMP_AXES_FR }, dressing: [] } },
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
name: 'the lamp whose pieces are read as a minimum still bounds its dressing by "add a lamp": those words are not inside the pieces quote',
|
|
452
|
+
tool: 'design_brief',
|
|
453
|
+
scene: storeysScene,
|
|
454
|
+
input: {
|
|
455
|
+
axes: { ...LAMP_AXES, pieces: bounded('a lamp', 'the lamp the request names', 'minimum') },
|
|
456
|
+
source: 'open',
|
|
457
|
+
vision: 'One lamp, designed for the sofa it stands beside.',
|
|
458
|
+
beyond: nothing('the request adds one lamp'),
|
|
459
|
+
},
|
|
460
|
+
context: { requestText: 'add a lamp next to the sofa' },
|
|
461
|
+
readOnly: true,
|
|
462
|
+
expect: { result: { status: 'recorded', dressing: [] } },
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
name: 'the lamp dressing bounded by "a lamp", words inside a pieces quote read as a minimum, is refused',
|
|
466
|
+
tool: 'design_brief',
|
|
467
|
+
scene: storeysScene,
|
|
468
|
+
input: {
|
|
469
|
+
axes: {
|
|
470
|
+
...LAMP_AXES,
|
|
471
|
+
pieces: bounded('a lamp', 'the lamp the request names', 'minimum'),
|
|
472
|
+
dressing: bounded('a lamp', 'the request adds a lamp'),
|
|
473
|
+
},
|
|
474
|
+
source: 'open',
|
|
475
|
+
vision: 'One lamp, designed for the sofa it stands beside.',
|
|
476
|
+
beyond: nothing('the request adds one lamp'),
|
|
477
|
+
},
|
|
478
|
+
context: { requestText: 'add a lamp next to the sofa' },
|
|
479
|
+
expect: { refusal: 'dressing_bounded_by_minimum' },
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
name: 'the lamp with no style axis is refused, the absent axis named',
|
|
483
|
+
tool: 'design_brief',
|
|
484
|
+
scene: storeysScene,
|
|
485
|
+
input: {
|
|
486
|
+
axes: { ...LAMP_AXES, style: undefined },
|
|
487
|
+
source: 'open',
|
|
488
|
+
vision: 'One lamp beside the sofa.',
|
|
489
|
+
beyond: nothing('the request adds one lamp'),
|
|
490
|
+
},
|
|
491
|
+
expect: { refusal: 'axis_missing', mentions: ['style is absent'] },
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
name: 'the lamp with style open and no design statement is refused: an open axis says how it is designed',
|
|
495
|
+
tool: 'design_brief',
|
|
496
|
+
scene: storeysScene,
|
|
497
|
+
input: {
|
|
498
|
+
axes: { ...LAMP_AXES, style: openAxis('') },
|
|
499
|
+
source: 'open',
|
|
500
|
+
vision: 'One lamp beside the sofa.',
|
|
501
|
+
beyond: nothing('the request adds one lamp'),
|
|
502
|
+
},
|
|
503
|
+
expect: {
|
|
504
|
+
refusal: 'axis_open_without_design',
|
|
505
|
+
mentions: ['The style is open: say how it is designed.'],
|
|
506
|
+
},
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
name: 'a bounded axis whose quote is not in the person’s message is refused with the fact',
|
|
510
|
+
tool: 'design_brief',
|
|
511
|
+
scene: storeysScene,
|
|
512
|
+
input: {
|
|
513
|
+
axes: { ...LAMP_AXES, style: bounded('in brass and glass', 'brass and glass, as asked') },
|
|
514
|
+
source: 'open',
|
|
515
|
+
vision: 'One lamp beside the sofa.',
|
|
516
|
+
beyond: nothing('the request adds one lamp'),
|
|
517
|
+
},
|
|
518
|
+
context: { requestText: 'add a lamp next to the sofa' },
|
|
519
|
+
surfaces: ['core', 'chat'],
|
|
520
|
+
expect: {
|
|
521
|
+
refusal: 'axis_quote_not_in_request',
|
|
522
|
+
mentions: [
|
|
523
|
+
"The style is bounded by the request's own words: its quote must be words of the person's message.",
|
|
524
|
+
],
|
|
525
|
+
},
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
name: '"Build a house" with the dressing bounded by "a house" is recorded: the quote is in the message, and whether it bounds the dressing is the brief’s reading',
|
|
529
|
+
tool: 'design_brief',
|
|
530
|
+
scene: storeysScene,
|
|
531
|
+
input: {
|
|
532
|
+
axes: {
|
|
533
|
+
...OPEN_AXES,
|
|
534
|
+
action: bounded('a house', 'one house'),
|
|
535
|
+
dressing: bounded('a house', 'read as the house alone, undressed'),
|
|
536
|
+
},
|
|
537
|
+
source: 'open',
|
|
538
|
+
vision: 'A house, plainly built.',
|
|
539
|
+
beyond: nothing('read as the house alone'),
|
|
540
|
+
},
|
|
541
|
+
context: { requestText: 'Build a house' },
|
|
542
|
+
surfaces: ['core', 'chat'],
|
|
543
|
+
readOnly: true,
|
|
544
|
+
expect: { result: { status: 'recorded', dressing: [] } },
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
name: 'the bedroom with the dressing bounded by "a double bed" is refused: the named pieces are a minimum and do not bound the dressing',
|
|
548
|
+
tool: 'design_brief',
|
|
549
|
+
scene: storeysScene,
|
|
550
|
+
input: {
|
|
551
|
+
axes: {
|
|
552
|
+
...BEDROOM_AXES,
|
|
553
|
+
dressing: bounded('a double bed', 'the bed is the room’s dressing'),
|
|
554
|
+
},
|
|
555
|
+
source: 'open',
|
|
556
|
+
vision: 'A bed in a plain room.',
|
|
557
|
+
beyond: nothing('the bed is enough'),
|
|
558
|
+
},
|
|
559
|
+
context: { requestText: BEDROOM_REQUEST },
|
|
560
|
+
expect: {
|
|
561
|
+
refusal: 'dressing_bounded_by_minimum',
|
|
562
|
+
mentions: [
|
|
563
|
+
'The pieces the request names are a minimum: they do not bound the dressing. The dressing is bounded only by words that limit the pieces or the action.',
|
|
564
|
+
],
|
|
565
|
+
},
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
name: 'before a brief, the owner’s bedroom is not furnished in one call',
|
|
569
|
+
tool: 'furnish_room',
|
|
570
|
+
scene: storeysScene,
|
|
571
|
+
input: { roomType: 'bedroom', polygon: [[0, 0], [4, 0], [4, 5], [0, 5]], ...ground },
|
|
572
|
+
context: { ...library, designBrief: null },
|
|
573
|
+
expect: { refusal: 'design_brief_required', mentions: BEFORE },
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
name: 'before a brief, a double bed is not placed',
|
|
577
|
+
tool: 'place_items',
|
|
578
|
+
scene: storeysScene,
|
|
579
|
+
input: bed,
|
|
580
|
+
context: { ...library, designBrief: null },
|
|
581
|
+
expect: { refusal: 'design_brief_required', mentions: BEFORE },
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
name: 'before a brief, place_in_room does not place either',
|
|
585
|
+
tool: 'place_in_room',
|
|
586
|
+
scene: storeysScene,
|
|
587
|
+
input: { assetId: 'double-bed', polygon: [[0, 0], [4, 0], [4, 5], [0, 5]], ...ground },
|
|
588
|
+
context: { ...library, designBrief: null },
|
|
589
|
+
expect: { refusal: 'design_brief_required', mentions: BEFORE },
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
name: 'before a brief, a design is not placed',
|
|
593
|
+
tool: 'place_design',
|
|
594
|
+
scene: storeysScene,
|
|
595
|
+
input: { design: {}, hostId: 'level_ground', position: [1, 0, 1] },
|
|
596
|
+
context: { designBrief: null },
|
|
597
|
+
expect: { refusal: 'design_brief_required', mentions: BEFORE },
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
name: 'reading the catalog is open before a brief',
|
|
601
|
+
tool: 'search_assets',
|
|
602
|
+
scene: storeysScene,
|
|
603
|
+
input: { queries: [{ query: 'bed' }] },
|
|
604
|
+
context: { ...library, designBrief: null },
|
|
605
|
+
readOnly: true,
|
|
606
|
+
expect: { result: {} },
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
name: 'a batch holding one furnishing call before a brief is refused whole, whatever onRefusal says',
|
|
610
|
+
tool: 'run_batch',
|
|
611
|
+
scene: storeysScene,
|
|
612
|
+
input: {
|
|
613
|
+
calls: [
|
|
614
|
+
{ tool: 'list_levels' },
|
|
615
|
+
{ tool: 'place_design', input: sofa },
|
|
616
|
+
],
|
|
617
|
+
onRefusal: 'skip',
|
|
618
|
+
},
|
|
619
|
+
context: { designBrief: null },
|
|
620
|
+
expect: {
|
|
621
|
+
refusal: 'design_brief_required',
|
|
622
|
+
mentions: ["The batch's call 2 (place_design) is refused", 'Nothing in the batch was applied'],
|
|
623
|
+
},
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
name: 'an open brief: the piece is made with place_design',
|
|
627
|
+
tool: 'place_design',
|
|
628
|
+
scene: storeysScene,
|
|
629
|
+
input: sofa,
|
|
630
|
+
context: { designBrief: OPEN },
|
|
631
|
+
expect: { result: { parentId: 'level_ground' } },
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
name: 'an open brief: a double bed from the catalog is refused, with the fact',
|
|
635
|
+
tool: 'place_items',
|
|
636
|
+
scene: storeysScene,
|
|
637
|
+
input: bed,
|
|
638
|
+
context: { ...library, designBrief: OPEN },
|
|
639
|
+
expect: { refusal: 'brief_source_open', mentions: [OPEN_SOURCE('double-bed')] },
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
name: 'an open brief: furnish_room, which places a whole stock set, stays closed',
|
|
643
|
+
tool: 'furnish_room',
|
|
644
|
+
scene: storeysScene,
|
|
645
|
+
input: { roomType: 'bedroom', polygon: [[0, 0], [4, 0], [4, 5], [0, 5]], ...ground },
|
|
646
|
+
context: { ...library, designBrief: OPEN },
|
|
647
|
+
expect: {
|
|
648
|
+
refusal: 'brief_source_open',
|
|
649
|
+
mentions: [OPEN_SOURCE("the pieces of furnish_room's stock set")],
|
|
650
|
+
},
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
name: 'an open brief: a catalog piece named in asIs is placed as it is',
|
|
654
|
+
tool: 'place_items',
|
|
655
|
+
scene: storeysScene,
|
|
656
|
+
input: wc,
|
|
657
|
+
context: { ...library, designBrief: OPEN_AS_IS },
|
|
658
|
+
expect: { result: { ok: true, levelId: 'level_ground' } },
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
name: 'an open brief: asIs lets that piece through and still refuses the others of the call',
|
|
662
|
+
tool: 'place_items',
|
|
663
|
+
scene: storeysScene,
|
|
664
|
+
input: { items: [...wc.items, ...bed.items], ...ground },
|
|
665
|
+
context: { ...library, designBrief: OPEN_AS_IS },
|
|
666
|
+
expect: { refusal: 'brief_source_open', mentions: [OPEN_SOURCE('double-bed')] },
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
name: 'a brand brief opens the catalog: the double bed is placed',
|
|
670
|
+
tool: 'place_items',
|
|
671
|
+
scene: storeysScene,
|
|
672
|
+
input: bed,
|
|
673
|
+
context: { ...library, designBrief: IKEA },
|
|
674
|
+
expect: { result: { ok: true, levelId: 'level_ground' } },
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
name: 'a brand brief leaves creation open for what the catalog lacks',
|
|
678
|
+
tool: 'place_design',
|
|
679
|
+
scene: storeysScene,
|
|
680
|
+
input: sofa,
|
|
681
|
+
context: { designBrief: IKEA },
|
|
682
|
+
expect: { result: { parentId: 'level_ground' } },
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
name: 'a batch under an open brief makes its pieces',
|
|
686
|
+
tool: 'run_batch',
|
|
687
|
+
scene: storeysScene,
|
|
688
|
+
input: { calls: [{ tool: 'place_design', input: sofa }] },
|
|
689
|
+
context: { designBrief: OPEN },
|
|
690
|
+
expect: { result: { status: 'applied', applied: 1, refused: 0 } },
|
|
691
|
+
},
|
|
692
|
+
{
|
|
693
|
+
name: 'a batch under an open brief refuses a catalog placement whole',
|
|
694
|
+
tool: 'run_batch',
|
|
695
|
+
scene: storeysScene,
|
|
696
|
+
input: {
|
|
697
|
+
calls: [
|
|
698
|
+
{ tool: 'place_design', input: sofa },
|
|
699
|
+
{ tool: 'place_in_room', input: { assetId: 'double-bed', polygon: [[0, 0], [4, 0], [4, 5], [0, 5]], ...ground } },
|
|
700
|
+
],
|
|
701
|
+
onRefusal: 'skip',
|
|
702
|
+
},
|
|
703
|
+
context: { ...library, designBrief: OPEN },
|
|
704
|
+
expect: {
|
|
705
|
+
refusal: 'brief_source_open',
|
|
706
|
+
mentions: ["The batch's call 2 (place_in_room) is refused", OPEN_SOURCE('double-bed')],
|
|
707
|
+
},
|
|
708
|
+
},
|
|
709
|
+
];
|