@hatiolab/things-scene 10.0.0-beta.13 → 10.0.0-beta.131
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 +10 -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-drawing.d.ts.map +1 -1
- package/dist-types/components/component-geometry.d.ts.map +1 -1
- package/dist-types/components/component-hierarchy.d.ts +1 -1
- package/dist-types/components/component-hierarchy.d.ts.map +1 -1
- package/dist-types/components/component.d.ts +33 -4
- package/dist-types/components/component.d.ts.map +1 -1
- package/dist-types/components/container-abstract.d.ts +56 -11
- package/dist-types/components/container-abstract.d.ts.map +1 -1
- package/dist-types/components/container.d.ts +9 -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/donut.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 +10 -3
- package/dist-types/components/ellipse.d.ts.map +1 -1
- package/dist-types/components/generic-placeholders.d.ts +294 -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 +2 -0
- package/dist-types/components/group.d.ts.map +1 -1
- package/dist-types/components/html/reposition.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 +9 -2
- package/dist-types/components/html-overlay-container.d.ts.map +1 -1
- package/dist-types/components/html-overlay-element.d.ts +19 -5
- package/dist-types/components/html-overlay-element.d.ts.map +1 -1
- package/dist-types/components/image-view.d.ts +10 -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 +10 -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 +10 -3
- package/dist-types/components/local-ref.d.ts.map +1 -1
- package/dist-types/components/mixins/connectable.d.ts +10 -3
- package/dist-types/components/mixins/connectable.d.ts.map +1 -1
- package/dist-types/components/mixins/data-source.d.ts +10 -3
- package/dist-types/components/mixins/data-source.d.ts.map +1 -1
- package/dist-types/components/mixins/gltf-component.d.ts +282 -0
- package/dist-types/components/mixins/gltf-component.d.ts.map +1 -0
- package/dist-types/components/mixins/holdable.d.ts +12 -0
- package/dist-types/components/mixins/holdable.d.ts.map +1 -0
- package/dist-types/components/mixins/html-element.d.ts +9 -2
- package/dist-types/components/mixins/html-element.d.ts.map +1 -1
- package/dist-types/components/mixins/move-handle.d.ts +19 -7
- package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
- package/dist-types/components/mixins/rect-path.d.ts +10 -3
- package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
- package/dist-types/components/mixins/three-d-only.d.ts +250 -0
- package/dist-types/components/mixins/three-d-only.d.ts.map +1 -0
- package/dist-types/components/mixins/value-holder.d.ts +10 -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 +10 -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 +6 -0
- 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 +40 -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 +20 -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 +18 -4
- package/dist-types/components/root-container.d.ts.map +1 -1
- package/dist-types/components/ruler.d.ts +10 -3
- package/dist-types/components/ruler.d.ts.map +1 -1
- package/dist-types/components/service-component.d.ts +271 -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/star.d.ts.map +1 -1
- package/dist-types/components/text.d.ts +10 -3
- package/dist-types/components/text.d.ts.map +1 -1
- package/dist-types/core/dom-to-image.d.ts.map +1 -1
- package/dist-types/core/logger.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 +0 -4
- package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -1
- package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts +0 -3
- package/dist-types/decorator/decorators/bouncing-arrow-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 +110 -0
- package/dist-types/diagnostics/contract-inspector.d.ts.map +1 -0
- package/dist-types/diagnostics/data-lag-tracker.d.ts +50 -0
- package/dist-types/diagnostics/data-lag-tracker.d.ts.map +1 -0
- package/dist-types/diagnostics/inspector.d.ts +192 -5
- 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 +58 -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/flow/auto-route.d.ts +36 -0
- package/dist-types/flow/auto-route.d.ts.map +1 -0
- package/dist-types/flow/face-anchors.d.ts +26 -0
- package/dist-types/flow/face-anchors.d.ts.map +1 -0
- package/dist-types/flow/flow-engine.d.ts +122 -0
- package/dist-types/flow/flow-engine.d.ts.map +1 -0
- package/dist-types/flow/flow-graph-coordinator.d.ts +80 -0
- package/dist-types/flow/flow-graph-coordinator.d.ts.map +1 -0
- package/dist-types/flow/flow-graph-validator.d.ts +33 -0
- package/dist-types/flow/flow-graph-validator.d.ts.map +1 -0
- package/dist-types/flow/flow-graph.d.ts +76 -0
- package/dist-types/flow/flow-graph.d.ts.map +1 -0
- package/dist-types/flow/flow-introspection.d.ts +36 -0
- package/dist-types/flow/flow-introspection.d.ts.map +1 -0
- package/dist-types/flow/flow-node.d.ts +69 -0
- package/dist-types/flow/flow-node.d.ts.map +1 -0
- package/dist-types/flow/flow-orientation-coordinator.d.ts +13 -0
- package/dist-types/flow/flow-orientation-coordinator.d.ts.map +1 -0
- package/dist-types/flow/flow-orientation.d.ts +42 -0
- package/dist-types/flow/flow-orientation.d.ts.map +1 -0
- package/dist-types/flow/flow-trace.d.ts +5 -0
- package/dist-types/flow/flow-trace.d.ts.map +1 -0
- package/dist-types/flow/index.d.ts +16 -0
- package/dist-types/flow/index.d.ts.map +1 -0
- package/dist-types/flow/segment-topology.d.ts +225 -0
- package/dist-types/flow/segment-topology.d.ts.map +1 -0
- package/dist-types/flow/station-host-inference.d.ts +23 -0
- package/dist-types/flow/station-host-inference.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 +27 -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/items/arrangement/centering-queue-strategy.d.ts +10 -0
- package/dist-types/items/arrangement/centering-queue-strategy.d.ts.map +1 -0
- package/dist-types/items/arrangement/index.d.ts +2 -0
- package/dist-types/items/arrangement/index.d.ts.map +1 -0
- package/dist-types/items/capacity-mixin.d.ts +303 -0
- package/dist-types/items/capacity-mixin.d.ts.map +1 -0
- package/dist-types/items/capacity.d.ts +53 -0
- package/dist-types/items/capacity.d.ts.map +1 -0
- package/dist-types/items/index.d.ts +7 -0
- package/dist-types/items/index.d.ts.map +1 -0
- package/dist-types/items/items-data-binding.d.ts +103 -0
- package/dist-types/items/items-data-binding.d.ts.map +1 -0
- package/dist-types/items/slot-record.d.ts +23 -0
- package/dist-types/items/slot-record.d.ts.map +1 -0
- package/dist-types/items/stacking/index.d.ts +3 -0
- package/dist-types/items/stacking/index.d.ts.map +1 -0
- package/dist-types/items/stacking/stack-layout.d.ts +33 -0
- package/dist-types/items/stacking/stack-layout.d.ts.map +1 -0
- package/dist-types/items/stacking/stacking-strategy.d.ts +114 -0
- package/dist-types/items/stacking/stacking-strategy.d.ts.map +1 -0
- 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 +2 -0
- package/dist-types/layer/layer.d.ts.map +1 -1
- package/dist-types/layer/model-layer.d.ts +81 -7
- package/dist-types/layer/model-layer.d.ts.map +1 -1
- package/dist-types/layer/modeler/index.d.ts +1 -0
- package/dist-types/layer/modeler/index.d.ts.map +1 -1
- package/dist-types/layer/modeler/move-handle-icon.d.ts +2 -0
- package/dist-types/layer/modeler/move-handle-icon.d.ts.map +1 -0
- package/dist-types/layer/modeler/move-handle-modeler.d.ts +18 -0
- package/dist-types/layer/modeler/move-handle-modeler.d.ts.map +1 -0
- package/dist-types/layer/modeler/path-handler.d.ts.map +1 -1
- package/dist-types/layer/modeler/rotator.d.ts.map +1 -1
- package/dist-types/layer/modeling-layer.d.ts +19 -0
- 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 +7 -0
- 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/license/license.d.ts.map +1 -1
- 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 +64 -0
- package/dist-types/search/scene-search-engine.d.ts.map +1 -0
- package/dist-types/search/search-overlay.d.ts +94 -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/api/zorder.d.ts.map +1 -1
- package/dist-types/things-scene/application-context.d.ts +62 -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 +29 -0
- package/dist-types/things-scene/index.d.ts.map +1 -1
- package/dist-types/things-scene/scene.d.ts +120 -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 +541 -0
- package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
- package/dist-types/threed/factories/banner.d.ts +16 -4
- package/dist-types/threed/factories/banner.d.ts.map +1 -1
- package/dist-types/threed/factories/camera.d.ts +12 -3
- package/dist-types/threed/factories/camera.d.ts.map +1 -1
- package/dist-types/threed/factories/cube.d.ts +11 -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 +516 -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 +270 -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 +11 -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 +11 -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 +66 -32
- package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -1
- 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 +14 -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 +54 -1
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/index.d.ts +3 -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 +154 -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 +261 -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 +131 -15
- 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/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 +24 -0
- package/dist-types/transfer/index.d.ts.map +1 -0
- package/dist-types/transfer/pickup-helpers.d.ts +75 -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/tracer.d.ts +35 -0
- package/dist-types/transfer/tracer.d.ts.map +1 -0
- package/dist-types/transfer/transfer-helpers.d.ts +18 -0
- package/dist-types/transfer/transfer-helpers.d.ts.map +1 -0
- package/dist-types/transfer/transfer.d.ts +257 -0
- package/dist-types/transfer/transfer.d.ts.map +1 -0
- package/dist-types/transfer/transferable-mixin.d.ts +275 -0
- package/dist-types/transfer/transferable-mixin.d.ts.map +1 -0
- package/dist-types/transfer/types.d.ts +462 -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 +7 -0
- package/things-scene.mjs +8 -9
- package/things-scene.mjs.map +1 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { SlotRecord } from './slot-record.js';
|
|
2
|
+
type Ctor<T = {}> = new (...args: any[]) => T;
|
|
3
|
+
/**
|
|
4
|
+
* FlowNode-shape interface (mixin Base 제약). _items 어휘 + handoverIn / removeItem
|
|
5
|
+
* 가용성 보증. (실제 type 의존 회피 — circular import 방지.)
|
|
6
|
+
*/
|
|
7
|
+
interface FlowNodeShape {
|
|
8
|
+
_items: any[];
|
|
9
|
+
handoverIn(carrier: any, options?: any): void;
|
|
10
|
+
removeItem(item: any, silent?: boolean): void;
|
|
11
|
+
slotIds?(): string[];
|
|
12
|
+
ready?(): Promise<void> | void;
|
|
13
|
+
}
|
|
14
|
+
export declare function ItemsDataBinding<TBase extends Ctor<FlowNodeShape>>(Base: TBase): {
|
|
15
|
+
new (...args: any[]): {
|
|
16
|
+
/**
|
|
17
|
+
* 로드 시 model.data(records) → _items materialize.
|
|
18
|
+
*
|
|
19
|
+
* Component 생성자는 model 을 `_model` 에 *raw 저장* 할 뿐 `set data`(reconcile)를
|
|
20
|
+
* 호출하지 않는다 → 저장된 씬을 열면 state.data 엔 record 가 있어도 _items 는 비어
|
|
21
|
+
* 아무 화물도 안 보인다. ready(모델 완성 후 1회, 양 모드)에서 명시 reconcile.
|
|
22
|
+
* (배열일 때만 — 고전 scalar data(parcel toggle 등)는 items 아님. RecordStorage 는
|
|
23
|
+
* transient materialize 라 제외. _items 가 이미 차 있으면 runtime 설정된 것 → skip.)
|
|
24
|
+
*/
|
|
25
|
+
ready(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* data getter — _items + slotIds() → SlotRecord[] snapshot.
|
|
28
|
+
* 빈 slot 도 record (itemId: null) — 점유 상태 가시.
|
|
29
|
+
*
|
|
30
|
+
* RecordStorage 자손은 state.data 그대로 반환 (D-6, 2026-06-20).
|
|
31
|
+
*
|
|
32
|
+
* **보유 아이템이 없으면 `[]` 를 지어내지 않고 밑단 `state.data`(undefined/null 포함)를
|
|
33
|
+
* 그대로 반영한다.** ItemsDataBinding 이 없는 순수 컴포넌트와 구분되지 않게 하기 위함 —
|
|
34
|
+
* `return []` 이면 프레임워크가 `data !== undefined` 로 "빈 데이터를 보유"로 오인해
|
|
35
|
+
* data 핸들러(onchangeData / mapping / data-toggle)가 붙는다. 특히 data 를 items 가
|
|
36
|
+
* 아니라 *고전 트리거*(parcel 의 data-toggle → mapping)로 쓰는 carrier 는 data 가
|
|
37
|
+
* undefined 여야 `!data === true` 로 정상 토글된다. (아이템이 있으면 records 반환.)
|
|
38
|
+
*/
|
|
39
|
+
get data(): SlotRecord[] | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* data setter — external records → _items reconcile (3-step diff).
|
|
42
|
+
*
|
|
43
|
+
* RecordStorage 자손 (RackGrid / Stockpile / StorageRack — records-only) 은
|
|
44
|
+
* state.data 직접 path 우선 — ItemsDataBinding 의 reconcile 우회 (D-6, 2026-06-20).
|
|
45
|
+
* RecordStorage 의 obtainCarrier 가 transient materialize 담당, _items 는 미사용.
|
|
46
|
+
*
|
|
47
|
+
* **비-배열 값(boolean/scalar — data-toggle, 고전 data-binding)은 items reconcile
|
|
48
|
+
* 대상이 아니라 고전 채널로 통과시킨다** (`setState({data})` → onchangeData / mapping).
|
|
49
|
+
* getter 가 아이템 없을 때 state.data 를 그대로 반영하는 것과 대칭 — carrier 가 data 를
|
|
50
|
+
* items(배열)로도, 고전 트리거(parcel 의 data-toggle → mapping)로도 쓸 수 있게 공존.
|
|
51
|
+
* (예전엔 `!Array.isArray → return` 으로 토글값을 조용히 버려 parcel 매핑이 죽었다.)
|
|
52
|
+
*/
|
|
53
|
+
set data(records: ReadonlyArray<SlotRecord> | any);
|
|
54
|
+
_reconcileItems(records: ReadonlyArray<SlotRecord>): void;
|
|
55
|
+
_exportSlotRecords(): SlotRecord[];
|
|
56
|
+
/**
|
|
57
|
+
* record 정체성 key — default = `slotId`. holder 가 carrier ID 기반 추적 원하면
|
|
58
|
+
* `record.itemId` 또는 `record.itemRefid` 사용으로 override.
|
|
59
|
+
*/
|
|
60
|
+
_recordKey(record: SlotRecord): string;
|
|
61
|
+
/**
|
|
62
|
+
* default record build — holder override 권장 (도메인 확장 field 추가).
|
|
63
|
+
*
|
|
64
|
+
* itemState 산출:
|
|
65
|
+
* 1. _businessFields() 명시 시 → 화이트리스트만 (정공)
|
|
66
|
+
* 2. 미명시 시 → visual blacklist 제외 (fallback, back-compat)
|
|
67
|
+
*
|
|
68
|
+
* 사용자 인사이트 (2026-06-20): *_아이템의 모든 속성이 데이타가 될 필요는 없다.
|
|
69
|
+
* 비즈니스적인 속성이 훨씬 중요_* — 도메인 holder 가 sku / batch / weight / expiry
|
|
70
|
+
* 등 자기 비즈니스 속성 명시 책임.
|
|
71
|
+
*/
|
|
72
|
+
_slotRecordOf(slotId: string, carrier: any | null): SlotRecord;
|
|
73
|
+
/**
|
|
74
|
+
* carrier.state → itemState 추출. 도메인 자손이 _businessFields() override 로
|
|
75
|
+
* 화이트리스트 명시 권장 — 정공 path. 미명시 시 visual blacklist 제외 (fallback).
|
|
76
|
+
*/
|
|
77
|
+
_extractItemState(carrier: any): Record<string, any> | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* 도메인 자손이 명시 — record.itemState 에 포함시킬 *_비즈니스 속성 화이트리스트_*.
|
|
80
|
+
*
|
|
81
|
+
* - 명시 (정공): `['sku', 'batch', 'weight', 'expiry']` — 그 field 만 export.
|
|
82
|
+
* - 미명시 (fallback): visual / scene transform 속성 자동 제외 + 나머지 spread.
|
|
83
|
+
*
|
|
84
|
+
* 사용자 인사이트 (2026-06-20): *_도메인 속성_* 이 진정한 data — 도메인 holder 가
|
|
85
|
+
* 자기 비즈니스 속성 명시 책임.
|
|
86
|
+
*/
|
|
87
|
+
_businessFields(): readonly string[] | null;
|
|
88
|
+
/**
|
|
89
|
+
* record → carrier 인스턴스. default = things-scene Component.register lookup
|
|
90
|
+
* (record.itemType 의 등록된 type class 인스턴스 생성). 도메인 holder 가
|
|
91
|
+
* 특수 factory (custom args, validation, factory pool 등) 필요 시 override.
|
|
92
|
+
*
|
|
93
|
+
* record.itemType 미명시 또는 등록 안 된 type 시 null (reconcile 의 추가 단계 skip).
|
|
94
|
+
*/
|
|
95
|
+
_createItemFromRecord(record: SlotRecord): any | null;
|
|
96
|
+
_items: any[];
|
|
97
|
+
handoverIn(carrier: any, options?: any): void;
|
|
98
|
+
removeItem(item: any, silent?: boolean): void;
|
|
99
|
+
slotIds?(): string[];
|
|
100
|
+
};
|
|
101
|
+
} & TBase;
|
|
102
|
+
export {};
|
|
103
|
+
//# sourceMappingURL=items-data-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"items-data-binding.d.ts","sourceRoot":"","sources":["../../src/items/items-data-binding.ts"],"names":[],"mappings":"AAyDA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AA+B7C;;;GAGG;AACH,UAAU,aAAa;IACrB,MAAM,EAAE,GAAG,EAAE,CAAA;IACb,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAC7C,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,OAAO,CAAC,IAAI,MAAM,EAAE,CAAA;IACpB,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC/B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK;kBA3C7C,GAAG,EAAE;QA6CnC;;;;;;;;WAQG;iBACY,OAAO,CAAC,IAAI,CAAC;QAsC5B;;;;;;;;;;;;WAYG;oBACS,UAAU,EAAE,GAAG,SAAS;QA3CpC;;;;;;;;;;;;WAYG;0BACe,aAAa,CAAC,UAAU,CAAC,GAAG,GAAG;iCA2CxB,aAAa,CAAC,UAAU,CAAC,GAAG,IAAI;8BA4CnC,UAAU,EAAE;QAkClC;;;WAGG;2BACgB,UAAU,GAAG,MAAM;QAItC;;;;;;;;;;WAUG;8BACmB,MAAM,WAAW,GAAG,GAAG,IAAI,GAAG,UAAU;QAgB9D;;;WAGG;mCACwB,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;QAuBhE;;;;;;;;WAQG;2BACgB,SAAS,MAAM,EAAE,GAAG,IAAI;QAI3C;;;;;;WAMG;sCAC2B,UAAU,GAAG,GAAG,GAAG,IAAI;gBAlP/C,GAAG,EAAE;4BACO,GAAG,YAAY,GAAG,GAAG,IAAI;yBAC5B,GAAG,WAAW,OAAO,GAAG,IAAI;oBACjC,MAAM,EAAE;;UAiQrB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface SlotRecord {
|
|
2
|
+
/** slot 식별자 (holder 안 유일). 예: 'forks' / 'cell-3-0-2' / 'slide' / 'pos-7' */
|
|
3
|
+
slotId?: string;
|
|
4
|
+
/** 점유 상태 — item 의 *_비즈니스 식별자_* (sku / sscc / lot 등). 없으면 null.
|
|
5
|
+
* refid(things-scene 내부 정적/동적 영역 인덱스)는 절대 넣지 않는다 — data 영속 시 영역 오염. */
|
|
6
|
+
itemId?: string | null;
|
|
7
|
+
/** item 도메인 type — 'pallet' / 'parcel' / 'tote' 등 */
|
|
8
|
+
itemType?: string;
|
|
9
|
+
/** item 의 추가 state snapshot (도메인 확장 — left/top/rotation/etc.) */
|
|
10
|
+
itemState?: Record<string, any>;
|
|
11
|
+
/** slot 정적 메타 — capacity / kind 등 (holder 가 정의) */
|
|
12
|
+
slotMeta?: Record<string, any>;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated D-1 (2026-06-20) — back-compat. cellId 기반 records (RackGrid /
|
|
15
|
+
* Stockpile / RecordStorage) 와 호환 위해 잔존. 새 코드는 `slotId` 사용.
|
|
16
|
+
*/
|
|
17
|
+
cellId?: string;
|
|
18
|
+
/** @deprecated 도메인 자유 field — back-compat. */
|
|
19
|
+
type?: string;
|
|
20
|
+
/** holder 별 도메인 확장 field 자유 (extends SlotRecord 권장). */
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=slot-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot-record.d.ts","sourceRoot":"","sources":["../../src/items/slot-record.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,UAAU;IACzB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;4EACwE;IACxE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE/B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE9B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,wDAAwD;IACxD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/items/stacking/index.ts"],"names":[],"mappings":"AAMA,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type StackPattern = 'row' | 'staggered' | 'pyramid' | 'column' | 'pile';
|
|
2
|
+
export interface StackCell {
|
|
3
|
+
/** carrier 평면 가로(x). */
|
|
4
|
+
w: number;
|
|
5
|
+
/** carrier 평면 세로(z). */
|
|
6
|
+
h: number;
|
|
7
|
+
/** carrier 적층 높이(y). */
|
|
8
|
+
d: number;
|
|
9
|
+
}
|
|
10
|
+
export interface StackArea {
|
|
11
|
+
/** 적치 영역 가로(x). */
|
|
12
|
+
w: number;
|
|
13
|
+
/** 적치 영역 세로(z). */
|
|
14
|
+
h: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* stackPattern 별 각 carrier 의 local 좌표(영역 중심 기준). y 는 바닥 위 적층 높이(d 단위),
|
|
18
|
+
* x/z 는 영역 평면 위 분포. 반환 길이 = min(count, heightLimit 적용 결과).
|
|
19
|
+
*/
|
|
20
|
+
/** 적치 채움 방향 — *입구 맞은편 슬라이스부터 입구쪽으로 한 슬라이스씩* 진행. caller
|
|
21
|
+
* (stockpile)가 그래프에서 입구를 도출해 넘긴다. 기본 = z 축 진행, -z 슬라이스부터. */
|
|
22
|
+
export interface StackFillOptions {
|
|
23
|
+
/** 진행축을 x 로 (입구가 좌/우 = x 방향일 때). false 면 z 축 진행. */
|
|
24
|
+
advanceAlongX?: boolean;
|
|
25
|
+
/** 진행 시작 슬라이스를 + 끝으로 (입구가 - 쪽이면 반대편 = + 끝부터). */
|
|
26
|
+
reverse?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare function computeStackPositions(pattern: StackPattern, count: number, area: StackArea, cell: StackCell, gap: number, heightLimit?: number, fillOpts?: StackFillOptions): Array<{
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
z: number;
|
|
32
|
+
}>;
|
|
33
|
+
//# sourceMappingURL=stack-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-layout.d.ts","sourceRoot":"","sources":["../../../src/items/stacking/stack-layout.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAK9E,MAAM,WAAW,SAAS;IACxB,wBAAwB;IACxB,CAAC,EAAE,MAAM,CAAA;IACT,wBAAwB;IACxB,CAAC,EAAE,MAAM,CAAA;IACT,wBAAwB;IACxB,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,SAAS;IACxB,mBAAmB;IACnB,CAAC,EAAE,MAAM,CAAA;IACT,mBAAmB;IACnB,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;;GAGG;AACH;8DAC8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,KAAK,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6H5C"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { StackArea, StackCell, StackPattern, StackFillOptions } from './stack-layout.js';
|
|
3
|
+
export type { StackArea, StackCell } from './stack-layout.js';
|
|
4
|
+
/** 적층 옵션 백 — 새 옵션은 선택 필드 추가(하위호환). */
|
|
5
|
+
export interface StackOptions {
|
|
6
|
+
/** 아이템 간 수평 간격 (0 = 딱 붙음). */
|
|
7
|
+
gap?: number;
|
|
8
|
+
/** 최대 단 수(layer count) 제한. 미지정 = 무제한(모두 쌓음). (총 높이가 아니라 *단 수* —
|
|
9
|
+
* scene-unit 높이 제한이 있으면 caller 가 `floor(높이 / 아이템높이)` 로 환산해 넘긴다.) */
|
|
10
|
+
heightLimit?: number;
|
|
11
|
+
/** 채우기 진행 방향(입구 반대편부터 등). */
|
|
12
|
+
fill?: StackFillOptions;
|
|
13
|
+
}
|
|
14
|
+
/** 한 아이템 배치 결과 — 위치 + (선택)자세. staggered/브릭 등 회전 패턴 대응. */
|
|
15
|
+
export interface StackPlacement {
|
|
16
|
+
position: {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
z: number;
|
|
20
|
+
};
|
|
21
|
+
rotation?: {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
z: number;
|
|
25
|
+
w: number;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 적층 전략 계약. `layout` 은 holder-local placement 배열 반환 — 원점 = 영역 중심,
|
|
30
|
+
* y = 수직(0 = 바닥층). 넘치면 위층. baseline(deck/pad top) 미포함(소비자가 더함).
|
|
31
|
+
*/
|
|
32
|
+
export interface StackingStrategy {
|
|
33
|
+
layout(count: number, area: StackArea, cell: StackCell, opts?: StackOptions): StackPlacement[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* PatternStacking — 기존 `computeStackPositions` 엔진을 패턴으로 래핑
|
|
37
|
+
* (row / column / staggered / pyramid / pile). Stockpile 계열 적치.
|
|
38
|
+
*/
|
|
39
|
+
export declare class PatternStacking implements StackingStrategy {
|
|
40
|
+
private readonly pattern;
|
|
41
|
+
private readonly defaults;
|
|
42
|
+
constructor(pattern: StackPattern, defaults?: StackOptions);
|
|
43
|
+
layout(count: number, area: StackArea, cell: StackCell, opts?: StackOptions): StackPlacement[];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* GridStacking — 정확한 cols×rows footprint 중앙 정렬 + **수직 무제한 적층**.
|
|
47
|
+
* `computeStackPositions` 의 패턴들이 주지 못하는 격자 적층(예: 팔레트 2×2)을 담당.
|
|
48
|
+
* footprint 를 다 채우면(= cols*rows 개) 위층으로 쌓는다. 층 높이 = cell.d.
|
|
49
|
+
*/
|
|
50
|
+
export declare class GridStacking implements StackingStrategy {
|
|
51
|
+
private readonly cols;
|
|
52
|
+
private readonly rows;
|
|
53
|
+
private readonly defaults;
|
|
54
|
+
constructor(cols: number, rows: number, defaults?: StackOptions);
|
|
55
|
+
layout(count: number, _area: StackArea, cell: StackCell, opts?: StackOptions): StackPlacement[];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* VolumeStacking — 3D 부피를 cols×rows×layers 로 채우는 보편 적층(트레일러/컨테이너/bin).
|
|
59
|
+
*
|
|
60
|
+
* cols/rows 는 area(수평 바닥)와 cell 에서 **자동 도출**(GridStacking 은 고정 cols/rows). 층 수는
|
|
61
|
+
* opts.heightLimit(단 수)로 제한, 미지정 시 count 만큼 무제한 적층. 간격은 cell 치수의 비율
|
|
62
|
+
* (`gapRatio`, 축별). `fillFromFar` 면 rows 를 먼 쪽(+z, 예: 트럭 뒤)부터 채운다.
|
|
63
|
+
*
|
|
64
|
+
* 반환은 표준 규약: holder-local **중앙 정렬** x/z + y=수직(바닥층 중심 = cell.d/2). 소비자가
|
|
65
|
+
* 받침면 baseline 을 더한다. (트레일러의 wall/pad·frame 오프셋은 소비자(_repositionAll)가 적용.)
|
|
66
|
+
*/
|
|
67
|
+
export declare class VolumeStacking implements StackingStrategy {
|
|
68
|
+
private readonly gapRatio;
|
|
69
|
+
private readonly fillFromFar;
|
|
70
|
+
private readonly sliceFirst;
|
|
71
|
+
/**
|
|
72
|
+
* @param gapRatio 아이템 간 간격 = 치수 × ratio (축별). default 0.1.
|
|
73
|
+
* @param fillFromFar rows(깊이 z) 진행 방향을 뒤집는다. default false = -z(row 0)부터 +z 로.
|
|
74
|
+
* @param sliceFirst **true = 슬라이스(수직 벽) 우선** — 한 depth-row 의 벽(cols×layers)을 꽉
|
|
75
|
+
* 채우고 다음 depth 로. 트럭/컨테이너 적재(벽 단위, 출구쪽 슬라이스가 working-edge → 먼저
|
|
76
|
+
* 소비). false(기본) = layer 우선(바닥 전체 → 위층). 팔레트식. sliceFirst 는 heightLimit(단 수)
|
|
77
|
+
* 필요(없으면 layer-first fallback).
|
|
78
|
+
*/
|
|
79
|
+
constructor(gapRatio?: number, fillFromFar?: boolean, sliceFirst?: boolean);
|
|
80
|
+
/** area(수평) × cell 로부터 cols/rows + 축별 pitch 산출. */
|
|
81
|
+
private grid;
|
|
82
|
+
/** cols×rows×maxLayers = 이 부피가 수용하는 최대 개수. */
|
|
83
|
+
capacity(area: StackArea, cell: StackCell, maxLayers: number): number;
|
|
84
|
+
layout(count: number, area: StackArea, cell: StackCell, opts?: StackOptions): StackPlacement[];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* placements 를 대상 object3d 들에 적용 — 실 Component(Pallet) / 가상 mesh(Stockpile) 무관.
|
|
88
|
+
* host 자식으로 attach 하고 (baselineY + 층 y) 위치·자세 설정. things 와 placements 는 index 대응.
|
|
89
|
+
*/
|
|
90
|
+
export declare function applyStackLayout(host: THREE.Object3D, things: Array<THREE.Object3D | undefined | null>, placements: StackPlacement[], baselineY?: number): void;
|
|
91
|
+
/** 2D top-down footprint 한 셀 — (x,y)=board 좌표 좌상단, w×h 크기, count=겹친(적층) 개수. */
|
|
92
|
+
export interface StackFootprintCell {
|
|
93
|
+
x: number;
|
|
94
|
+
y: number;
|
|
95
|
+
w: number;
|
|
96
|
+
h: number;
|
|
97
|
+
count: number;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* placements 를 **2D top-down footprint 로 투영** — 3D 와 *같은* StackingStrategy.layout 을 2D
|
|
101
|
+
* 렌더가 소비하도록(한 소스, 방언 금지). holder-local (x,z) → board 좌표. 같은 (x,z)에 겹친
|
|
102
|
+
* 화물은 하나의 셀 + count 로 묶는다(적층 = ×N). 소비자(pallet/trailer postrender)는 이 셀들을
|
|
103
|
+
* 자기 appearance 로 그리기만 한다.
|
|
104
|
+
*/
|
|
105
|
+
export declare function footprint2D(placements: StackPlacement[], area: {
|
|
106
|
+
left: number;
|
|
107
|
+
top: number;
|
|
108
|
+
width: number;
|
|
109
|
+
height: number;
|
|
110
|
+
}, cell: {
|
|
111
|
+
w: number;
|
|
112
|
+
h: number;
|
|
113
|
+
}, marginRatio?: number): StackFootprintCell[];
|
|
114
|
+
//# sourceMappingURL=stacking-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stacking-strategy.d.ts","sourceRoot":"","sources":["../../../src/items/stacking/stacking-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Position } from '../../types/bounding.js';
|
|
2
2
|
import { Component } from '../../types/component.js';
|
|
3
3
|
import { PopupOrigin } from '../../components/position/popup-position.js';
|
|
4
|
+
import { type AnchorPin } from '../../threed/utils/anchor.js';
|
|
4
5
|
export default class ScenePopup {
|
|
5
6
|
static hideAll(root: any): void;
|
|
6
7
|
static hide(component: Component): void;
|
|
@@ -14,6 +15,18 @@ export default class ScenePopup {
|
|
|
14
15
|
popupPosition?: Position;
|
|
15
16
|
origin?: PopupOrigin;
|
|
16
17
|
title?: string;
|
|
18
|
+
threed?: boolean;
|
|
19
|
+
containerRef?: string;
|
|
20
|
+
htmlTemplate?: string;
|
|
21
|
+
anchor?: Component;
|
|
22
|
+
anchorPin?: AnchorPin;
|
|
23
|
+
anchorOffsetX?: number;
|
|
24
|
+
anchorOffsetY?: number;
|
|
25
|
+
anchorOffsetZ?: number;
|
|
26
|
+
constantSize?: boolean;
|
|
27
|
+
billboard?: boolean;
|
|
28
|
+
tether?: boolean;
|
|
29
|
+
offScreen?: 'hide' | 'edge-pin' | 'keep-last';
|
|
17
30
|
}): void;
|
|
18
31
|
}
|
|
19
32
|
//# sourceMappingURL=popup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../../../src/layer/action/popup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../../../src/layer/action/popup.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAIL,WAAW,EACZ,MAAM,6CAA6C,CAAA;AAGpD,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAysBzF,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;IAKxB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS;IAqChC,MAAM,CAAC,IAAI,CACT,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,GAAG,CAAA;QACV,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,aAAa,CAAC,EAAE,QAAQ,CAAA;QACxB,MAAM,CAAC,EAAE,WAAW,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,OAAO,CAAA;QAEhB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,YAAY,CAAC,EAAE,MAAM,CAAA;QAGrB,MAAM,CAAC,EAAE,SAAS,CAAA;QAClB,SAAS,CAAC,EAAE,SAAS,CAAA;QACrB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA;KACzC;CAiTT"}
|
|
@@ -4,6 +4,14 @@ export default class AddLayer extends Layer {
|
|
|
4
4
|
before_mode: any;
|
|
5
5
|
models: any;
|
|
6
6
|
downpoint: any;
|
|
7
|
+
/** bulk-create mode flag — ondragend 에서 add 대신 'bulkareaselected' event 발행. */
|
|
8
|
+
bulkMode?: boolean;
|
|
9
|
+
/** bulk-create 시 사용자가 전달한 템플릿 model — bulkareaselected event payload 로 그대로 전달. */
|
|
10
|
+
template?: any;
|
|
11
|
+
/** bulk-create 시 addbox stroke 색. 기본은 검정 (= 일반 add 와 동일). */
|
|
12
|
+
boxStrokeStyle?: string;
|
|
13
|
+
/** ondragstart 가 실제 호출되었는지 — drag 미발생 시 ondragend (잔류 이벤트) 가 들어와도 무시. */
|
|
14
|
+
dragStarted?: boolean;
|
|
7
15
|
ready(): Promise<void>;
|
|
8
16
|
get pointerEvents(): string;
|
|
9
17
|
render(ctx: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-layer.d.ts","sourceRoot":"","sources":["../../src/layer/add-layer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK;IACjC,MAAM,EAAE,GAAG,CAAA;IACX,WAAW,EAAE,GAAG,CAAA;IAChB,MAAM,EAAE,GAAG,CAAA;IACX,SAAS,EAAE,GAAG,CAAA;
|
|
1
|
+
{"version":3,"file":"add-layer.d.ts","sourceRoot":"","sources":["../../src/layer/add-layer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK;IACjC,MAAM,EAAE,GAAG,CAAA;IACX,WAAW,EAAE,GAAG,CAAA;IAChB,MAAM,EAAE,GAAG,CAAA;IACX,SAAS,EAAE,GAAG,CAAA;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAA;IAGf,KAAK;IAWX,IAAI,aAAa,WAEhB;IAED,MAAM,CAAC,GAAG,KAAA;IAmBV,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAIb,IAAI,QAAQ;;;;;;;;;;;;;;;;;;MAoBX;IAED,mBAAmB,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,EAAE,IAAI,KAAA;IAYvC,UAAU,CAAC,MAAM,KAAA,EAAE,IAAI,KAAA;IAmBvB,SAAS;IAcT,SAAS,CAAC,CAAC,KAAA;IAQX,WAAW,CAAC,CAAC,KAAA;IAUb,UAAU,CAAC,CAAC,KAAA;IAeZ,SAAS,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IA8CjB,WAAW,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAWnB,SAAS,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;CAuBlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dual-canvas-layer.d.ts","sourceRoot":"","sources":["../../src/layer/dual-canvas-layer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,KAAK;IAChD,OAAO,EAAE,GAAG,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,aAAa,EAAE,GAAG,CAAA;IAElB,OAAO;IAOP,aAAa,IAAI,GAAG;IA6BpB,MAAM;IAaN,IAAI,MAAM,QAET;IAED,IAAI,SAAS,QAEZ;IAED,IAAI,SAAS,QAcZ;IAED,IAAI,YAAY,QAcf;IAED,UAAU,CAAC,SAAS,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"dual-canvas-layer.d.ts","sourceRoot":"","sources":["../../src/layer/dual-canvas-layer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,KAAK;IAChD,OAAO,EAAE,GAAG,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,aAAa,EAAE,GAAG,CAAA;IAElB,OAAO;IAOP,aAAa,IAAI,GAAG;IA6BpB,MAAM;IAaN,IAAI,MAAM,QAET;IAED,IAAI,SAAS,QAEZ;IAED,IAAI,SAAS,QAcZ;IAED,IAAI,YAAY,QAcf;IAED,UAAU,CAAC,SAAS,EAAE,GAAG;IAYzB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG;CAiBnB"}
|
|
@@ -5,4 +5,5 @@ export { default as AddLayer } from './add-layer.js';
|
|
|
5
5
|
export { default as SelectionLayer } from './selection-layer.js';
|
|
6
6
|
export { default as ModelingLayer } from './modeling-layer.js';
|
|
7
7
|
export { default as ScrollLayer } from './scroll-layer.js';
|
|
8
|
+
export { default as SnapGuideLayer } from './snap-guide-layer.js';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import Component from '../components/component.js';
|
|
2
2
|
import ContainerAbstract from '../components/container-abstract.js';
|
|
3
3
|
export default class Layer extends ContainerAbstract {
|
|
4
|
+
get showMoveHandle(): boolean;
|
|
4
5
|
_element: HTMLElement | null;
|
|
5
6
|
_draw_reserved: any;
|
|
6
7
|
__draw__: any;
|
|
7
8
|
throttle_render: any;
|
|
8
9
|
_target: any;
|
|
9
10
|
_context2D: any;
|
|
11
|
+
private _firstDrawReported;
|
|
10
12
|
constructor(model: any, context: any);
|
|
11
13
|
get element(): HTMLElement | null;
|
|
12
14
|
set element(v: HTMLElement | null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../src/layer/layer.ts"],"names":[],"mappings":"AAKA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAInE,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,iBAAiB;
|
|
1
|
+
{"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../src/layer/layer.ts"],"names":[],"mappings":"AAKA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAInE,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,iBAAiB;IAIlD,IAAI,cAAc,YAEjB;IAED,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAO;IACnC,cAAc,EAAE,GAAG,CAAA;IACnB,QAAQ,EAAE,GAAG,CAAA;IACb,eAAe,EAAE,GAAG,CAAA;IACpB,OAAO,EAAE,GAAG,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,OAAO,CAAC,kBAAkB,CAAQ;gBAEtB,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;IA8CpC,IAAI,OAAO,IAAI,WAAW,GAAG,IAAI,CAAyB;IAC1D,IAAI,OAAO,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,EAAuB;IAExD,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG;IAsBzD,MAAM;IAIN,OAAO;IAIP,IAAI,YAAY,YAEf;IAED,IAAI,OAAO,IAAI,GAAG,CAAqB;IAEvC,aAAa;IASb,IAAI,aAAa,WAEhB;IAED,IAAI,MAAM,QAET;IAED,IAAI,MAAM,CAAC,MAAM,KAAA,EAuBhB;IAED,IAAI,MAAM,IAAI,iBAAiB,GAAG,IAAI,CAErC;IAED,OAAO;IAQP,IAAI,QAAQ,IAAI,SAAS,EAAE,CAE1B;IAED,IAAI,QAAQ,CAAC,IAAI,EAJD,SAAS,EAIR,EAEhB;IAED,IAAI,2BAA2B,YAE9B;IAED,IAAI,OAAO,qBAEV;IAED,IAAI,OAAO,CAAC,SAAS,kBAAA,EAEpB;IAED,IAAI,SAAS,QAgBZ;IAED,UAAU,CAAC,SAAS,EAAE,GAAG;IASzB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG;IAalB,SAAS,CAAC,OAAO,EAAE,wBAAwB;IAkB3C,IAAI,WAAW;;;MAMd;IAGD,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAI7B,UAAU;IASV,IAAI,CAAC,MAAM,EAAE,GAAG;IAWhB,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;CAqCvC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as THREE from 'three';
|
|
2
2
|
import type { ArrowStyle3D } from '../threed/arrow-3d.js';
|
|
3
3
|
import Component from '../components/component.js';
|
|
4
|
+
import { type EventHandler, type EventTrigger } from '../interfaces/event-handler.js';
|
|
4
5
|
import ScenePopup from './action/popup.js';
|
|
5
6
|
import DualCanvasLayer from './dual-canvas-layer.js';
|
|
6
7
|
import { ThreeCapability } from '../threed/three-capability.js';
|
|
@@ -23,21 +24,40 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
23
24
|
_decoratorAuxOverlay: any;
|
|
24
25
|
private _threeCapability?;
|
|
25
26
|
private _lastCameraState?;
|
|
27
|
+
private _saved2DViewport?;
|
|
26
28
|
private _toolbar?;
|
|
27
|
-
private _cameraSection?;
|
|
28
|
-
private _gizmoSection?;
|
|
29
29
|
private _cameraButtons?;
|
|
30
|
-
private
|
|
30
|
+
private _floatingPopup?;
|
|
31
|
+
private _floatingPopupCloseHandler?;
|
|
32
|
+
/** Scene이 주입하는 토글 콜백 */
|
|
33
|
+
onSearchToggle?: () => void;
|
|
34
|
+
onDataBindingToggle?: () => void;
|
|
35
|
+
onMonitorToggle?: () => void;
|
|
31
36
|
get nature(): ComponentNature;
|
|
32
37
|
get is3dMode(): boolean;
|
|
33
38
|
is3dContainer(): boolean;
|
|
39
|
+
get gizmoMode(): 'translate' | 'rotate' | 'scale' | undefined;
|
|
40
|
+
setGizmoMode(mode: 'translate' | 'rotate' | 'scale'): void;
|
|
34
41
|
get scene3d(): THREE.Scene | undefined;
|
|
35
42
|
get renderer3d(): THREE.WebGLRenderer | undefined;
|
|
36
43
|
get activeCamera3d(): THREE.Camera | undefined;
|
|
37
44
|
get mixer(): THREE.AnimationMixer | undefined;
|
|
38
|
-
get zoom(): number | undefined;
|
|
39
45
|
addArrow3D(id: string, from: Component, to: Component, style?: ArrowStyle3D): void;
|
|
40
46
|
removeArrow3D(id: string): void;
|
|
47
|
+
/**
|
|
48
|
+
* 3D selection/decorator outline 의 색을 설정. Tracker 등 외부 모듈이 자기
|
|
49
|
+
* 정책 색으로 동기화할 때. 3D 미초기화 상태에서도 색상은 보존되어:
|
|
50
|
+
* - 3D 모드 활성화 (_activateThreeD) 시점에 새로 만들어지는 OutlinePass 에 적용
|
|
51
|
+
* - 3D→2D 전환 시 border-highlighting 복원에 사용
|
|
52
|
+
*/
|
|
53
|
+
setOutlineColor(color: number): void;
|
|
54
|
+
/** outline 색의 number 형. setOutlineColor 가 갱신. 기본 things-scene 표준. */
|
|
55
|
+
private _outlineColor;
|
|
56
|
+
/**
|
|
57
|
+
* 3D→2D 전환 시 outline 컴포넌트를 border-highlighting 으로 복원할 때 사용할 색.
|
|
58
|
+
* setOutlineColor 호출로 갱신. 기본은 things-scene 표준 (#f26522 의 alpha 형).
|
|
59
|
+
*/
|
|
60
|
+
private _outlineDecoColor;
|
|
41
61
|
clearArrows3D(): void;
|
|
42
62
|
private _buildLightingConfig;
|
|
43
63
|
/**
|
|
@@ -45,6 +65,20 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
45
65
|
* _activateThreeD()와 adoptThreeCapability()에서 공용으로 사용한다.
|
|
46
66
|
*/
|
|
47
67
|
private _hide2DLayers;
|
|
68
|
+
/**
|
|
69
|
+
* zoom-handler가 등록되어 있는지 확인한다.
|
|
70
|
+
* zoom-handler가 있으면 사용자가 자유 줌/팬이 가능하므로 뷰포트 연동이 필요하다.
|
|
71
|
+
*/
|
|
72
|
+
private get _hasZoomHandler();
|
|
73
|
+
/**
|
|
74
|
+
* 2D↔3D 전환 시 뷰포트 연동이 필요한지 판단한다.
|
|
75
|
+
* - 모델러: 항상 연동 (3D↔2D 카메라 매핑)
|
|
76
|
+
* - 뷰어 + zoom-handler: 연동 (2D 상태 저장/복원)
|
|
77
|
+
* - 뷰어 + zoom-handler 없음: 독립 (각자 뷰, 연동 불필요)
|
|
78
|
+
*/
|
|
79
|
+
private get _needsViewportSync();
|
|
80
|
+
private _2dScaleBeforeThreeD?;
|
|
81
|
+
private _initialVisibleHeight?;
|
|
48
82
|
private _activateThreeD;
|
|
49
83
|
/**
|
|
50
84
|
* 플로팅 툴바를 생성한다.
|
|
@@ -54,9 +88,15 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
54
88
|
private _createToolbar;
|
|
55
89
|
private _applyToggleStyle;
|
|
56
90
|
private _applyButtonStyle;
|
|
57
|
-
private _toggleToolbarSection;
|
|
58
91
|
private _updateCameraButtons;
|
|
59
|
-
private
|
|
92
|
+
private _registerPopupCallbacks;
|
|
93
|
+
private _closeFloatingPopup;
|
|
94
|
+
private _showFloatingPopup;
|
|
95
|
+
private _makePopupDraggable;
|
|
96
|
+
private _toggleHelpPanel;
|
|
97
|
+
private _toggleBookmarkNav;
|
|
98
|
+
private _toggleBookmarkEdit;
|
|
99
|
+
private _buildBookmarkPopup;
|
|
60
100
|
private _removeToolbar;
|
|
61
101
|
/**
|
|
62
102
|
* 3D 렌더러를 실제 표시 영역 크기에 맞춰 리사이즈한다.
|
|
@@ -81,7 +121,26 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
81
121
|
*/
|
|
82
122
|
adoptThreeCapability(cap: ThreeCapability): void;
|
|
83
123
|
private _deactivateThreeD;
|
|
124
|
+
/**
|
|
125
|
+
* 실제 뷰포트 크기를 반환한다.
|
|
126
|
+
* canvas가 hidden일 수 있으므로 target(외부 컨테이너)에서 읽는다.
|
|
127
|
+
*/
|
|
128
|
+
private _getViewportSize;
|
|
129
|
+
/**
|
|
130
|
+
* 2D 뷰포트 상태를 기반으로 3D 카메라 위치/타겟을 설정한다.
|
|
131
|
+
*/
|
|
132
|
+
private _initCameraFrom2DViewport;
|
|
133
|
+
/**
|
|
134
|
+
* 3D 카메라 상태를 기반으로 2D 뷰포트(translate, scale)를 설정한다.
|
|
135
|
+
*/
|
|
136
|
+
private _init2DViewportFrom3DCamera;
|
|
137
|
+
centerTo(component: any, animated?: boolean): void;
|
|
84
138
|
ready(): Promise<void>;
|
|
139
|
+
/**
|
|
140
|
+
* 3D 모드 전환 (모델에 저장하지 않음 — 런타임 전환만)
|
|
141
|
+
*/
|
|
142
|
+
private _threeDUserDeactivated;
|
|
143
|
+
toggleThreeD(force3d?: boolean): void;
|
|
85
144
|
dispose(): void;
|
|
86
145
|
contains(x: any, y: any): boolean;
|
|
87
146
|
isRootModel(): boolean;
|
|
@@ -163,6 +222,21 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
163
222
|
_onmouseenter_all(event: any, hint: any): void;
|
|
164
223
|
_onmouseleave_all(event: any, hint: any): void;
|
|
165
224
|
_onclick(event: any, hint: any): void;
|
|
225
|
+
/**
|
|
226
|
+
* 컴포넌트의 eventHandlers (legacy 정규화 포함) 중 매칭되는 trigger 의 핸들러
|
|
227
|
+
* 모두 실행. enter=true (mouseenter/click), enter=false (mouseleave).
|
|
228
|
+
*
|
|
229
|
+
* 실행 순서:
|
|
230
|
+
* 1) 컴포넌트 class 의 *built-in method* (예: onTap, onMouseEnter) — 도메인
|
|
231
|
+
* 기본 동작 (예: SlidingDoor.onTap → toggle). 컴포넌트가 override 시 호출.
|
|
232
|
+
* 2) state.eventHandlers (사용자 커스텀) — UI 에서 등록한 script/action.
|
|
233
|
+
*
|
|
234
|
+
* 둘 다 실행 — *override 가 아니라 augment*. 사용자 커스텀이 도메인 동작 보완.
|
|
235
|
+
*/
|
|
236
|
+
_dispatchEventHandlers(component: any, triggers: EventTrigger[], event: any, enter: boolean): void;
|
|
237
|
+
/** EventTrigger → 컴포넌트 method 이름. 컴포넌트가 해당 method override 시 자동 호출. */
|
|
238
|
+
_triggerToMethodName(trigger: EventTrigger, enter: boolean): string | undefined;
|
|
239
|
+
_executeHandler(handler: EventHandler, component: any, event: any, enter: boolean): void;
|
|
166
240
|
_onmousedownup(event: any, hint: any): void;
|
|
167
241
|
_doMouseDownUpEventAction(event: any, component: any, enter: any, org_event: any): void;
|
|
168
242
|
_doEventAction(event: any, component: any, enter: any, org_event: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"model-layer.d.ts","sourceRoot":"","sources":["../../src/layer/model-layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,5 @@ export { default as PathHandler } from './path-handler.js';
|
|
|
5
5
|
export { default as AnchorHandler } from './anchor-handler.js';
|
|
6
6
|
export { default as Resizer } from './resizer.js';
|
|
7
7
|
export { default as Rotator } from './rotator.js';
|
|
8
|
+
export { default as MoveHandleModeler } from './move-handle-modeler.js';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move-handle-icon.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/move-handle-icon.ts"],"names":[],"mappings":"AASA,wBAAgB,kBAAkB,qBAGjC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default class MoveHandleModeler {
|
|
2
|
+
layer: any;
|
|
3
|
+
active: any;
|
|
4
|
+
constructor(layer: any);
|
|
5
|
+
reset(): void;
|
|
6
|
+
get selected(): any;
|
|
7
|
+
/** 핸들 사각 영역 (컴포넌트 좌표계, scale 역보정으로 화면 고정 크기). */
|
|
8
|
+
private _rect;
|
|
9
|
+
contains(x: number, y: number, component: any, scale: any): boolean;
|
|
10
|
+
draw(ctx: CanvasRenderingContext2D, component: any, scale: any): void;
|
|
11
|
+
onmousedown(_e: any): void;
|
|
12
|
+
ondragstart(e: any): void;
|
|
13
|
+
ondragmove(e: any): void;
|
|
14
|
+
ondragend(_e: any): void;
|
|
15
|
+
/** 마우스 이벤트 → 컴포넌트 부모 좌표계 점 (move-handler 와 동일). */
|
|
16
|
+
private _pointOf;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=move-handle-modeler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move-handle-modeler.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/move-handle-modeler.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,GAAG,CAAA;gBAEC,KAAK,EAAE,GAAG;IAItB,KAAK;IAIL,IAAI,QAAQ,QAEX;IAED,iDAAiD;IACjD,OAAO,CAAC,KAAK;IAOb,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;IAWzD,IAAI,CAAC,GAAG,EAAE,wBAAwB,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;IAyB9D,WAAW,CAAC,EAAE,EAAE,GAAG;IAQnB,WAAW,CAAC,CAAC,EAAE,GAAG;IAMlB,UAAU,CAAC,CAAC,EAAE,GAAG;IAOjB,SAAS,CAAC,EAAE,EAAE,GAAG;IAMjB,mDAAmD;IACnD,OAAO,CAAC,QAAQ;CAOjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-handler.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/path-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"path-handler.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/path-handler.ts"],"names":[],"mappings":"AA0CA,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,GAAG,CAAA;gBAEA,KAAK,EAAE,GAAG;IAItB,KAAK;IAML,IAAI,QAAQ,QAEX;IAED,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAmE/B,gBAAgB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,CAAC,KAAA;IAmBvC,IAAI,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAsG9B,UAAU,CAAC,CAAC,KAAA;IAiCZ,WAAW,CAAC,CAAC,KAAA;IAIb,WAAW,CAAC,CAAC,KAAA;IAkBb,UAAU,CAAC,CAAC,KAAA;IAgLZ,SAAS,CAAC,CAAC,KAAA;CAsDZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rotator.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/rotator.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,GAAG,CAAA;gBAEC,KAAK,EAAE,GAAG;IAItB,KAAK;IAKL,IAAI,QAAQ,QAEX;IAED,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAkB/B,IAAI,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IA0C9B,WAAW,CAAC,CAAC,KAAA;IAIb,WAAW,CAAC,CAAC,KAAA;
|
|
1
|
+
{"version":3,"file":"rotator.d.ts","sourceRoot":"","sources":["../../../src/layer/modeler/rotator.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,GAAG,CAAA;gBAEC,KAAK,EAAE,GAAG;IAItB,KAAK;IAKL,IAAI,QAAQ,QAEX;IAED,QAAQ,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IAkB/B,IAAI,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA;IA0C9B,WAAW,CAAC,CAAC,KAAA;IAIb,WAAW,CAAC,CAAC,KAAA;IAOb,UAAU,CAAC,CAAC,KAAA;IAmCZ,SAAS,CAAC,CAAC,KAAA;CAuBZ"}
|