@hatiolab/things-scene 10.0.0-beta.12 → 10.0.0-beta.121
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 +8 -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/holdable.d.ts +262 -0
- package/dist-types/components/mixins/holdable.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 +135 -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 +24 -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
|
@@ -2,4 +2,6 @@ export * from './types';
|
|
|
2
2
|
export * from './providers';
|
|
3
3
|
export * from './layout';
|
|
4
4
|
export type { IRealObject } from './real-object.js';
|
|
5
|
+
export type { EventHandler, EventTrigger } from './event-handler.js';
|
|
6
|
+
export { normalizeEventHandlers } from './event-handler.js';
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type Component from '../components/component.js';
|
|
2
|
+
import type Container from '../components/container.js';
|
|
1
3
|
/**
|
|
2
|
-
* 레이아웃 인터페이스
|
|
4
|
+
* 레이아웃 인터페이스 (구현체용)
|
|
3
5
|
*/
|
|
4
6
|
export interface LAYOUT {
|
|
5
7
|
reflow(container: any, component?: any): void;
|
|
@@ -9,6 +11,38 @@ export interface LAYOUT {
|
|
|
9
11
|
keyNavigate?(container: any, component: any, e: KeyboardEvent): any | undefined;
|
|
10
12
|
joinType?: boolean;
|
|
11
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* 레이아웃 인터페이스 (Public API — 외부 타입 어노테이션용)
|
|
16
|
+
*
|
|
17
|
+
* A layout strategy defines how a container arranges its child components.
|
|
18
|
+
* Only components with `position: 'static'` should be affected by layout.
|
|
19
|
+
*/
|
|
20
|
+
export interface Layout {
|
|
21
|
+
/**
|
|
22
|
+
* Recalculates the positions and sizes of child components.
|
|
23
|
+
*/
|
|
24
|
+
reflow(container: Container, component?: Component): void;
|
|
25
|
+
/**
|
|
26
|
+
* Returns components that are eligible for interaction.
|
|
27
|
+
*/
|
|
28
|
+
capturables(container: Container): Component[];
|
|
29
|
+
/**
|
|
30
|
+
* Returns components that should be rendered.
|
|
31
|
+
*/
|
|
32
|
+
drawables(container: Container): Component[];
|
|
33
|
+
/**
|
|
34
|
+
* Determines whether the given component is "stuck" in its layout position.
|
|
35
|
+
*/
|
|
36
|
+
isStuck(component: Component): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* (Optional) Key navigation handler for keyboard interaction within the layout.
|
|
39
|
+
*/
|
|
40
|
+
keyNavigate?(container: Container, component: Component, e: KeyboardEvent): Component | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* (Optional) Whether the layout joins component types.
|
|
43
|
+
*/
|
|
44
|
+
joinType?: boolean;
|
|
45
|
+
}
|
|
12
46
|
/**
|
|
13
47
|
* 레이아웃 레지스트리 인터페이스
|
|
14
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/interfaces/layout.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAC7C,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAClC,SAAS,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAChC,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAA;IAChC,WAAW,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,GAAG,GAAG,GAAG,SAAS,CAAA;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,IAAI;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACnC"}
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/interfaces/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IAC7C,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAClC,SAAS,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAA;IAChC,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAA;IAChC,WAAW,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,GAAG,GAAG,GAAG,SAAS,CAAA;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IAEzD;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;IAE9C;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;IAE5C;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAA;IAEtC;;OAEG;IACH,WAAW,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;IAEjG;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,IAAI;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACnC"}
|
|
@@ -1,35 +1,47 @@
|
|
|
1
1
|
import type { SceneMode } from '../const';
|
|
2
2
|
import type { Scene } from '../types/scene';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Provides sub-board references for board-to-board linking (goto, link-open).
|
|
5
|
+
* Implementations should cache loaded scenes and handle lifecycle (release).
|
|
5
6
|
*/
|
|
6
7
|
export interface ReferenceProvider {
|
|
8
|
+
/** All registered board IDs */
|
|
7
9
|
get ids(): string[];
|
|
10
|
+
/** Register a board scene by ID */
|
|
8
11
|
add(id: string, target?: any): Promise<Scene & {
|
|
9
12
|
release: () => void;
|
|
10
13
|
}>;
|
|
14
|
+
/** Get a board scene by ID, optionally creating if not found */
|
|
11
15
|
get(id: string, createIf?: boolean): Promise<Scene & {
|
|
12
16
|
release: () => void;
|
|
13
17
|
}>;
|
|
18
|
+
/** Create a new board scene by ID */
|
|
14
19
|
create(id: string): Promise<Scene & {
|
|
15
20
|
release: () => void;
|
|
16
21
|
}>;
|
|
17
22
|
}
|
|
18
23
|
/**
|
|
19
|
-
*
|
|
24
|
+
* Provides real-time data subscriptions for components with a `tag` property.
|
|
25
|
+
* Components receive live data via `component.data = ...` when subscribed.
|
|
20
26
|
*/
|
|
21
27
|
export interface DataSubscriptionProvider {
|
|
28
|
+
/** Subscribe a component to a data tag. Returns an unsubscribe handle. */
|
|
22
29
|
subscribe(tag: string, component: any): Promise<{
|
|
23
30
|
unsubscribe: () => void;
|
|
24
31
|
}>;
|
|
32
|
+
/** Dispose all active subscriptions */
|
|
25
33
|
dispose(): void;
|
|
26
34
|
}
|
|
27
35
|
/**
|
|
28
|
-
*
|
|
36
|
+
* Per-component persistent data storage for saving/restoring component state
|
|
37
|
+
* across sessions (e.g. user inputs, slider positions).
|
|
29
38
|
*/
|
|
30
39
|
export interface PersistentDataStorage {
|
|
40
|
+
/** Load persisted data for a component */
|
|
31
41
|
load(key: object): Promise<any>;
|
|
42
|
+
/** Save data for a component */
|
|
32
43
|
save(key: object, value: any): Promise<void>;
|
|
44
|
+
/** Clear persisted data for a component */
|
|
33
45
|
clear(key: object): Promise<void>;
|
|
34
46
|
}
|
|
35
47
|
/**
|
|
@@ -50,6 +62,11 @@ export interface ApplicationContext {
|
|
|
50
62
|
PPI?: number;
|
|
51
63
|
/** Command executor for undo/redo operations (edit mode) */
|
|
52
64
|
commander?: any;
|
|
65
|
+
/** Loading monitor */
|
|
66
|
+
loadTracker?: import('../diagnostics/load-tracker.js').LoadTracker;
|
|
67
|
+
adoptLoadTracker?(tracker: import('../diagnostics/load-tracker.js').LoadTracker): void;
|
|
68
|
+
/** Data lag monitor (optional, created when dataLagMonitor configured) */
|
|
69
|
+
lagTracker?: import('../diagnostics/data-lag-tracker.js').DataLagTracker;
|
|
53
70
|
url(x: string): string;
|
|
54
71
|
dispose(): void;
|
|
55
72
|
subscribe?(tag: string, component: any): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/interfaces/providers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE3C
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/interfaces/providers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,IAAI,GAAG,IAAI,MAAM,EAAE,CAAA;IACnB,mCAAmC;IACnC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAA;IACvE,gEAAgE;IAChE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAA;IAC7E,qCAAqC;IACrC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAA;CAC7D;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,0EAA0E;IAC1E,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAA;IAC5E,uCAAuC;IACvC,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,gCAAgC;IAChC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,2CAA2C;IAC3C,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;IACvC,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAA;IAC3C,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAA;IAC3D,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAE5B,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4DAA4D;IAC5D,SAAS,CAAC,EAAE,GAAG,CAAA;IAEf,sBAAsB;IACtB,WAAW,CAAC,EAAE,OAAO,gCAAgC,EAAE,WAAW,CAAA;IAClE,gBAAgB,CAAC,CAAC,OAAO,EAAE,OAAO,gCAAgC,EAAE,WAAW,GAAG,IAAI,CAAA;IACtF,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,oCAAoC,EAAE,cAAc,CAAA;IAExE,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,OAAO,IAAI,IAAI,CAAA;IACf,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CACtD"}
|
|
@@ -4,9 +4,16 @@ import type { Properties } from './types.js';
|
|
|
4
4
|
* Component의 3D 표현을 담당하는 객체가 구현해야 하는 계약.
|
|
5
5
|
* 실제 구현은 src/threed/real-object.ts에서 제공.
|
|
6
6
|
*
|
|
7
|
-
* Three.js
|
|
7
|
+
* Three.js 직접 import 의존성은 없지만, 모든 실 구현(RealObject<T extends THREE.Object3D>)이
|
|
8
|
+
* object3d 를 갖기 때문에 인터페이스에도 노출. 타입은 any — 명시 타입이 필요한
|
|
9
|
+
* 곳은 IThreeRealObject(src/threed/interfaces.ts) 또는 구체 구현 클래스로 좁혀 사용.
|
|
8
10
|
*/
|
|
9
11
|
export interface IRealObject {
|
|
12
|
+
/**
|
|
13
|
+
* THREE.Object3D 인스턴스. THREE 의존성 회피를 위해 any 로 노출.
|
|
14
|
+
* 명시 THREE.Object3D 타입이 필요하면 IThreeRealObject 로 narrow.
|
|
15
|
+
*/
|
|
16
|
+
object3d?: any;
|
|
10
17
|
/** 3D 오브젝트 업데이트 (build + dimension + transform + 외관) */
|
|
11
18
|
update(): void;
|
|
12
19
|
/** 리소스 해제 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/interfaces/real-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C
|
|
1
|
+
{"version":3,"file":"real-object.d.ts","sourceRoot":"","sources":["../../src/interfaces/real-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAA;IAGd,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAA;IACd,aAAa;IACb,OAAO,IAAI,IAAI,CAAA;IAGf,0CAA0C;IAC1C,eAAe,IAAI,IAAI,CAAA;IACvB,oDAAoD;IACpD,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,cAAc,IAAI,IAAI,CAAA;IAGtB,gBAAgB;IAChB,WAAW,IAAI,IAAI,CAAA;IACnB,eAAe;IACf,YAAY,IAAI,IAAI,CAAA;IACpB,iBAAiB;IACjB,eAAe,IAAI,IAAI,CAAA;IACvB,eAAe;IACf,iBAAiB,IAAI,IAAI,CAAA;IACzB,gBAAgB;IAChB,UAAU,IAAI,IAAI,CAAA;IAGlB,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IAGrD,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB"}
|
|
@@ -12,59 +12,131 @@ export interface DrawOptions {
|
|
|
12
12
|
override?: Record<string, any>;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
* 스타일
|
|
15
|
+
* 스타일 옵션 — gradient / pattern 타입 fillStyle 의 공통 베이스.
|
|
16
|
+
*
|
|
17
|
+
* 주의: 'solid' 채우기는 객체가 아니라 단순 색상 문자열이다 (`state.fillStyle = '#ff0000'`).
|
|
18
|
+
* 이 인터페이스는 객체 형태일 때만 (gradient / pattern) 적용된다.
|
|
16
19
|
*/
|
|
17
20
|
export interface StyleOptions {
|
|
18
21
|
type?: string;
|
|
19
|
-
gradientType?:
|
|
22
|
+
gradientType?: 'linear' | 'radial';
|
|
20
23
|
rotation?: number;
|
|
21
24
|
color?: string;
|
|
22
|
-
|
|
23
|
-
stops?: number[];
|
|
25
|
+
/** 인덱스 시그니처 — pattern 의 fitPattern / align / offsetX / offsetY 등 자유 필드 허용. */
|
|
24
26
|
[key: string]: any;
|
|
25
27
|
}
|
|
26
28
|
/**
|
|
27
|
-
* 채우기
|
|
29
|
+
* 채우기 스타일 — `state.fillStyle` 타입.
|
|
30
|
+
*
|
|
31
|
+
* 실제 형식 (drawer/fill.ts 검증):
|
|
32
|
+
* - **solid**: 그냥 색상 문자열 — 객체 아님. e.g., `state.fillStyle = '#ff0000'` 또는 `'rgba(...)'`.
|
|
33
|
+
* - **gradient**: 객체 — `{ type: 'gradient', gradientType, colorStops: [{position, color}], rotation, ... }`
|
|
34
|
+
* - **pattern**: 객체 — `{ type: 'pattern', image, fitPattern?, noRepeat?, align?, offsetX?, offsetY?, width?, height?, color? }`
|
|
35
|
+
* - **none**: `undefined` 또는 `null`.
|
|
36
|
+
*
|
|
37
|
+
* 따라서 `state.fillStyle` 의 실제 타입은 `string | FillStyle | undefined`.
|
|
28
38
|
*/
|
|
39
|
+
export type FillStyleValue = string | FillStyle | undefined;
|
|
29
40
|
export interface FillStyle extends StyleOptions {
|
|
30
|
-
type: '
|
|
31
|
-
|
|
41
|
+
type: 'gradient' | 'pattern';
|
|
42
|
+
/** gradient: 색상-위치 stops. drawer/fill.ts:79 가 사용. */
|
|
43
|
+
colorStops?: Array<{
|
|
44
|
+
position: number;
|
|
45
|
+
color: string;
|
|
46
|
+
}>;
|
|
47
|
+
/** pattern: 이미지 URL 또는 asset 참조. */
|
|
48
|
+
image?: string;
|
|
49
|
+
/** pattern: 영역에 맞춰 비율 조정. */
|
|
50
|
+
fitPattern?: boolean;
|
|
51
|
+
/** pattern: 반복 안 함 (1회만). */
|
|
52
|
+
noRepeat?: boolean;
|
|
53
|
+
/** pattern: 영역 내 정렬. */
|
|
54
|
+
align?: 'center' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom' | 'left' | 'right' | 'top' | 'bottom';
|
|
55
|
+
/** pattern: fitPattern=false 일 때 영역 내 위치. */
|
|
56
|
+
offsetX?: number;
|
|
57
|
+
offsetY?: number;
|
|
58
|
+
/** pattern: 패턴 크기 (기본은 이미지 원본 크기). */
|
|
59
|
+
width?: number;
|
|
60
|
+
height?: number;
|
|
61
|
+
/** 컴포넌트 alpha 와 별개 — gradient/pattern 의 자체 투명도. */
|
|
32
62
|
opacity?: number;
|
|
33
63
|
}
|
|
34
64
|
/**
|
|
35
|
-
* 선
|
|
65
|
+
* 선 / 테두리 스타일 — **state 에 top-level flat 으로 저장되는 필드들**.
|
|
66
|
+
*
|
|
67
|
+
* 실제 형식 (drawer/stroke.ts:6 destructure 검증):
|
|
68
|
+
* `{ strokeStyle, lineDash, lineWidth, lineCap, lineJoin, alpha } = component.state`
|
|
69
|
+
*
|
|
70
|
+
* - `state.strokeStyle`: 색상 문자열 (Canvas API 의 strokeStyle 직접 대입)
|
|
71
|
+
* - `state.lineWidth`: number
|
|
72
|
+
* - `state.lineDash`: STRING preset 이름 — 'solid' / 'round-dot' / 'square-dot' /
|
|
73
|
+
* 'dash' / 'dash-dot' / 'long-dash' / 'long-dash-dot' / 'long-dash-dot-dot'
|
|
74
|
+
* - `state.lineCap`: 'butt' | 'round' | 'square'
|
|
75
|
+
* - `state.lineJoin`: 'miter' | 'round' | 'bevel'
|
|
76
|
+
*
|
|
77
|
+
* 이 인터페이스는 historic 한 객체 구조 — 실제로는 사용 안 됨. 참고용.
|
|
78
|
+
* 새 코드는 state 의 top-level 필드를 직접 사용할 것.
|
|
36
79
|
*/
|
|
37
80
|
export interface StrokeStyle {
|
|
81
|
+
/** @deprecated 실제로는 `state.lineWidth` (top-level). */
|
|
38
82
|
width?: number;
|
|
83
|
+
/** @deprecated 실제로는 `state.strokeStyle` (string color). */
|
|
39
84
|
color?: string;
|
|
85
|
+
/** @deprecated 실제로는 컴포넌트 `state.alpha` 가 stroke 에도 적용. */
|
|
40
86
|
opacity?: number;
|
|
87
|
+
/** @deprecated 실제로는 `state.lineCap`. */
|
|
41
88
|
lineCap?: CanvasLineCap;
|
|
89
|
+
/** @deprecated 실제로는 `state.lineJoin`. */
|
|
42
90
|
lineJoin?: CanvasLineJoin;
|
|
43
|
-
lineDash
|
|
91
|
+
/** @deprecated 실제로는 `state.lineDash` — number[] 가 아닌 STRING preset 이름. */
|
|
92
|
+
lineDash?: string;
|
|
93
|
+
/** @deprecated 미사용. */
|
|
44
94
|
lineDashOffset?: number;
|
|
45
95
|
}
|
|
46
96
|
/**
|
|
47
|
-
* 텍스트
|
|
97
|
+
* 텍스트 / 폰트 스타일 — **state 에 top-level flat 으로 저장**.
|
|
98
|
+
*
|
|
99
|
+
* `state.fontFamily / fontSize / fontStyle / fontWeight / fontColor /
|
|
100
|
+
* textAlign / textBaseline / lineHeight`
|
|
101
|
+
*
|
|
102
|
+
* 이 인터페이스는 필드 이름 reference 용 — 객체로 묶어 저장하지 않는다.
|
|
48
103
|
*/
|
|
49
104
|
export interface TextStyle {
|
|
50
|
-
font?: string;
|
|
51
|
-
fontSize?: number;
|
|
52
|
-
fontColor?: string;
|
|
53
105
|
fontFamily?: string;
|
|
106
|
+
fontSize?: number;
|
|
54
107
|
fontStyle?: string;
|
|
55
108
|
fontWeight?: string;
|
|
109
|
+
fontColor?: string;
|
|
56
110
|
textAlign?: CanvasTextAlign;
|
|
57
111
|
textBaseline?: CanvasTextBaseline;
|
|
58
112
|
lineHeight?: number;
|
|
113
|
+
/** @deprecated 사용처 없음. */
|
|
114
|
+
font?: string;
|
|
59
115
|
}
|
|
60
116
|
/**
|
|
61
|
-
* 그림자
|
|
117
|
+
* 그림자 효과 — `state.shadow` 객체 형식.
|
|
118
|
+
*
|
|
119
|
+
* Canonical 이름 (CSS box-shadow / Canvas API 와 일치):
|
|
120
|
+
* `{ offsetX, offsetY, blur, color } = state.shadow`
|
|
121
|
+
*
|
|
122
|
+
* Backwards compatibility — 옛 이름 (`left`, `top`, `blurSize`) 도 drawer 가
|
|
123
|
+
* fallback 으로 읽음. 영속된 옛 데이터는 마이그레이션 없이 그대로 렌더링.
|
|
124
|
+
* 새 코드는 canonical 이름 사용.
|
|
62
125
|
*/
|
|
63
126
|
export interface Shadow {
|
|
64
127
|
color?: string;
|
|
128
|
+
/** Horizontal offset (CSS box-shadow 의 offset-x, Canvas 의 shadowOffsetX). */
|
|
65
129
|
offsetX?: number;
|
|
130
|
+
/** Vertical offset (CSS box-shadow 의 offset-y, Canvas 의 shadowOffsetY). */
|
|
66
131
|
offsetY?: number;
|
|
132
|
+
/** Blur radius (CSS box-shadow 의 blur-radius, Canvas 의 shadowBlur). */
|
|
67
133
|
blur?: number;
|
|
134
|
+
/** @deprecated `offsetX` 사용. drawer 가 fallback 으로 읽음 — 옛 데이터 호환용. */
|
|
135
|
+
left?: number;
|
|
136
|
+
/** @deprecated `offsetY` 사용. drawer 가 fallback 으로 읽음 — 옛 데이터 호환용. */
|
|
137
|
+
top?: number;
|
|
138
|
+
/** @deprecated `blur` 사용. drawer 가 fallback 으로 읽음 — 옛 데이터 호환용. */
|
|
139
|
+
blurSize?: number;
|
|
68
140
|
}
|
|
69
141
|
/** Fill drawer — 그라디언트, 패턴, 이미지 채우기 */
|
|
70
142
|
export interface IFillDrawer {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rendering.d.ts","sourceRoot":"","sources":["../../src/interfaces/rendering.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,CAAA;AAEzD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC/B;AAED
|
|
1
|
+
{"version":3,"file":"rendering.d.ts","sourceRoot":"","sources":["../../src/interfaces/rendering.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,27 @@ export type Class = {
|
|
|
8
8
|
export type Properties = {
|
|
9
9
|
[key: string]: any;
|
|
10
10
|
};
|
|
11
|
-
export type State = Properties;
|
|
12
11
|
export type Style = Properties;
|
|
12
|
+
/**
|
|
13
|
+
* Component state — 임의 필드를 갖는 동적 객체.
|
|
14
|
+
*
|
|
15
|
+
* 컴포넌트별로 자기 state 형태를 선언하고 싶으면 이 인터페이스를 extends 하여
|
|
16
|
+
* 필드를 추가하고, 컴포넌트 클래스에서 `declare state: MyState` 로 좁히면 된다:
|
|
17
|
+
*
|
|
18
|
+
* interface MyState extends State {
|
|
19
|
+
* mySpecificField: number
|
|
20
|
+
* myStatus: 'idle' | 'busy'
|
|
21
|
+
* }
|
|
22
|
+
* class MyComponent extends RectPath(Shape) {
|
|
23
|
+
* declare state: MyState // 타입 narrowing — 런타임 영향 없음
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* 기존 `state.foo` 접근 코드는 인덱스 시그니처로 호환된다.
|
|
27
|
+
* 추후 단계적으로 공통 필드(left/top/width/height/...)를 명시적으로 추가할 수 있다.
|
|
28
|
+
*/
|
|
29
|
+
export interface State {
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
}
|
|
13
32
|
/**
|
|
14
33
|
* 좌표, 위치, 크기 관련 타입
|
|
15
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interfaces/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CAAE,CAAA;AACjD,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAC/C,MAAM,MAAM,KAAK,GAAG,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interfaces/types.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;AA0sBzF,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 +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;IAClD,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;
|
|
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;IAClD,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;
|
|
@@ -98,6 +157,7 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
98
157
|
capturePath(path: any, excepts: any): any;
|
|
99
158
|
getOverlay(component: any): any;
|
|
100
159
|
getDecoratorOverlay(component: any): any;
|
|
160
|
+
_onkeydown_root(e: KeyboardEvent): void;
|
|
101
161
|
get eventMap(): {
|
|
102
162
|
'(self)': {
|
|
103
163
|
'(all)': {
|
|
@@ -145,6 +205,7 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
145
205
|
'(root)': {
|
|
146
206
|
'(self)': {
|
|
147
207
|
selected: (selected: any[]) => void;
|
|
208
|
+
keydown: (e: KeyboardEvent) => void;
|
|
148
209
|
};
|
|
149
210
|
};
|
|
150
211
|
};
|
|
@@ -161,6 +222,21 @@ export default class ModelLayer extends DualCanvasLayer implements ThreeDimensio
|
|
|
161
222
|
_onmouseenter_all(event: any, hint: any): void;
|
|
162
223
|
_onmouseleave_all(event: any, hint: any): void;
|
|
163
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;
|
|
164
240
|
_onmousedownup(event: any, hint: any): void;
|
|
165
241
|
_doMouseDownUpEventAction(event: any, component: any, enter: any, org_event: any): void;
|
|
166
242
|
_doEventAction(event: any, component: any, enter: any, org_event: any): void;
|