@hatiolab/things-scene 10.0.0-beta.12 → 10.0.0-beta.120
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-types/animation/animate.d.ts.map +1 -1
- package/dist-types/animation/animations/animation.d.ts +5 -3
- package/dist-types/animation/animations/animation.d.ts.map +1 -1
- package/dist-types/animation/animations/heartbeat.d.ts +0 -7
- package/dist-types/animation/animations/heartbeat.d.ts.map +1 -1
- package/dist-types/animation/animations/waypoint.d.ts +45 -4
- package/dist-types/animation/animations/waypoint.d.ts.map +1 -1
- package/dist-types/animation/interfaces.d.ts +1 -1
- package/dist-types/animation/interfaces.d.ts.map +1 -1
- package/dist-types/clock/frame-clock.d.ts +119 -0
- package/dist-types/clock/frame-clock.d.ts.map +1 -0
- package/dist-types/clock/index.d.ts +3 -0
- package/dist-types/clock/index.d.ts.map +1 -0
- package/dist-types/command/command-migrate.d.ts.map +1 -1
- package/dist-types/command/snapshot-commander.d.ts.map +1 -1
- package/dist-types/components/audio.d.ts +8 -3
- package/dist-types/components/audio.d.ts.map +1 -1
- package/dist-types/components/component-data.d.ts +24 -0
- package/dist-types/components/component-data.d.ts.map +1 -1
- package/dist-types/components/component-geometry.d.ts.map +1 -1
- package/dist-types/components/component.d.ts +31 -4
- package/dist-types/components/component.d.ts.map +1 -1
- package/dist-types/components/container-abstract.d.ts +50 -7
- package/dist-types/components/container-abstract.d.ts.map +1 -1
- package/dist-types/components/container.d.ts +7 -2
- package/dist-types/components/container.d.ts.map +1 -1
- package/dist-types/components/data/data.d.ts.map +1 -1
- package/dist-types/components/data/evaluator.d.ts +27 -0
- package/dist-types/components/data/evaluator.d.ts.map +1 -1
- package/dist-types/components/drawer/fill.d.ts.map +1 -1
- package/dist-types/components/drawer/stroke.d.ts.map +1 -1
- package/dist-types/components/ellipse.d.ts +8 -3
- package/dist-types/components/ellipse.d.ts.map +1 -1
- package/dist-types/components/generic-placeholders.d.ts +292 -0
- package/dist-types/components/generic-placeholders.d.ts.map +1 -0
- package/dist-types/components/geometry/snap-guide.d.ts +45 -0
- package/dist-types/components/geometry/snap-guide.d.ts.map +1 -0
- package/dist-types/components/geometry/transcoord.d.ts.map +1 -1
- package/dist-types/components/global-ref.d.ts.map +1 -1
- package/dist-types/components/group.d.ts +1 -0
- package/dist-types/components/group.d.ts.map +1 -1
- package/dist-types/components/html/shadow.d.ts +33 -1
- package/dist-types/components/html/shadow.d.ts.map +1 -1
- package/dist-types/components/html-overlay-container.d.ts +7 -2
- package/dist-types/components/html-overlay-container.d.ts.map +1 -1
- package/dist-types/components/html-overlay-element.d.ts +15 -5
- package/dist-types/components/html-overlay-element.d.ts.map +1 -1
- package/dist-types/components/image-view.d.ts +8 -3
- package/dist-types/components/image-view.d.ts.map +1 -1
- package/dist-types/components/index.d.ts +7 -0
- package/dist-types/components/index.d.ts.map +1 -1
- package/dist-types/components/info-window.d.ts +8 -3
- package/dist-types/components/info-window.d.ts.map +1 -1
- package/dist-types/components/line.d.ts +2 -1
- package/dist-types/components/line.d.ts.map +1 -1
- package/dist-types/components/local-ref.d.ts +8 -3
- package/dist-types/components/local-ref.d.ts.map +1 -1
- package/dist-types/components/mixins/connectable.d.ts +8 -3
- package/dist-types/components/mixins/connectable.d.ts.map +1 -1
- package/dist-types/components/mixins/data-source.d.ts +8 -3
- package/dist-types/components/mixins/data-source.d.ts.map +1 -1
- package/dist-types/components/mixins/gltf-component.d.ts +281 -0
- package/dist-types/components/mixins/gltf-component.d.ts.map +1 -0
- package/dist-types/components/mixins/html-element.d.ts +7 -2
- package/dist-types/components/mixins/html-element.d.ts.map +1 -1
- package/dist-types/components/mixins/move-handle.d.ts +8 -3
- package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
- package/dist-types/components/mixins/rect-path.d.ts +8 -3
- package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
- package/dist-types/components/mixins/three-d-only.d.ts +248 -0
- package/dist-types/components/mixins/three-d-only.d.ts.map +1 -0
- package/dist-types/components/mixins/value-holder.d.ts +8 -3
- package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
- package/dist-types/components/mutater/path.d.ts.map +1 -1
- package/dist-types/components/node.d.ts +8 -3
- package/dist-types/components/node.d.ts.map +1 -1
- package/dist-types/components/outline/path-outline.d.ts.map +1 -1
- package/dist-types/components/polygon-container.d.ts +61 -0
- package/dist-types/components/polygon-container.d.ts.map +1 -0
- package/dist-types/components/polygon.d.ts +2 -0
- package/dist-types/components/polygon.d.ts.map +1 -1
- package/dist-types/components/polyline.d.ts.map +1 -1
- package/dist-types/components/popup-container.d.ts +25 -0
- package/dist-types/components/popup-container.d.ts.map +1 -0
- package/dist-types/components/popup.d.ts +38 -3
- package/dist-types/components/popup.d.ts.map +1 -1
- package/dist-types/components/position/popup-position.d.ts +11 -0
- package/dist-types/components/position/popup-position.d.ts.map +1 -1
- package/dist-types/components/rect.d.ts +16 -6
- package/dist-types/components/rect.d.ts.map +1 -1
- package/dist-types/components/retention/retention-manager.d.ts +9 -1
- package/dist-types/components/retention/retention-manager.d.ts.map +1 -1
- package/dist-types/components/root-container.d.ts +17 -4
- package/dist-types/components/root-container.d.ts.map +1 -1
- package/dist-types/components/ruler.d.ts +8 -3
- package/dist-types/components/ruler.d.ts.map +1 -1
- package/dist-types/components/service-component.d.ts +269 -0
- package/dist-types/components/service-component.d.ts.map +1 -0
- package/dist-types/components/shape.d.ts.map +1 -1
- package/dist-types/components/text.d.ts +8 -3
- package/dist-types/components/text.d.ts.map +1 -1
- package/dist-types/core/memoize.d.ts.map +1 -1
- package/dist-types/decorator/decorator-registry.d.ts +14 -1
- package/dist-types/decorator/decorator-registry.d.ts.map +1 -1
- package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -1
- package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -1
- package/dist-types/decorator/decorators/data-spread-decorator.d.ts +16 -0
- package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -1
- package/dist-types/diagnostics/contract-inspector.d.ts +103 -0
- package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -0
- package/dist-types/diagnostics/data-lag-tracker.d.ts +44 -0
- package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
- package/dist-types/diagnostics/inspector.d.ts +127 -4
- package/dist-types/diagnostics/inspector.d.ts.map +1 -1
- package/dist-types/diagnostics/load-tracker.d.ts +82 -0
- package/dist-types/diagnostics/load-tracker.d.ts.map +1 -0
- package/dist-types/diagnostics/loading-overlay.d.ts +41 -0
- package/dist-types/diagnostics/loading-overlay.d.ts.map +1 -0
- package/dist-types/diagnostics/metrics.d.ts +10 -0
- package/dist-types/diagnostics/metrics.d.ts.map +1 -1
- package/dist-types/effect/shadow.d.ts +3 -1
- package/dist-types/effect/shadow.d.ts.map +1 -1
- package/dist-types/event-map/index.d.ts +1 -0
- package/dist-types/event-map/index.d.ts.map +1 -1
- package/dist-types/event-map/transition-handler.d.ts +2 -0
- package/dist-types/event-map/transition-handler.d.ts.map +1 -0
- package/dist-types/interfaces/event-handler.d.ts +40 -0
- package/dist-types/interfaces/event-handler.d.ts.map +1 -0
- package/dist-types/interfaces/index.d.ts +2 -0
- package/dist-types/interfaces/index.d.ts.map +1 -1
- package/dist-types/interfaces/layout.d.ts +35 -1
- package/dist-types/interfaces/layout.d.ts.map +1 -1
- package/dist-types/interfaces/providers.d.ts +20 -3
- package/dist-types/interfaces/providers.d.ts.map +1 -1
- package/dist-types/interfaces/real-object.d.ts +8 -1
- package/dist-types/interfaces/real-object.d.ts.map +1 -1
- package/dist-types/interfaces/rendering.d.ts +86 -14
- package/dist-types/interfaces/rendering.d.ts.map +1 -1
- package/dist-types/interfaces/types.d.ts +20 -1
- package/dist-types/interfaces/types.d.ts.map +1 -1
- package/dist-types/layer/action/popup.d.ts +13 -0
- package/dist-types/layer/action/popup.d.ts.map +1 -1
- package/dist-types/layer/add-layer.d.ts +8 -0
- package/dist-types/layer/add-layer.d.ts.map +1 -1
- package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -1
- package/dist-types/layer/index.d.ts +1 -0
- package/dist-types/layer/index.d.ts.map +1 -1
- package/dist-types/layer/layer.d.ts +1 -0
- package/dist-types/layer/layer.d.ts.map +1 -1
- package/dist-types/layer/model-layer.d.ts +83 -7
- package/dist-types/layer/model-layer.d.ts.map +1 -1
- package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
- package/dist-types/layer/modeling-layer.d.ts.map +1 -1
- package/dist-types/layer/selection/selected-finder.d.ts +1 -1
- package/dist-types/layer/selection/selected-finder.d.ts.map +1 -1
- package/dist-types/layer/selection-layer.d.ts.map +1 -1
- package/dist-types/layer/snap-guide-layer.d.ts +23 -0
- package/dist-types/layer/snap-guide-layer.d.ts.map +1 -0
- package/dist-types/layout/absolute.d.ts +2 -2
- package/dist-types/layout/card.d.ts +2 -2
- package/dist-types/layout/linear-horizontal.d.ts +2 -2
- package/dist-types/layout/linear-vertical.d.ts +2 -2
- package/dist-types/layout/table.d.ts +3 -3
- package/dist-types/math/component-pose.d.ts +51 -0
- package/dist-types/math/component-pose.d.ts.map +1 -0
- package/dist-types/math/index.d.ts +3 -0
- package/dist-types/math/index.d.ts.map +1 -0
- package/dist-types/math/pose6dof.d.ts +93 -0
- package/dist-types/math/pose6dof.d.ts.map +1 -0
- package/dist-types/navigation/index.d.ts +7 -0
- package/dist-types/navigation/index.d.ts.map +1 -0
- package/dist-types/navigation/nav-graph.d.ts +55 -0
- package/dist-types/navigation/nav-graph.d.ts.map +1 -0
- package/dist-types/navigation/path-planner.d.ts +29 -0
- package/dist-types/navigation/path-planner.d.ts.map +1 -0
- package/dist-types/navigation/reservation-table.d.ts +103 -0
- package/dist-types/navigation/reservation-table.d.ts.map +1 -0
- package/dist-types/navigation/types.d.ts +145 -0
- package/dist-types/navigation/types.d.ts.map +1 -0
- package/dist-types/placement/index.d.ts +3 -0
- package/dist-types/placement/index.d.ts.map +1 -0
- package/dist-types/placement/placement.d.ts +53 -0
- package/dist-types/placement/placement.d.ts.map +1 -0
- package/dist-types/search/index.d.ts +3 -0
- package/dist-types/search/index.d.ts.map +1 -0
- package/dist-types/search/scene-search-engine.d.ts +65 -0
- package/dist-types/search/scene-search-engine.d.ts.map +1 -0
- package/dist-types/search/search-overlay.d.ts +95 -0
- package/dist-types/search/search-overlay.d.ts.map +1 -0
- package/dist-types/things-scene/api/add-start.d.ts +25 -0
- package/dist-types/things-scene/api/add-start.d.ts.map +1 -1
- package/dist-types/things-scene/api/align.d.ts.map +1 -1
- package/dist-types/things-scene/api/distribute.d.ts.map +1 -1
- package/dist-types/things-scene/api/ids.d.ts +4 -1
- package/dist-types/things-scene/api/ids.d.ts.map +1 -1
- package/dist-types/things-scene/api/index.d.ts +1 -1
- package/dist-types/things-scene/api/index.d.ts.map +1 -1
- package/dist-types/things-scene/api/place.d.ts.map +1 -1
- package/dist-types/things-scene/application-context.d.ts +49 -0
- package/dist-types/things-scene/application-context.d.ts.map +1 -1
- package/dist-types/things-scene/create.d.ts +43 -3
- package/dist-types/things-scene/create.d.ts.map +1 -1
- package/dist-types/things-scene/index.d.ts +26 -0
- package/dist-types/things-scene/index.d.ts.map +1 -1
- package/dist-types/things-scene/scene.d.ts +108 -2
- package/dist-types/things-scene/scene.d.ts.map +1 -1
- package/dist-types/threed/arrow-3d.d.ts +13 -4
- package/dist-types/threed/arrow-3d.d.ts.map +1 -1
- package/dist-types/threed/environments/base-environment.d.ts +17 -0
- package/dist-types/threed/environments/base-environment.d.ts.map +1 -0
- package/dist-types/threed/environments/cloudy-environment.d.ts +10 -0
- package/dist-types/threed/environments/cloudy-environment.d.ts.map +1 -0
- package/dist-types/threed/environments/factory-environment.d.ts +3 -3
- package/dist-types/threed/environments/factory-environment.d.ts.map +1 -1
- package/dist-types/threed/environments/home-environment.d.ts +3 -3
- package/dist-types/threed/environments/home-environment.d.ts.map +1 -1
- package/dist-types/threed/environments/office-environment.d.ts +3 -3
- package/dist-types/threed/environments/office-environment.d.ts.map +1 -1
- package/dist-types/threed/environments/rainy-environment.d.ts +10 -0
- package/dist-types/threed/environments/rainy-environment.d.ts.map +1 -0
- package/dist-types/threed/environments/studio-environment.d.ts +2 -3
- package/dist-types/threed/environments/studio-environment.d.ts.map +1 -1
- package/dist-types/threed/environments/sunny-environment.d.ts +10 -0
- package/dist-types/threed/environments/sunny-environment.d.ts.map +1 -0
- package/dist-types/threed/environments/warehouse-environment.d.ts +3 -3
- package/dist-types/threed/environments/warehouse-environment.d.ts.map +1 -1
- package/dist-types/threed/factories/backdrop.d.ts +537 -0
- package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
- package/dist-types/threed/factories/banner.d.ts +14 -4
- package/dist-types/threed/factories/banner.d.ts.map +1 -1
- package/dist-types/threed/factories/camera.d.ts +10 -3
- package/dist-types/threed/factories/camera.d.ts.map +1 -1
- package/dist-types/threed/factories/cube.d.ts +9 -3
- package/dist-types/threed/factories/cube.d.ts.map +1 -1
- package/dist-types/threed/factories/cylinder.d.ts +1 -0
- package/dist-types/threed/factories/cylinder.d.ts.map +1 -1
- package/dist-types/threed/factories/decal.d.ts +512 -0
- package/dist-types/threed/factories/decal.d.ts.map +1 -0
- package/dist-types/threed/factories/floor-plate.d.ts +11 -0
- package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
- package/dist-types/threed/factories/gltf-object.d.ts +266 -38
- package/dist-types/threed/factories/gltf-object.d.ts.map +1 -1
- package/dist-types/threed/factories/group.d.ts +2 -0
- package/dist-types/threed/factories/group.d.ts.map +1 -0
- package/dist-types/threed/factories/light.d.ts +1 -0
- package/dist-types/threed/factories/light.d.ts.map +1 -1
- package/dist-types/threed/factories/line.d.ts +10 -0
- package/dist-types/threed/factories/line.d.ts.map +1 -0
- package/dist-types/threed/factories/ortholine.d.ts +10 -0
- package/dist-types/threed/factories/ortholine.d.ts.map +1 -0
- package/dist-types/threed/factories/polygon.d.ts +19 -0
- package/dist-types/threed/factories/polygon.d.ts.map +1 -1
- package/dist-types/threed/factories/polyline.d.ts +10 -0
- package/dist-types/threed/factories/polyline.d.ts.map +1 -0
- package/dist-types/threed/factories/rect.d.ts.map +1 -1
- package/dist-types/threed/factories/sphere.d.ts +6 -0
- package/dist-types/threed/factories/sphere.d.ts.map +1 -1
- package/dist-types/threed/factories/sprite.d.ts +9 -3
- package/dist-types/threed/factories/sprite.d.ts.map +1 -1
- package/dist-types/threed/factories/triangle.d.ts.map +1 -1
- package/dist-types/threed/factories/wall.d.ts +9 -3
- package/dist-types/threed/factories/wall.d.ts.map +1 -1
- package/dist-types/threed/floor/floor.d.ts.map +1 -1
- package/dist-types/threed/handle-3d.d.ts +21 -0
- package/dist-types/threed/handle-3d.d.ts.map +1 -0
- package/dist-types/threed/html/elements.d.ts.map +1 -1
- package/dist-types/threed/index.d.ts +24 -0
- package/dist-types/threed/index.d.ts.map +1 -1
- package/dist-types/threed/managers/box-selection-manager.d.ts +26 -0
- package/dist-types/threed/managers/box-selection-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/camera-bookmark-manager.d.ts +127 -0
- package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/camera-manager.d.ts +9 -3
- package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/controls-manager.d.ts +25 -4
- package/dist-types/threed/managers/controls-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/event-manager3d.d.ts +8 -0
- package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -1
- package/dist-types/threed/managers/gizmo-manager.d.ts +6 -0
- package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts +55 -1
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/index.d.ts +4 -1
- package/dist-types/threed/managers/index.d.ts.map +1 -1
- package/dist-types/threed/managers/interaction-manager.d.ts +17 -0
- package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/light-manager.d.ts +15 -0
- package/dist-types/threed/managers/light-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
- package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/scene-manager.d.ts +12 -2
- package/dist-types/threed/managers/scene-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/types.d.ts +4 -2
- package/dist-types/threed/managers/types.d.ts.map +1 -1
- package/dist-types/threed/managers/vertex-gizmo-manager.d.ts +155 -0
- package/dist-types/threed/managers/vertex-gizmo-manager.d.ts.map +1 -0
- package/dist-types/threed/material-3d.d.ts +5 -2
- package/dist-types/threed/material-3d.d.ts.map +1 -1
- package/dist-types/threed/ratio-lock-utils.d.ts +9 -0
- package/dist-types/threed/ratio-lock-utils.d.ts.map +1 -0
- package/dist-types/threed/real-object-dom-element.d.ts +2 -0
- package/dist-types/threed/real-object-dom-element.d.ts.map +1 -1
- package/dist-types/threed/real-object-dom-texture.d.ts +9 -0
- package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -1
- package/dist-types/threed/real-object-external-model.d.ts +24 -0
- package/dist-types/threed/real-object-external-model.d.ts.map +1 -0
- package/dist-types/threed/real-object-extrude.d.ts +16 -1
- package/dist-types/threed/real-object-extrude.d.ts.map +1 -1
- package/dist-types/threed/real-object-gltf.d.ts +21 -11
- package/dist-types/threed/real-object-gltf.d.ts.map +1 -1
- package/dist-types/threed/real-object-group.d.ts +2 -0
- package/dist-types/threed/real-object-group.d.ts.map +1 -1
- package/dist-types/threed/real-object-line.d.ts +83 -0
- package/dist-types/threed/real-object-line.d.ts.map +1 -0
- package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
- package/dist-types/threed/real-object-plane-2d.d.ts +23 -0
- package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -1
- package/dist-types/threed/real-object-service.d.ts +14 -0
- package/dist-types/threed/real-object-service.d.ts.map +1 -0
- package/dist-types/threed/real-object-sprite.d.ts +7 -1
- package/dist-types/threed/real-object-sprite.d.ts.map +1 -1
- package/dist-types/threed/real-object-text.d.ts +5 -0
- package/dist-types/threed/real-object-text.d.ts.map +1 -1
- package/dist-types/threed/real-object.d.ts +217 -7
- package/dist-types/threed/real-object.d.ts.map +1 -1
- package/dist-types/threed/text-editor-3d.d.ts +11 -0
- package/dist-types/threed/text-editor-3d.d.ts.map +1 -0
- package/dist-types/threed/texture/canvas-texture.d.ts +7 -0
- package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -1
- package/dist-types/threed/texture/fillstyle-texture.d.ts +57 -0
- package/dist-types/threed/texture/fillstyle-texture.d.ts.map +1 -0
- package/dist-types/threed/texture/text-texture.d.ts +15 -0
- package/dist-types/threed/texture/text-texture.d.ts.map +1 -1
- package/dist-types/threed/three-capability.d.ts +148 -6
- package/dist-types/threed/three-capability.d.ts.map +1 -1
- package/dist-types/threed/three-container.d.ts +0 -1
- package/dist-types/threed/three-container.d.ts.map +1 -1
- package/dist-types/threed/three-dimensional-container.d.ts +0 -1
- package/dist-types/threed/three-dimensional-container.d.ts.map +1 -1
- package/dist-types/threed/utils/anchor.d.ts +33 -0
- package/dist-types/threed/utils/anchor.d.ts.map +1 -0
- package/dist-types/threed/utils/dispose.d.ts.map +1 -1
- package/dist-types/threed/utils/polygon-shape.d.ts +21 -0
- package/dist-types/threed/utils/polygon-shape.d.ts.map +1 -0
- package/dist-types/threed/utils/tether.d.ts +46 -0
- package/dist-types/threed/utils/tether.d.ts.map +1 -0
- package/dist-types/threed/z-priority.d.ts +27 -0
- package/dist-types/threed/z-priority.d.ts.map +1 -0
- package/dist-types/tracker/tracker.d.ts +57 -0
- package/dist-types/tracker/tracker.d.ts.map +1 -0
- package/dist-types/transfer/carrier-line-capability.d.ts +95 -0
- package/dist-types/transfer/carrier-line-capability.d.ts.map +1 -0
- package/dist-types/transfer/centering-slot-strategy.d.ts +8 -0
- package/dist-types/transfer/centering-slot-strategy.d.ts.map +1 -0
- package/dist-types/transfer/container-capacity.d.ts +380 -0
- package/dist-types/transfer/container-capacity.d.ts.map +1 -0
- package/dist-types/transfer/fixed-slot-strategy.d.ts +8 -0
- package/dist-types/transfer/fixed-slot-strategy.d.ts.map +1 -0
- package/dist-types/transfer/index.d.ts +23 -0
- package/dist-types/transfer/index.d.ts.map +1 -0
- package/dist-types/transfer/pickup-helpers.d.ts +65 -0
- package/dist-types/transfer/pickup-helpers.d.ts.map +1 -0
- package/dist-types/transfer/simulation-clock.d.ts +45 -0
- package/dist-types/transfer/simulation-clock.d.ts.map +1 -0
- package/dist-types/transfer/storage-rack-capability.d.ts +144 -0
- package/dist-types/transfer/storage-rack-capability.d.ts.map +1 -0
- package/dist-types/transfer/tracer.d.ts +35 -0
- package/dist-types/transfer/tracer.d.ts.map +1 -0
- package/dist-types/transfer/transfer.d.ts +224 -0
- package/dist-types/transfer/transfer.d.ts.map +1 -0
- package/dist-types/transfer/types.d.ts +424 -0
- package/dist-types/transfer/types.d.ts.map +1 -0
- package/dist-types/transition/transition-effect.d.ts +117 -0
- package/dist-types/transition/transition-effect.d.ts.map +1 -0
- package/dist-types/types/bounding.d.ts +1 -1
- package/dist-types/types/bounding.d.ts.map +1 -1
- package/dist-types/types/capability.d.ts +59 -0
- package/dist-types/types/capability.d.ts.map +1 -0
- package/dist-types/types/component.d.ts +6 -177
- package/dist-types/types/component.d.ts.map +1 -1
- package/dist-types/types/event.d.ts +57 -0
- package/dist-types/types/event.d.ts.map +1 -1
- package/dist-types/types/polygon-path-arc.d.ts +72 -0
- package/dist-types/types/polygon-path-arc.d.ts.map +1 -0
- package/dist-types/types/polygon-path.d.ts +153 -0
- package/dist-types/types/polygon-path.d.ts.map +1 -0
- package/package.json +13 -2
- package/things-scene-min.js +12 -13
- package/things-scene-min.js.map +1 -1
- package/things-scene-transfer.mjs +6 -0
- package/things-scene.mjs +8 -9
- package/things-scene.mjs.map +1 -1
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
export type Vec3 = {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
z: number;
|
|
5
|
+
};
|
|
6
|
+
export type Size3 = {
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
depth: number;
|
|
10
|
+
};
|
|
11
|
+
export type Bounds3 = Vec3 & Size3;
|
|
12
|
+
/**
|
|
13
|
+
* How items are arranged within a slot.
|
|
14
|
+
* 'single' — one item, fixed position (fork tip, TCP, simple cell)
|
|
15
|
+
* 'stack-y' — items stacked along +Y (crane forks, pallet stack)
|
|
16
|
+
* 'queue-z' — items queued along +Z / belt axis (conveyor)
|
|
17
|
+
* 'grid-xz' — items arranged in an XZ grid (AGV deck, pallet)
|
|
18
|
+
*/
|
|
19
|
+
export type SlotArrangement = 'single' | 'stack-y' | 'queue-z' | 'grid-xz';
|
|
20
|
+
/** Optional grid dimensions for 'grid-xz' arrangement. */
|
|
21
|
+
export type GridShape = {
|
|
22
|
+
cols: number;
|
|
23
|
+
rows: number;
|
|
24
|
+
};
|
|
25
|
+
/** Describes one logical slot within a Transferable container. */
|
|
26
|
+
export interface SlotDef {
|
|
27
|
+
id: string;
|
|
28
|
+
/** Local position of the slot origin within the container (scene units). */
|
|
29
|
+
localPosition?: Vec3;
|
|
30
|
+
localRotation?: Vec3;
|
|
31
|
+
/** Component types that may occupy this slot. Empty = any type allowed. */
|
|
32
|
+
allowedTypes?: string[];
|
|
33
|
+
/** Maximum occupant count (default 1). */
|
|
34
|
+
maxCount?: number;
|
|
35
|
+
arrangement?: SlotArrangement;
|
|
36
|
+
gridShape?: GridShape;
|
|
37
|
+
}
|
|
38
|
+
/** Runtime assignment — which slot a component currently occupies. */
|
|
39
|
+
export interface SlotAssignment {
|
|
40
|
+
slotId: string;
|
|
41
|
+
index: number;
|
|
42
|
+
}
|
|
43
|
+
export interface TransferOptions {
|
|
44
|
+
slotId?: string;
|
|
45
|
+
animated?: boolean;
|
|
46
|
+
duration?: number;
|
|
47
|
+
ease?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Pre-wired to a fixed component reference; resolved at design time.
|
|
51
|
+
* Used for static conveyors and fixed-route connections.
|
|
52
|
+
*/
|
|
53
|
+
export interface StaticPolicy {
|
|
54
|
+
kind: 'static';
|
|
55
|
+
targetRef: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Target resolved at runtime by evaluating an expression against the board model.
|
|
59
|
+
* Used for dynamic routing (sorter lane logic, WCS-driven divert).
|
|
60
|
+
*/
|
|
61
|
+
export interface DynamicPolicy {
|
|
62
|
+
kind: 'dynamic';
|
|
63
|
+
resolverExpr: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Transfer is suspended until an external signal (WCS/MES event) resolves.
|
|
67
|
+
* The component waits at the port; a timeout fires fallback after `timeoutMs`.
|
|
68
|
+
*/
|
|
69
|
+
export interface PendingPolicy {
|
|
70
|
+
kind: 'pending';
|
|
71
|
+
timeoutMs?: number;
|
|
72
|
+
fallbackRef?: string;
|
|
73
|
+
}
|
|
74
|
+
export type ConnectionPolicy = StaticPolicy | DynamicPolicy | PendingPolicy;
|
|
75
|
+
/** Directional connection point on a Transferable component. */
|
|
76
|
+
export interface Port {
|
|
77
|
+
id: string;
|
|
78
|
+
direction: 'input' | 'output';
|
|
79
|
+
slotId?: string;
|
|
80
|
+
policy?: ConnectionPolicy;
|
|
81
|
+
}
|
|
82
|
+
export type TransferEventType = 'transfer-received' | 'transfer-dispatched' | 'transfer-pending' | 'transfer-routed' | 'transfer-rejected';
|
|
83
|
+
export interface TransferEvent {
|
|
84
|
+
type: TransferEventType;
|
|
85
|
+
component: any;
|
|
86
|
+
container: any;
|
|
87
|
+
slotId?: string;
|
|
88
|
+
target?: any;
|
|
89
|
+
reason?: string;
|
|
90
|
+
}
|
|
91
|
+
/** The 3D attach frame that a carrier exposes for its payload. */
|
|
92
|
+
export interface CarrierAttachPoint {
|
|
93
|
+
position: Vec3;
|
|
94
|
+
rotation: Vec3;
|
|
95
|
+
slotId: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Quaternion as a plain object {x, y, z, w}. THREE.Quaternion 도 이 인터페이스
|
|
99
|
+
* 만족 — 호출자는 어느 쪽이든 받을 수 있다.
|
|
100
|
+
*/
|
|
101
|
+
export interface QuatLike {
|
|
102
|
+
x: number;
|
|
103
|
+
y: number;
|
|
104
|
+
z: number;
|
|
105
|
+
w: number;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Pose6DOF 의 직렬화 형태 (cross-package 호환). things-scene/math 의
|
|
109
|
+
* Pose6DOF.toJSON() 결과와 같은 shape.
|
|
110
|
+
*/
|
|
111
|
+
export interface PoseSerialized {
|
|
112
|
+
position: Vec3;
|
|
113
|
+
rotation: QuatLike;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Phase H — carrier 의 진입 정책 (PickupFrame).
|
|
117
|
+
*
|
|
118
|
+
* carrier 가 "어떤 도구가 어디로 어떤 각도로 접근하면 들어올릴 수 있다" 를
|
|
119
|
+
* 선언적으로 표현. holder 측 acceptanceFrame 의 carrier 측 대칭.
|
|
120
|
+
*
|
|
121
|
+
* approach: 도구가 결합 직전 hover 자세 (world Pose6DOF).
|
|
122
|
+
* engage: 도구가 결합 시점 자세 (world Pose6DOF). 보통 carrier 의 entry
|
|
123
|
+
* surface 에 접한 위치.
|
|
124
|
+
* tolerance: trajectory planner 가 활용 — 너무 엄격하면 reroute 빈번.
|
|
125
|
+
* priority: 여러 entry 중 source 가 선택 시 hint (낮을수록 우선).
|
|
126
|
+
*
|
|
127
|
+
* 예시 — pallet 의 두 fork 진입점:
|
|
128
|
+
* { id: 'fork-west', toolType: 'forklift-fork',
|
|
129
|
+
* approach: { position: {x: -300, y: 50, z: 0}, rotation: identity },
|
|
130
|
+
* engage: { position: {x: 0, y: 50, z: 0}, rotation: identity },
|
|
131
|
+
* tolerance: { positionMm: 50, angleDeg: 5 } }
|
|
132
|
+
*/
|
|
133
|
+
export interface PickupFrame {
|
|
134
|
+
id: string;
|
|
135
|
+
toolType: string;
|
|
136
|
+
approach: PoseSerialized;
|
|
137
|
+
engage: PoseSerialized;
|
|
138
|
+
tolerance?: {
|
|
139
|
+
positionMm?: number;
|
|
140
|
+
angleDeg?: number;
|
|
141
|
+
};
|
|
142
|
+
priority?: number;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* 도구의 자기 소개. carrier 가 pickupFramesFor 로 필터링할 때 활용.
|
|
146
|
+
*/
|
|
147
|
+
export interface PickupRequester {
|
|
148
|
+
toolType: string;
|
|
149
|
+
/** 도구의 footprint (forklift fork 길이, gripper 폭 등) — 호환성 검사용. */
|
|
150
|
+
size?: {
|
|
151
|
+
width: number;
|
|
152
|
+
depth: number;
|
|
153
|
+
height?: number;
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Pickable — carrier 가 자기 진입 정책을 노출하는 인터페이스.
|
|
158
|
+
*
|
|
159
|
+
* 빈 배열 반환 = "들어올릴 수 없음" (예: 부착된 fixture). source 는 명시적
|
|
160
|
+
* reject 사유 ('un-pickable') 로 응답.
|
|
161
|
+
*
|
|
162
|
+
* pickupFramesFor 는 선택. 정의하면 source 가 자기 도구 type 으로 호출 →
|
|
163
|
+
* carrier 가 그 type 에 맞는 entry 만 반환. 기본 구현은 toolType 으로 단순
|
|
164
|
+
* filter (Phase H reference 구현이 제공).
|
|
165
|
+
*/
|
|
166
|
+
export interface Pickable {
|
|
167
|
+
pickupFrames(): PickupFrame[];
|
|
168
|
+
pickupFramesFor?(requester: PickupRequester): PickupFrame[];
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Determines WHERE within a slot a new item should be placed, and how
|
|
172
|
+
* existing items are laid out as occupancy changes.
|
|
173
|
+
*
|
|
174
|
+
* Implementations live in scene-base (FixedSlot, Stack, Queue, Grid, Shelf, Gravity).
|
|
175
|
+
* things-scene ships a minimal FixedSlotStrategy as the default.
|
|
176
|
+
*/
|
|
177
|
+
export interface ArrangementStrategy {
|
|
178
|
+
/**
|
|
179
|
+
* Returns the local position (left/top/z) for the item within the container.
|
|
180
|
+
* `component` is the item being placed — strategies may use its state.width/height
|
|
181
|
+
* to compute dimension-aware positions (e.g. centering).
|
|
182
|
+
* Returns null if no position should be applied (use current/world-preserved position).
|
|
183
|
+
*/
|
|
184
|
+
positionAt(index: number, slotDef: SlotDef, occupantCount: number, component?: any): Vec3 | null;
|
|
185
|
+
/** Maximum number of items this strategy can hold in one slot. */
|
|
186
|
+
capacity(slotDef: SlotDef): number;
|
|
187
|
+
}
|
|
188
|
+
/** 안착 산술의 carrier 입력 — 치수만. width/height = 2D footprint, depth = 3D 높이. */
|
|
189
|
+
export interface CarrierDims {
|
|
190
|
+
width: number;
|
|
191
|
+
height: number;
|
|
192
|
+
depth: number;
|
|
193
|
+
}
|
|
194
|
+
/** placementFor 의 ctx — 모두 선택. 미지정 시 holder 가 현재 점유 기준 기본값 결정. */
|
|
195
|
+
export interface PlacementContext {
|
|
196
|
+
/** 대상 slot — 미지정 시 첫 가용 slot. */
|
|
197
|
+
slot?: SlotDef;
|
|
198
|
+
/** ArrangementStrategy 위임용 점유 index — 미지정 시 현재 점유 수. */
|
|
199
|
+
index?: number;
|
|
200
|
+
/** 점유 총원 — 미지정 시 index 와 동일 (receive 의 호출 형태 미러). */
|
|
201
|
+
occupantCount?: number;
|
|
202
|
+
/** line / slide 형 holder 의 경로 진행도 [0, 1]. */
|
|
203
|
+
t?: number;
|
|
204
|
+
}
|
|
205
|
+
/** 안착 pose — holder RealObject object3d local frame. */
|
|
206
|
+
export interface SeatingPose {
|
|
207
|
+
/** carrier *중심* 위치 (holder object3d local). */
|
|
208
|
+
position: Vec3;
|
|
209
|
+
/** holder-local 자세. undefined = carrier 의 들어오는 자세 보존. */
|
|
210
|
+
rotation?: QuatLike;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* The central abstraction for anything that can receive and dispatch components.
|
|
214
|
+
*
|
|
215
|
+
* ALL domain-specific verbs (pick/place, induct/eject, store/retrieve, fetch/deposit)
|
|
216
|
+
* are aliases that ultimately delegate to `receive()` and `dispatch()`.
|
|
217
|
+
*
|
|
218
|
+
* Implementors must be ContainerAbstract subclasses so that `reparent()` is available.
|
|
219
|
+
*/
|
|
220
|
+
export interface Transferable {
|
|
221
|
+
/**
|
|
222
|
+
* Pure, synchronous capacity check.
|
|
223
|
+
* Must NOT mutate state — called on every drag-over frame.
|
|
224
|
+
*/
|
|
225
|
+
canReceive(component: any): boolean;
|
|
226
|
+
/** Returns the best available SlotDef for `component`, or null if none. */
|
|
227
|
+
findSlot(component: any): SlotDef | null;
|
|
228
|
+
/** Reparent `component` into this container. Fires 'transfer-received'. */
|
|
229
|
+
receive(component: any, options?: TransferOptions): Promise<void> | void;
|
|
230
|
+
/** Move `component` to `target.receive()`. Fires 'transfer-dispatched'. */
|
|
231
|
+
dispatch(component: any, target: Transferable, options?: TransferOptions): Promise<void> | void;
|
|
232
|
+
/**
|
|
233
|
+
* Determine the next target for `component`.
|
|
234
|
+
* Returns null → triggers 'transfer-pending' event.
|
|
235
|
+
* May be async for WCS-driven (pending) routing.
|
|
236
|
+
*/
|
|
237
|
+
route(component: any): Transferable | null | Promise<Transferable | null>;
|
|
238
|
+
/**
|
|
239
|
+
* WCS / MES resolves a previously pending route by providing the target.
|
|
240
|
+
* Call path: WCS event → scene.findById(id).resolveRoute(component, target)
|
|
241
|
+
*/
|
|
242
|
+
resolveRoute(component: any, target: Transferable): void;
|
|
243
|
+
/**
|
|
244
|
+
* WCS / MES rejects or times out a pending route.
|
|
245
|
+
* Triggers fallback ref (PendingPolicy.fallbackRef) or 'transfer-rejected'.
|
|
246
|
+
*/
|
|
247
|
+
rejectRoute(component: any, reason?: string): void;
|
|
248
|
+
/** Returns the 3D attach frame for a payload held in this container. */
|
|
249
|
+
attachPointFor(component: any): CarrierAttachPoint | null;
|
|
250
|
+
/**
|
|
251
|
+
* Phase PS — carrier 가 이 holder 의 ctx 지점에 안착할 때의 pose.
|
|
252
|
+
* holder RealObject object3d local frame, 순수 함수. null = 이 ctx 에 안착
|
|
253
|
+
* 정의 없음 (호출자가 현재 위치 보존 fallback).
|
|
254
|
+
*
|
|
255
|
+
* `carrier` 는 치수 객체 또는 component (state.width/height/depth 보유) —
|
|
256
|
+
* component 를 주면 dimension-aware ArrangementStrategy 가 그대로 활용.
|
|
257
|
+
* 기본 구현은 ContainerCapacity 가 제공 (기존 receivingSurfaceY +
|
|
258
|
+
* ArrangementStrategy + acceptanceRotation 합성과 수치 동일 — I5).
|
|
259
|
+
*/
|
|
260
|
+
placementFor?(carrier: CarrierDims | any, ctx?: PlacementContext): SeatingPose | null;
|
|
261
|
+
/**
|
|
262
|
+
* carrier 가 이 holder 안에서 가져야 할 회전 (parent-local quaternion).
|
|
263
|
+
* 기본값 identity (carrier 의 들어오는 자세 보존).
|
|
264
|
+
* 다음을 override 하는 holder 예시:
|
|
265
|
+
* - InductStation: belt 진행 방향 = sorter forward 와 일치
|
|
266
|
+
* - Sorter carrier: 슬롯의 perimeter tangent
|
|
267
|
+
* - Rack cell: grid 정렬 방향
|
|
268
|
+
*/
|
|
269
|
+
acceptanceRotation?(carrier: any, slot?: SlotDef): {
|
|
270
|
+
x: number;
|
|
271
|
+
y: number;
|
|
272
|
+
z: number;
|
|
273
|
+
w: number;
|
|
274
|
+
} | undefined;
|
|
275
|
+
/**
|
|
276
|
+
* canReceive 의 더 풍부한 버전 — 거부 사유까지 명시.
|
|
277
|
+
* 기본 구현은 findSlot 결과로 ok/reason 분기. drag-over UI 가 사유를 표시할
|
|
278
|
+
* 수 있게 함.
|
|
279
|
+
*/
|
|
280
|
+
canAccept?(carrier: any): {
|
|
281
|
+
ok: true;
|
|
282
|
+
slot: SlotDef;
|
|
283
|
+
} | {
|
|
284
|
+
ok: false;
|
|
285
|
+
reason: string;
|
|
286
|
+
};
|
|
287
|
+
/**
|
|
288
|
+
* receive 의 새 이름. 동일 동작 — Phase G2 의 contract 명시.
|
|
289
|
+
* 기존 receive 호출자도 작동 (alias).
|
|
290
|
+
*/
|
|
291
|
+
accept?(carrier: any, options?: TransferOptions): Promise<void> | void;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* The destination a Movable navigates toward.
|
|
295
|
+
* - component: dock beside another Transferable (e.g. conveyor input port)
|
|
296
|
+
* - point: absolute scene-unit coordinate
|
|
297
|
+
* - node: named node in a pre-defined graph (AGV / OHT)
|
|
298
|
+
*/
|
|
299
|
+
export type NavigationTarget = {
|
|
300
|
+
kind: 'component';
|
|
301
|
+
ref: Transferable;
|
|
302
|
+
} | {
|
|
303
|
+
kind: 'point';
|
|
304
|
+
pos: Vec3;
|
|
305
|
+
} | {
|
|
306
|
+
kind: 'node';
|
|
307
|
+
nodeId: string;
|
|
308
|
+
};
|
|
309
|
+
export interface NavigationOptions {
|
|
310
|
+
speed?: number;
|
|
311
|
+
arriveThreshold?: number;
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Self-navigation capability for vehicles (Forklift, AGV, AMR, OHT).
|
|
315
|
+
* The vehicle's whole body moves to the destination, then Transfer happens.
|
|
316
|
+
*
|
|
317
|
+
* Contrast with ArticulatedCapability where only the internal mechanism moves.
|
|
318
|
+
*/
|
|
319
|
+
export interface Movable {
|
|
320
|
+
navigate(destination: NavigationTarget, options?: NavigationOptions): Promise<void>;
|
|
321
|
+
stop(): void;
|
|
322
|
+
readonly position: Vec3;
|
|
323
|
+
readonly isMoving: boolean;
|
|
324
|
+
/** Determines which NavigationStrategy is used. */
|
|
325
|
+
readonly navigationMode: 'graph' | 'free' | 'constrained';
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Capability for devices whose internal mechanism (arm, mast, fork carriage)
|
|
329
|
+
* extends to reach a pickup/dropoff point — without moving the device body.
|
|
330
|
+
*
|
|
331
|
+
* Used by: RobotArm (6-DOF IK), ASRSCrane (XY rail), BridgeCrane (XYZ gantry),
|
|
332
|
+
* Lift/Hoist (Y-axis), linear Manipulator.
|
|
333
|
+
*
|
|
334
|
+
* Contrast with Movable where the whole vehicle navigates to the destination.
|
|
335
|
+
*/
|
|
336
|
+
export interface ArticulatedCapability {
|
|
337
|
+
/**
|
|
338
|
+
* Extend the internal mechanism so the end-effector reaches `target`.
|
|
339
|
+
* Resolves when the end-effector arrives at the target position.
|
|
340
|
+
*/
|
|
341
|
+
reach(target: Transferable | Vec3, options?: TransferOptions): Promise<void>;
|
|
342
|
+
/**
|
|
343
|
+
* Retract the mechanism to its safe / home position.
|
|
344
|
+
* `home: true` returns to the configured homePosition / homeJoints state.
|
|
345
|
+
*/
|
|
346
|
+
retract(options?: {
|
|
347
|
+
home?: boolean;
|
|
348
|
+
duration?: number;
|
|
349
|
+
}): Promise<void>;
|
|
350
|
+
/** Current end-effector position (TCP, hook, fork tip) in scene coordinates. */
|
|
351
|
+
readonly endEffectorPosition: Vec3;
|
|
352
|
+
/** Kinematic workspace check — false means reach() would fail or collide. */
|
|
353
|
+
canReach(target: Transferable | Vec3): boolean;
|
|
354
|
+
}
|
|
355
|
+
export type MissionStatus = 'queued' | 'navigating-to-pickup' | 'picking' | 'navigating-to-dropoff' | 'placing' | 'done' | 'failed';
|
|
356
|
+
export interface VehicleMission {
|
|
357
|
+
readonly id: string;
|
|
358
|
+
readonly pickupTarget: Transferable;
|
|
359
|
+
readonly dropoffTarget: Transferable;
|
|
360
|
+
readonly priority: number;
|
|
361
|
+
/** Filled after a successful pick (receive). */
|
|
362
|
+
payload?: any;
|
|
363
|
+
status: MissionStatus;
|
|
364
|
+
/** simClock.now at mission start. */
|
|
365
|
+
readonly startedAt?: number;
|
|
366
|
+
readonly completedAt?: number;
|
|
367
|
+
readonly failReason?: string;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Manages an ordered queue of VehicleMissions for a single vehicle.
|
|
371
|
+
* Missions execute one at a time; the queue is drained in priority order.
|
|
372
|
+
*/
|
|
373
|
+
export interface MissionExecutor {
|
|
374
|
+
/** Add a mission to the queue. Resolves when the mission reaches 'done'. */
|
|
375
|
+
enqueue(mission: Omit<VehicleMission, 'id' | 'status'>): Promise<VehicleMission>;
|
|
376
|
+
/** Cancel a queued or in-progress mission by ID. */
|
|
377
|
+
cancel(missionId: string): void;
|
|
378
|
+
readonly currentMission: VehicleMission | null;
|
|
379
|
+
readonly missionQueue: readonly VehicleMission[];
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* A virtual sensor mounted on a Transferable container (conveyor, rack gate, etc.).
|
|
383
|
+
* When a component passes through its detection zone, it fires a scene event
|
|
384
|
+
* that WCS uses to make routing decisions (→ resolveRoute / rejectRoute).
|
|
385
|
+
*
|
|
386
|
+
* Common use: sorter entry sensor triggers PendingPolicy, WCS decides lane.
|
|
387
|
+
*/
|
|
388
|
+
export interface SensorPoint {
|
|
389
|
+
readonly id: string;
|
|
390
|
+
/** Local position within the parent container (scene units). */
|
|
391
|
+
readonly localPosition: Vec3;
|
|
392
|
+
readonly sensorType: 'presence' | 'identity' | 'weight';
|
|
393
|
+
/** Detection radius (scene units). Default: component bounding-box overlap. */
|
|
394
|
+
readonly detectionRadius?: number;
|
|
395
|
+
/** Called when a component enters the detection zone. */
|
|
396
|
+
onDetect(component: any): void;
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* SpawnPoint: where cargo enters the simulation.
|
|
400
|
+
* Creates components and injects them into the connected Transferable chain.
|
|
401
|
+
* Examples: production line end, receiving dock, WCS inject command.
|
|
402
|
+
*/
|
|
403
|
+
export interface SpawnPoint extends Transferable {
|
|
404
|
+
/** Create a new component of `type` and route it into the system. */
|
|
405
|
+
spawn(type: string, initialState?: Record<string, any>): any;
|
|
406
|
+
/** Components generated per simulated minute. */
|
|
407
|
+
readonly spawnRate: number;
|
|
408
|
+
readonly spawnPattern: 'uniform' | 'burst' | 'schedule';
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* SinkPoint: where cargo leaves the simulation.
|
|
412
|
+
* Calling receive() on a SinkPoint removes the component from the scene
|
|
413
|
+
* and increments throughput counters.
|
|
414
|
+
* Examples: shipping dock, quality-pass exit, virtual out-gate.
|
|
415
|
+
*/
|
|
416
|
+
export interface SinkPoint extends Transferable {
|
|
417
|
+
/** Total components consumed since simulation start. */
|
|
418
|
+
readonly throughput: number;
|
|
419
|
+
/** Components per simulated hour (rolling average). */
|
|
420
|
+
readonly throughputPerHour: number;
|
|
421
|
+
/** simClock.now of the last received component. */
|
|
422
|
+
readonly lastReceivedAt: number;
|
|
423
|
+
}
|
|
424
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transfer/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
interface WorldState {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
rotation: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}
|
|
8
|
+
interface State3D {
|
|
9
|
+
pos: any;
|
|
10
|
+
quat: any;
|
|
11
|
+
fromScale?: {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
z: number;
|
|
15
|
+
};
|
|
16
|
+
toScale?: {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
z: number;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* 매 frame slerp 후 obj3d.local.quat 을 inv(parent.world.quat) × worldQuatLock 으로
|
|
23
|
+
* 덮어써서 **world rotation 고정**. transition 동안 부모(예: cross-belt proxy)가
|
|
24
|
+
* 움직여도 박스의 절대 자세 보존. to3D 에만 지정해도 동작.
|
|
25
|
+
*/
|
|
26
|
+
worldQuatLock?: any;
|
|
27
|
+
}
|
|
28
|
+
interface ReparentState {
|
|
29
|
+
fromWorld?: WorldState;
|
|
30
|
+
toWorld?: WorldState;
|
|
31
|
+
from3D?: State3D;
|
|
32
|
+
to3D?: State3D;
|
|
33
|
+
duration: number;
|
|
34
|
+
startTime: number;
|
|
35
|
+
progress: number;
|
|
36
|
+
keepSuppressed?: boolean;
|
|
37
|
+
ease?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* TransitionEffect — reparent 전환의 모든 것을 소유한다.
|
|
41
|
+
*
|
|
42
|
+
* - 상태: Map<Component, ReparentState>
|
|
43
|
+
* - 타이밍: 자체 RAF loop
|
|
44
|
+
* - 2D 렌더링: transition canvas (lazy 생성/제거)
|
|
45
|
+
* - 3D 보간: object3d position/quaternion 직접 조작
|
|
46
|
+
* - 정리: suppressTransform 해제, canvas 제거
|
|
47
|
+
*/
|
|
48
|
+
export default class TransitionEffect {
|
|
49
|
+
private active;
|
|
50
|
+
/**
|
|
51
|
+
* Live-overlay 컴포넌트 — discrete transition(active) 과 달리 *연속 이동* 중
|
|
52
|
+
* 매 프레임 자기 현재 world pose 로 최상단 transition canvas 에 렌더. 용도:
|
|
53
|
+
* 컨베이어 seam 을 가로지르는 carrier 가 이웃 컴포넌트 본체에 가려지지 않게
|
|
54
|
+
* (부모 클리핑/그리기 순서를 벗어나 최상단에). caller(컨베이어/joint)가 매 틱
|
|
55
|
+
* setLiveOverlay 로 등록/해제. lerp 없음 — toScene/누적회전으로 live pose 산출.
|
|
56
|
+
*/
|
|
57
|
+
private _liveOverlay;
|
|
58
|
+
private unsubscribeTick;
|
|
59
|
+
private root;
|
|
60
|
+
private _canvas;
|
|
61
|
+
private _ctx;
|
|
62
|
+
constructor(root: any);
|
|
63
|
+
isReparenting(component: any): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* 연속 이동 carrier 를 최상단 overlay 렌더로 등록/해제. enable=true 면 매 프레임
|
|
66
|
+
* live world pose 로 transition canvas 에 그려져 이웃 본체에 안 가려진다. caller 가
|
|
67
|
+
* seam 구간에서만 켜고 그 외엔 끄면 surgical (그 외엔 기존 in-parent 렌더).
|
|
68
|
+
*/
|
|
69
|
+
setLiveOverlay(component: any, enable: boolean): void;
|
|
70
|
+
getState(component: any): ReparentState | null;
|
|
71
|
+
begin(component: any, options: {
|
|
72
|
+
fromWorld?: WorldState;
|
|
73
|
+
toWorld?: WorldState;
|
|
74
|
+
from3D?: State3D;
|
|
75
|
+
to3D?: State3D;
|
|
76
|
+
duration: number;
|
|
77
|
+
ease?: string;
|
|
78
|
+
/**
|
|
79
|
+
* When true, cleanup3D() will NOT reset suppressTransform to false and will
|
|
80
|
+
* NOT call realObj.update(). Use this when the caller's own tick loop takes
|
|
81
|
+
* over position control after the transition.
|
|
82
|
+
*/
|
|
83
|
+
keepSuppressed?: boolean;
|
|
84
|
+
}): void;
|
|
85
|
+
cancel(component: any): void;
|
|
86
|
+
/**
|
|
87
|
+
* 2D transition canvas에 렌더링 — postrender()에서 호출
|
|
88
|
+
*/
|
|
89
|
+
renderComponent(component: any, modelLayer: any): void;
|
|
90
|
+
/**
|
|
91
|
+
* draw cycle 시작 시 호출 — canvas clear
|
|
92
|
+
*/
|
|
93
|
+
beginDraw(): void;
|
|
94
|
+
/**
|
|
95
|
+
* draw cycle 종료 시 호출 — overlay 컴포넌트를 *여기서 직접* 렌더 후 canvas restore.
|
|
96
|
+
*
|
|
97
|
+
* 과거엔 container.postrender 가 isReparenting(m) 마다 renderComponent 를 위임했지만,
|
|
98
|
+
* 그러면 *컴포넌트 트리의 drawable* 만 렌더 가능했다(소터 파셀처럼 트리 밖 carrier
|
|
99
|
+
* 는 누락). 이제 TransitionEffect 가 active transition + live-overlay 전체를 자체
|
|
100
|
+
* 패스로 렌더 → 트리 무관하게 overlay 렌더. container 는 in-parent 그리기만 skip.
|
|
101
|
+
*/
|
|
102
|
+
endDraw(): void;
|
|
103
|
+
/**
|
|
104
|
+
* model-layer resize 시 호출 — canvas 크기 동기화
|
|
105
|
+
*/
|
|
106
|
+
resize(): void;
|
|
107
|
+
dispose(): void;
|
|
108
|
+
private ensureCanvas;
|
|
109
|
+
private removeCanvas;
|
|
110
|
+
private startLoop;
|
|
111
|
+
private stopLoop;
|
|
112
|
+
private tick;
|
|
113
|
+
private complete;
|
|
114
|
+
private cleanup3D;
|
|
115
|
+
}
|
|
116
|
+
export {};
|
|
117
|
+
//# sourceMappingURL=transition-effect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-effect.d.ts","sourceRoot":"","sources":["../../src/transition/transition-effect.ts"],"names":[],"mappings":"AAgBA,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,OAAO;IACf,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,GAAG,CAAA;IACT,SAAS,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C;;;;OAIG;IACH,aAAa,CAAC,EAAE,GAAG,CAAA;CACpB;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAO,CAAC,MAAM,CAAgC;IAC9C;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,IAAI,CAAK;IAGjB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,IAAI,CAAwC;gBAExC,IAAI,EAAE,GAAG;IAMrB,aAAa,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO;IAItC;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAcrD,QAAQ,CAAC,SAAS,EAAE,GAAG,GAAG,aAAa,GAAG,IAAI;IAI9C,KAAK,CACH,SAAS,EAAE,GAAG,EACd,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,UAAU,CAAA;QACtB,OAAO,CAAC,EAAE,UAAU,CAAA;QACpB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb;;;;WAIG;QACH,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,GACA,IAAI;IA+DP,MAAM,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI;IAK5B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAG,IAAI;IAgEtD;;OAEG;IACH,SAAS,IAAI,IAAI;IAQjB;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI;IAsBf;;OAEG;IACH,MAAM,IAAI,IAAI;IASd,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,IAAI;IAoEZ,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,SAAS;CAyBlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bounding.d.ts","sourceRoot":"","sources":["../../src/types/bounding.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"bounding.d.ts","sourceRoot":"","sources":["../../src/types/bounding.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAA;AAEnE,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,GACd,UAAU,GACV,aAAa,GACb,aAAa,GACb,YAAY,GACZ,eAAe,GACf,eAAe,GACf,WAAW,GACX,cAAc,GACd,cAAc,CAAA;AAElB;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,KAAK,EAAE,CAAA;AAE1B;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAA;IAEd,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAA;IAEf,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAA;IAEf,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAA;IAEd,kCAAkC;IAClC,MAAM,EAAE,KAAK,CAAA;IAEb,yDAAyD;IACzD,IAAI,CAAC,EAAE,IAAI,CAAA;IAEX,kFAAkF;IAClF,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAElC,6BAA6B;IAC7B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3C,+EAA+E;IAC/E,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjC,4DAA4D;IAC5D,aAAa,IAAI,MAAM,CAAA;IAEvB,yDAAyD;IACzD,qBAAqB,CAAC,IAAI,MAAM,CAAA;CACjC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export declare function capability<S extends string>(...names: readonly S[]): ClassDecorator;
|
|
2
|
+
/**
|
|
3
|
+
* Capability 자체의 정적 metadata — 이름 / 설명 / interface 의 메서드 목록 /
|
|
4
|
+
* 부속 data model. 도구가 capability 의 *정의 / 사용 방법* 을 자동 가시화하는 데
|
|
5
|
+
* 사용. capability interface 가 정의된 파일이 자기 metadata 를 1회 register.
|
|
6
|
+
*
|
|
7
|
+
* 예 (carrier-line-capability.ts 끝):
|
|
8
|
+
* registerCapabilityMeta({
|
|
9
|
+
* name: 'CarrierLine',
|
|
10
|
+
* description: 'carrier 가 동일 line 안 multi-position 이동...',
|
|
11
|
+
* methods: ['canReserveAtJoinPoint', 'reserveAtJoinPoint', ...],
|
|
12
|
+
* models: ['CarrierReservation', 'CarrierSlotState', 'JoinPoint'],
|
|
13
|
+
* sourceFile: 'src/transfer/carrier-line-capability.ts'
|
|
14
|
+
* })
|
|
15
|
+
*/
|
|
16
|
+
export interface CapabilityMeta {
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly description: string;
|
|
19
|
+
readonly methods?: readonly string[];
|
|
20
|
+
readonly models?: readonly string[];
|
|
21
|
+
/**
|
|
22
|
+
* 이 capability 가 사용하는 컴포넌트 *인스턴스 state* field 이름들. Monitor 가
|
|
23
|
+
* 자동으로 component.state[field] 의 현재 값을 함께 표시.
|
|
24
|
+
*
|
|
25
|
+
* 예: Placeable.stateFields = ['depth', 'zPos']
|
|
26
|
+
*/
|
|
27
|
+
readonly stateFields?: readonly string[];
|
|
28
|
+
/**
|
|
29
|
+
* 이 capability 가 사용하는 *클래스 static* field 이름들. Monitor 가 자동으로
|
|
30
|
+
* component.constructor[field] 의 값을 함께 표시.
|
|
31
|
+
*
|
|
32
|
+
* 예: Placeable.classFields = ['placement'] // archetype = 'floor' | 'ceiling' | ...
|
|
33
|
+
*
|
|
34
|
+
* archetype 같은 *컴포넌트 타입 차원의 약속* 이 여기 들어감 (인스턴스마다 다르지
|
|
35
|
+
* 않음). state 와 분리해 *변하지 않는 정의* 임을 명시.
|
|
36
|
+
*/
|
|
37
|
+
readonly classFields?: readonly string[];
|
|
38
|
+
readonly sourceFile?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function registerCapabilityMeta(meta: CapabilityMeta): void;
|
|
41
|
+
export declare function getCapabilityMeta(name: string): CapabilityMeta | undefined;
|
|
42
|
+
export declare function getAllCapabilityMeta(): readonly CapabilityMeta[];
|
|
43
|
+
/**
|
|
44
|
+
* 컴포넌트가 자기 capability 특화 (정책 / 설정 / runtime 통계) 를 자기 입으로
|
|
45
|
+
* 보고하는 optional 메서드 — duck-typing.
|
|
46
|
+
*
|
|
47
|
+
* 예 (LoopConveyor):
|
|
48
|
+
* describeCapability(name: string) {
|
|
49
|
+
* if (name !== 'CarrierLine') return undefined
|
|
50
|
+
* return { policies: { topology: 'loop' }, runtimeStats: { activeCarriers: ... } }
|
|
51
|
+
* }
|
|
52
|
+
*/
|
|
53
|
+
export interface CapabilityDescription {
|
|
54
|
+
policies?: Readonly<Record<string, unknown>>;
|
|
55
|
+
config?: Readonly<Record<string, unknown>>;
|
|
56
|
+
runtimeStats?: Readonly<Record<string, unknown>>;
|
|
57
|
+
notes?: string;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/types/capability.ts"],"names":[],"mappings":"AAoBA,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,cAAc,CAcnF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAID,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAEjE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,wBAAgB,oBAAoB,IAAI,SAAS,cAAc,EAAE,CAEhE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC5C,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1C,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf"}
|