@hatiolab/things-scene 10.0.0-beta.14 → 10.0.0-beta.141
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/CHANGELOG.md +65 -0
- package/README.md +56 -53
- 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 +19 -12
- 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 +123 -17
- package/dist-types/components/component.d.ts.map +1 -1
- package/dist-types/components/container-abstract.d.ts +74 -29
- package/dist-types/components/container-abstract.d.ts.map +1 -1
- package/dist-types/components/container.d.ts +19 -11
- 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 +19 -12
- 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 +19 -11
- package/dist-types/components/html-overlay-container.d.ts.map +1 -1
- package/dist-types/components/html-overlay-element.d.ts +38 -23
- package/dist-types/components/html-overlay-element.d.ts.map +1 -1
- package/dist-types/components/image-view.d.ts +19 -12
- 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 +19 -12
- 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 +19 -12
- package/dist-types/components/local-ref.d.ts.map +1 -1
- package/dist-types/components/mixins/connectable.d.ts +19 -12
- package/dist-types/components/mixins/connectable.d.ts.map +1 -1
- package/dist-types/components/mixins/data-source.d.ts +19 -12
- 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 +28 -11
- package/dist-types/components/mixins/html-element.d.ts.map +1 -1
- package/dist-types/components/mixins/move-handle.d.ts +28 -16
- package/dist-types/components/mixins/move-handle.d.ts.map +1 -1
- package/dist-types/components/mixins/rect-path.d.ts +19 -12
- package/dist-types/components/mixins/rect-path.d.ts.map +1 -1
- package/dist-types/components/mixins/three-d-only.d.ts +256 -0
- package/dist-types/components/mixins/three-d-only.d.ts.map +1 -0
- package/dist-types/components/mixins/value-holder.d.ts +19 -12
- package/dist-types/components/mixins/value-holder.d.ts.map +1 -1
- package/dist-types/components/modeling-faint.d.ts +14 -0
- package/dist-types/components/modeling-faint.d.ts.map +1 -0
- package/dist-types/components/mutater/path.d.ts.map +1 -1
- package/dist-types/components/node.d.ts +19 -12
- 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 +49 -12
- 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 +38 -24
- 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 +19 -12
- 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 +19 -12
- 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 +98 -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/capability-inference.d.ts +19 -0
- package/dist-types/flow/capability-inference.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/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 +79 -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/clipboard.d.ts +1 -1
- package/dist-types/things-scene/api/clipboard.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/listener.d.ts +1 -1
- package/dist-types/things-scene/api/listener.d.ts.map +1 -1
- package/dist-types/things-scene/api/place.d.ts.map +1 -1
- package/dist-types/things-scene/api/to-data-url.d.ts +1 -1
- package/dist-types/things-scene/api/to-data-url.d.ts.map +1 -1
- package/dist-types/things-scene/api/zorder.d.ts +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 +67 -3
- package/dist-types/things-scene/create.d.ts.map +1 -1
- package/dist-types/things-scene/index.d.ts +30 -0
- package/dist-types/things-scene/index.d.ts.map +1 -1
- package/dist-types/things-scene/scene.d.ts +196 -21
- 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/common.d.ts +6 -1
- package/dist-types/threed/common.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 +542 -0
- package/dist-types/threed/factories/backdrop.d.ts.map +1 -0
- package/dist-types/threed/factories/banner.d.ts +25 -13
- package/dist-types/threed/factories/banner.d.ts.map +1 -1
- package/dist-types/threed/factories/camera.d.ts +21 -12
- package/dist-types/threed/factories/camera.d.ts.map +1 -1
- package/dist-types/threed/factories/cube.d.ts +20 -12
- 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 +517 -0
- package/dist-types/threed/factories/decal.d.ts.map +1 -0
- package/dist-types/threed/factories/floor-plate.d.ts +12 -0
- package/dist-types/threed/factories/floor-plate.d.ts.map +1 -0
- package/dist-types/threed/factories/gltf-object.d.ts +279 -47
- 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 +20 -12
- 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 +20 -12
- 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 +28 -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 +48 -37
- package/dist-types/threed/managers/camera-bookmark-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/camera-manager.d.ts +9 -2
- package/dist-types/threed/managers/camera-manager.d.ts.map +1 -1
- package/dist-types/threed/managers/controls-manager.d.ts +12 -0
- 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 -1
- 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/material-bank.d.ts +42 -0
- package/dist-types/threed/material-bank.d.ts.map +1 -0
- package/dist-types/threed/material-variant.d.ts +43 -0
- package/dist-types/threed/material-variant.d.ts.map +1 -0
- 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 +9 -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 -1
- 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 +0 -1
- package/dist-types/threed/real-object-mesh.d.ts.map +1 -1
- package/dist-types/threed/real-object-plane-2d.d.ts +23 -1
- 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 -2
- 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 +276 -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 +93 -12
- package/dist-types/threed/three-capability.d.ts.map +1 -1
- package/dist-types/threed/three-container.d.ts.map +1 -1
- package/dist-types/threed/threed-enabled.d.ts +5 -0
- package/dist-types/threed/threed-enabled.d.ts.map +1 -0
- 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 +25 -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 +65 -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
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,70 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [v10.0.0] — Unreleased
|
|
4
|
+
|
|
5
|
+
Consolidated release notes for the v9 → v10 major upgrade. This section summarizes the
|
|
6
|
+
significant, consumer-facing changes by theme; the per-beta entries below remain as the
|
|
7
|
+
detailed historical record (beta.11 and earlier).
|
|
8
|
+
|
|
9
|
+
### Highlights
|
|
10
|
+
|
|
11
|
+
- **Unified 2D + 3D rendering** — a single component model renders to both HTML5 Canvas
|
|
12
|
+
(2D) and Three.js/WebGL (3D), with live mode switching. `Scene = 3D space`, per-container
|
|
13
|
+
render modes.
|
|
14
|
+
- **Material3D + Material Bank** — preset materials (metal, glass, plastic, wood, ceramic,
|
|
15
|
+
rubber) with seamless 2D ↔ 3D property binding. Shared `MaterialBank` deduplicates 3D
|
|
16
|
+
materials by name+spec signature to avoid churn and variant explosion.
|
|
17
|
+
- **GLTF/GLB loading** — per-node control (color, opacity, visibility), shared loader
|
|
18
|
+
instances, and parse caching.
|
|
19
|
+
- **Zero-to-Twin foundation** — flow primitives (`FlowNode`, `Capacity`, `Transferable`,
|
|
20
|
+
`Transfer`, `FlowGraph`) with a single universal reception contract
|
|
21
|
+
(`canReceive` → `reserve` → `commit` → `release`; `receive` = reserve + commit).
|
|
22
|
+
- **Navigation** — `NavGraph` + A\* `PathPlanner` + `ReservationTable`.
|
|
23
|
+
|
|
24
|
+
### New Features (since beta.11)
|
|
25
|
+
|
|
26
|
+
- **Material Bank + variant registry** — shared 3D materials, per-instance `material3d`
|
|
27
|
+
support via name+spec keys, `depthWrite` spec, dispose exemption on teardown.
|
|
28
|
+
- **Modeling faint/alpha core unification** — editor "faint" (hidden/dim) applied
|
|
29
|
+
consistently across all three render channels (canvas, 3D, DOM overlay) from the core;
|
|
30
|
+
content alpha applied to every 3D component through a single opacity overlay.
|
|
31
|
+
- **Flow — capability generalization** — `StationHost` → `Sorter` capability;
|
|
32
|
+
`findNearestWithCapability(name)` replaces Sorter-specific lookups; `downstreamRef`
|
|
33
|
+
vocabulary unified with a `resolveDownstream` selector and host-driven fan-out registration.
|
|
34
|
+
- **3D capability taxonomy** — module-scope `threedEnabled` switch, instance-level gate
|
|
35
|
+
(`create({ threed })`), `threeDOnly` component marker, and 3D hotkey/help gating. Root
|
|
36
|
+
model `threed` decoupled from the live 2D/3D view mode.
|
|
37
|
+
- **Headless frameClock** — Node-safe frame clock and transfer re-exposure for headless
|
|
38
|
+
simulation.
|
|
39
|
+
- **StackingStrategy core promotion** — `StackingStrategy` / `computeStackPositions`
|
|
40
|
+
promoted to core as a peer of `ArrangementStrategy`; `GridStrategy` aligned to the
|
|
41
|
+
`placementFor` 2D-board convention.
|
|
42
|
+
- **loading-overlay Data Lag** — pluggable renderer seam and LAG/LEAD/SYNC lag visualization.
|
|
43
|
+
- **`postprocessing` option** — `create({ postprocessing: false })` skips the EffectComposer
|
|
44
|
+
pipeline for lightweight/headless rendering.
|
|
45
|
+
|
|
46
|
+
### Foundational / Internal
|
|
47
|
+
|
|
48
|
+
- **Full TypeScript migration** — 132 JS files → 0; `strict: true` enabled
|
|
49
|
+
(`noImplicitAny` remains off, tracked for a follow-up).
|
|
50
|
+
- **`component.ts` module split** — 1332 → 629 lines; public `Component` API unchanged.
|
|
51
|
+
- **`ready()` lifecycle** — structurally enforced to run once per component
|
|
52
|
+
lifetime (`invokeReady`).
|
|
53
|
+
|
|
54
|
+
### Breaking Changes (v9 → v10)
|
|
55
|
+
|
|
56
|
+
| Change | Impact | Migration |
|
|
57
|
+
| --- | --- | --- |
|
|
58
|
+
| Hardened evaluator sandbox (`SHADOWED_GLOBALS`) | eval rule scripts | `window` / `document` / `globalThis` blocked; `scene`, `setTimeout`, `Math`, etc. remain |
|
|
59
|
+
| `innerHTML` → `textContent` | templates with HTML markup | safe HTML via DOMPurify |
|
|
60
|
+
| `strict: true` | custom component authors | must satisfy `strictPropertyInitialization`, etc. |
|
|
61
|
+
| ESM `globalThis.scene` auto-set | eval scripts accessing `scene.*` | no need to set `window.scene` manually |
|
|
62
|
+
| `state` getter replaced with Proxy | `this.state` access | behavior-compatible (get / has / ownKeys / spread) |
|
|
63
|
+
| `bounds` `Object.freeze` | code mutating the returned bounds | read-only; copy with a spread before mutating |
|
|
64
|
+
| `component.ts` module split | internal import paths | public API (`Component` class) unchanged |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
3
68
|
## [v10.0.0-beta.11] (2026-03-08)
|
|
4
69
|
|
|
5
70
|
### New Features
|
package/README.md
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
# Things-Scene
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
- Three.js
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- Material3D
|
|
12
|
-
- 2D↔3D
|
|
13
|
-
- GLTF/GLB
|
|
14
|
-
- ESM
|
|
3
|
+
A high-performance 2D/3D scene graph library for building interactive visual editors. It combines the HTML5 Canvas and Three.js to enable facility visualization, data-driven animations, and real-time monitoring dashboards from a single component model.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- High-performance Canvas-based 2D rendering
|
|
8
|
+
- Three.js-based 3D rendering (WebGL)
|
|
9
|
+
- Component-based architecture
|
|
10
|
+
- Gizmo editing system (Move / Rotate / Scale)
|
|
11
|
+
- Material3D preset system (metal, glass, plastic, wood, ceramic, rubber)
|
|
12
|
+
- Seamless 2D ↔ 3D property binding
|
|
13
|
+
- GLTF/GLB model loading with per-node control
|
|
14
|
+
- ESM and UMD builds
|
|
15
15
|
- TypeScript strict mode
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Installation
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
npm install @hatiolab/things-scene
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Usage
|
|
24
24
|
|
|
25
|
-
### ESM
|
|
25
|
+
### ESM (recommended)
|
|
26
26
|
|
|
27
27
|
```javascript
|
|
28
28
|
import { Scene, Component } from '@hatiolab/things-scene'
|
|
29
29
|
|
|
30
|
-
//
|
|
30
|
+
// create and render a scene
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
### UMD
|
|
33
|
+
### UMD
|
|
34
34
|
|
|
35
35
|
```html
|
|
36
36
|
<script src="node_modules/@hatiolab/things-scene/things-scene-min.js"></script>
|
|
@@ -39,73 +39,76 @@ import { Scene, Component } from '@hatiolab/things-scene'
|
|
|
39
39
|
</script>
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
## 3D
|
|
42
|
+
## 3D Features (v10)
|
|
43
43
|
|
|
44
|
-
### 3D
|
|
44
|
+
### Enabling 3D mode
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
Set `threed: true` on the model-layer to enable 3D mode. A single component model
|
|
47
|
+
renders to both 2D and 3D, with live mode switching.
|
|
47
48
|
|
|
48
49
|
### Material3D API
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
Control 3D materials through a component's `material3d` property:
|
|
51
52
|
|
|
52
53
|
```javascript
|
|
53
54
|
component.set('material3d', {
|
|
54
|
-
preset: 'glass',
|
|
55
|
-
metalness: 0.5,
|
|
56
|
-
roughness: 0.3,
|
|
57
|
-
opacity: 0.3,
|
|
58
|
-
envMapIntensity: 1.5, // 0
|
|
59
|
-
side: 'double',
|
|
55
|
+
preset: 'glass', // default, metal, glass, plastic, wood, ceramic, rubber
|
|
56
|
+
metalness: 0.5, // 0–1
|
|
57
|
+
roughness: 0.3, // 0–1
|
|
58
|
+
opacity: 0.3, // 0–1 (preset default or explicit)
|
|
59
|
+
envMapIntensity: 1.5, // 0–3
|
|
60
|
+
side: 'double', // double, front, back
|
|
60
61
|
castShadow: true,
|
|
61
62
|
receiveShadow: false,
|
|
62
63
|
})
|
|
63
64
|
```
|
|
64
65
|
|
|
65
|
-
### 3D
|
|
66
|
+
### 3D component types
|
|
66
67
|
|
|
67
|
-
Sphere, Cube, Cylinder, Banner, Camera, Wall, GLTFObject, Light, Sprite
|
|
68
|
+
Sphere, Cube, Cylinder, Banner, Camera, Wall, GLTFObject, Light, Sprite.
|
|
68
69
|
|
|
69
|
-
### GLTF
|
|
70
|
+
### GLTF models
|
|
70
71
|
|
|
71
72
|
```javascript
|
|
72
73
|
component.set('src', '/models/building.glb')
|
|
73
74
|
component.set('nodes', {
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
Wall: { color: '#ff0000', opacity: 0.5 },
|
|
76
|
+
Door: { visible: false },
|
|
76
77
|
})
|
|
77
78
|
```
|
|
78
79
|
|
|
79
|
-
##
|
|
80
|
+
## Builds
|
|
80
81
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
83
|
-
| ESM
|
|
84
|
-
| UMD
|
|
82
|
+
| Format | File | Target |
|
|
83
|
+
| ------ | --------------------- | -------------------------- |
|
|
84
|
+
| ESM | `things-scene.mjs` | Modern browsers |
|
|
85
|
+
| UMD | `things-scene-min.js` | Any environment |
|
|
86
|
+
| Node | `things-scene-transfer.mjs` | Headless / SSR simulation |
|
|
85
87
|
|
|
86
88
|
```bash
|
|
87
|
-
npm run build
|
|
88
|
-
npm test
|
|
89
|
-
npm run type-check
|
|
89
|
+
npm run build # types + rollup (production)
|
|
90
|
+
npm test # 2460+ tests (mocha)
|
|
91
|
+
npm run type-check # tsc --noEmit
|
|
90
92
|
```
|
|
91
93
|
|
|
92
|
-
##
|
|
94
|
+
## Development
|
|
93
95
|
|
|
94
|
-
|
|
96
|
+
See [DEVELOPMENT.md](./DEVELOPMENT.md) for the development setup.
|
|
95
97
|
|
|
96
|
-
## v9 → v10
|
|
98
|
+
## Migrating v9 → v10
|
|
97
99
|
|
|
98
|
-
### Breaking
|
|
100
|
+
### Breaking changes
|
|
99
101
|
|
|
100
|
-
- `strict: true` —
|
|
101
|
-
-
|
|
102
|
-
|
|
103
|
-
- `
|
|
104
|
-
- `
|
|
102
|
+
- `strict: true` — custom components must satisfy `strictPropertyInitialization`, etc.
|
|
103
|
+
- Hardened evaluator sandbox — `window` / `document` / `globalThis` access is blocked
|
|
104
|
+
(`scene`, `setTimeout`, `Math`, and similar remain available).
|
|
105
|
+
- `innerHTML` → `textContent`, with safe HTML rendering via DOMPurify.
|
|
106
|
+
- The `state` getter is now a Proxy (behavior-compatible: get / has / ownKeys / spread all supported).
|
|
107
|
+
- `bounds` return values are `Object.freeze`d — copy with a spread before mutating.
|
|
105
108
|
|
|
106
|
-
|
|
109
|
+
See [CHANGELOG.md](./CHANGELOG.md) for the full list.
|
|
107
110
|
|
|
108
|
-
##
|
|
111
|
+
## License
|
|
109
112
|
|
|
110
|
-
|
|
111
|
-
|
|
113
|
+
This project is distributed under a proprietary license.
|
|
114
|
+
License terms: [http://things-scene.hatiolab.com/EULA/](http://things-scene.hatiolab.com/EULA/)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["../../src/animation/animate.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["../../src/animation/animate.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAQtE;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,CA8F5E"}
|
|
@@ -38,11 +38,13 @@ export default class Animation {
|
|
|
38
38
|
*/
|
|
39
39
|
private _started;
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* frameClock 'real' subscription unsubscribe 함수.
|
|
42
|
+
* (이전: requestAnimationFrame ID 직접 사용 — Phase E2 통합으로 frameClock 으로 위임.)
|
|
42
43
|
*/
|
|
43
|
-
private
|
|
44
|
+
private _unsub;
|
|
44
45
|
/**
|
|
45
|
-
* 타임아웃 ID
|
|
46
|
+
* 타임아웃 ID — interval > 0 인 반복 애니메이션의 재생 간격용.
|
|
47
|
+
* (frameClock 'real' subscribe 가 다시 시작될 때까지 대기)
|
|
46
48
|
*/
|
|
47
49
|
private _timeout;
|
|
48
50
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../src/animation/animations/animation.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../src/animation/animations/animation.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAGlF;;GAEG;AACH,KAAK,UAAU,GAAG,MAAM,IAAI,CAAA;AAE5B;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IAEtD,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5D,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;CAClD;AAqBD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,eAAe,CAAA;IAEjC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,eAAe,CAAA;IAEjC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAA2B;IAEzC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAA6C;IAE7D;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,CAAA;IAE9B;;;;OAIG;gBACS,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe;IAuB5D;;OAEG;IACH,OAAO,IAAI,IAAI;IAMf;;OAEG;IACH,IAAI,IAAI,IAAI;IAEZ;;OAEG;IACH,KAAK,IAAI,IAAI;IAwFb;;;OAGG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,IAAI;IAgBjC;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAO3B;CACF"}
|
|
@@ -10,14 +10,7 @@ interface HeartBeatConfig extends AnimationConfig {
|
|
|
10
10
|
* 하트비트 애니메이션 클래스
|
|
11
11
|
*/
|
|
12
12
|
export default class HeartBeat extends Animation {
|
|
13
|
-
/**
|
|
14
|
-
* 애니메이션 설정
|
|
15
|
-
*/
|
|
16
13
|
protected config: HeartBeatConfig;
|
|
17
|
-
/**
|
|
18
|
-
* 애니메이션 단계 실행
|
|
19
|
-
* @param delta 델타 값 (0-1)
|
|
20
|
-
*/
|
|
21
14
|
step(delta: number): void;
|
|
22
15
|
}
|
|
23
16
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../../src/animation/animations/heartbeat.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD;;GAEG;AACH,UAAU,eAAgB,SAAQ,eAAe;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,SAAS;IAC9C
|
|
1
|
+
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../../src/animation/animations/heartbeat.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD;;GAEG;AACH,UAAU,eAAgB,SAAQ,eAAe;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,SAAS;IAC9C,UAAkB,MAAM,EAAE,eAAe,CAAA;IAEzC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAW1B"}
|
|
@@ -24,11 +24,23 @@ interface WaypointClient extends AnimationClient {
|
|
|
24
24
|
delta(property?: string | object, value?: any): any;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
* 웨이포인트 애니메이션 설정
|
|
27
|
+
* 웨이포인트 애니메이션 설정 인터페이스.
|
|
28
|
+
*
|
|
29
|
+
* - `yawOffset`: heading 계산 시 atan2(dy, dx)에 더해지는 라디안 오프셋.
|
|
30
|
+
* things-scene 의 default 컨벤션은 vehicle forward = component-local -Z
|
|
31
|
+
* (canvas 위쪽이 전방). 이 컨벤션 모델은 명시 안 해도 동작 (default π/2).
|
|
32
|
+
* GLB Khronos 표준(+Z forward) 모델은 `yawOffset: 0`, 다른 컨벤션은 그에
|
|
33
|
+
* 맞는 값을 명시. 이 값은 model forward 와 framework default 의 각도 차.
|
|
34
|
+
*
|
|
35
|
+
* - `finalize`: cancel/완료 시점에 위치를 어떻게 정리할지.
|
|
36
|
+
* - 'snap' (default): toComponent center 로 강제 텔레포트 (기존 동작).
|
|
37
|
+
* - 'hold': 현재 위치 유지 (cancel-and-redirect 시나리오용).
|
|
28
38
|
*/
|
|
29
39
|
interface WaypointConfig extends AnimationConfig {
|
|
30
40
|
fromComponent: WaypointComponent;
|
|
31
41
|
toComponent: WaypointComponent;
|
|
42
|
+
yawOffset?: number;
|
|
43
|
+
finalize?: 'snap' | 'hold';
|
|
32
44
|
}
|
|
33
45
|
/**
|
|
34
46
|
* 웨이포인트 애니메이션 클래스
|
|
@@ -42,16 +54,45 @@ export default class Waypoint extends Animation {
|
|
|
42
54
|
* 클라이언트 타입 확장
|
|
43
55
|
*/
|
|
44
56
|
protected client: WaypointClient;
|
|
57
|
+
/**
|
|
58
|
+
* Cached scene-frame endpoints, captured at start().
|
|
59
|
+
*
|
|
60
|
+
* Why cache: step() must run an absolute linear lerp from the original
|
|
61
|
+
* start to the original end, parameterised on `delta` (Animation 's
|
|
62
|
+
* progress 0→1). Re-reading `fromComponent.center` every step would
|
|
63
|
+
* conflate "lerp progress" with "where the component currently is",
|
|
64
|
+
* because the previous frame's lerp already moved the component.
|
|
65
|
+
* The result is an iterative critically-damped decay (component
|
|
66
|
+
* approaches target asymptotically) instead of linear motion — visible
|
|
67
|
+
* as "30s duration completing in ~2s" regardless of the configured
|
|
68
|
+
* duration. Caching the endpoints once preserves linear semantics:
|
|
69
|
+
* at progress=t the component is exactly t of the way from the
|
|
70
|
+
* original `from` to the original `to`, end of story.
|
|
71
|
+
*/
|
|
72
|
+
private _startX;
|
|
73
|
+
private _startY;
|
|
74
|
+
private _endX;
|
|
75
|
+
private _endY;
|
|
45
76
|
/**
|
|
46
77
|
* 애니메이션 시작
|
|
47
78
|
*/
|
|
48
79
|
start(): void;
|
|
49
80
|
/**
|
|
50
|
-
* 애니메이션
|
|
81
|
+
* 애니메이션 정지.
|
|
82
|
+
*
|
|
83
|
+
* - `finalize: 'snap'` (default): toComponent center 로 텔레포트. 정상 완료
|
|
84
|
+
* 시점에 끝점 정확히 맞춤 (RAF progress 의 부동소수 잔차 제거).
|
|
85
|
+
* - `finalize: 'hold'`: 현재 위치 유지. 새 motion 이 가로채는 cancel-and-
|
|
86
|
+
* redirect 시나리오에서 시각적 점프 방지.
|
|
87
|
+
*
|
|
88
|
+
* `callback` 인자를 받아 `super.stop(callback)` 으로 forward — config 의
|
|
89
|
+
* `onComplete` 가 정상 호출되도록. (기존엔 인자 누락으로 callback drop.)
|
|
51
90
|
*/
|
|
52
|
-
stop(): void;
|
|
91
|
+
stop(callback?: () => void): void;
|
|
53
92
|
/**
|
|
54
|
-
* 애니메이션 단계 실행
|
|
93
|
+
* 애니메이션 단계 실행 — uses endpoints cached in start(), so progress
|
|
94
|
+
* is honest linear lerp from the original start to the original end.
|
|
95
|
+
*
|
|
55
96
|
* @param delta 델타 값 (0-1)
|
|
56
97
|
*/
|
|
57
98
|
step(delta: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waypoint.d.ts","sourceRoot":"","sources":["../../../src/animation/animations/waypoint.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;GAEG;AACH,UAAU,iBAAiB;IACzB,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAChC,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACxD;AAED;;GAEG;AACH,UAAU,cAAe,SAAQ,eAAe;IAC9C,QAAQ,EAAE,GAAG,CAAA;IACb,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAA;IAC5C,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CACpD;AAED
|
|
1
|
+
{"version":3,"file":"waypoint.d.ts","sourceRoot":"","sources":["../../../src/animation/animations/waypoint.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;GAEG;AACH,UAAU,iBAAiB;IACzB,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAChC,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACxD;AAED;;GAEG;AACH,UAAU,cAAe,SAAQ,eAAe;IAC9C,QAAQ,EAAE,GAAG,CAAA;IACb,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAA;IAC5C,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CACpD;AAED;;;;;;;;;;;;GAYG;AACH,UAAU,cAAe,SAAQ,eAAe;IAC9C,aAAa,EAAE,iBAAiB,CAAA;IAChC,WAAW,EAAE,iBAAiB,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS;IAC7C;;OAEG;IACH,UAAkB,MAAM,EAAE,cAAc,CAAA;IAExC;;OAEG;IACH,UAAkB,MAAM,EAAE,cAAc,CAAA;IAExC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,KAAK,CAAI;IAEjB;;OAEG;IACH,KAAK,IAAI,IAAI;IA8Bb;;;;;;;;;;OAUG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAcjC;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAK1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/animation/interfaces.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;AAEvE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;IAElD;;OAEG;IACH,UAAU,CAAC,IAAI,IAAI,CAAA;IAEnB;;OAEG;IACH,KAAK,CAAC,IAAI,IAAI,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/animation/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
export type TickHandler = (dt: number, simTime: number) => void;
|
|
2
|
+
export type Unsubscribe = () => void;
|
|
3
|
+
export interface SubscribeOptions {
|
|
4
|
+
/** 이 subscription 의 유래 (모니터링/디버깅용). 예: 'TransitionEffect' / 'Conveyor3D[c-123]' */
|
|
5
|
+
description?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Subscription 의 lifecycle owner — WeakRef 로 추적되는 컴포넌트.
|
|
8
|
+
* 모니터링 패널에서 "누가 등록했는가" (subscriber/owner) 로 표시.
|
|
9
|
+
*/
|
|
10
|
+
component?: any;
|
|
11
|
+
/**
|
|
12
|
+
* 이 subscription 이 매 프레임 다루는 "애니메이션 대상 객체" 들.
|
|
13
|
+
* subscriber 와 다를 수 있음 (예: TransitionEffect 는 root 가 owner 지만,
|
|
14
|
+
* 실제 reparent 대상들은 따로 있음). 동적 — 매 snapshot 마다 호출됨.
|
|
15
|
+
* 단일 객체 / 배열 / null 어느 쪽이든 OK.
|
|
16
|
+
*/
|
|
17
|
+
getTargets?: () => any | any[] | null | undefined;
|
|
18
|
+
/** 추가 메타데이터 (모니터링 패널에 표시). */
|
|
19
|
+
metadata?: Record<string, any>;
|
|
20
|
+
}
|
|
21
|
+
/** 컴포넌트 식별 요약 정보 (subscriber 또는 target 표시용). */
|
|
22
|
+
export interface ComponentInfoSummary {
|
|
23
|
+
type?: string;
|
|
24
|
+
id?: string;
|
|
25
|
+
refid?: string | number;
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface SubscriptionInfo {
|
|
29
|
+
id: number;
|
|
30
|
+
description: string;
|
|
31
|
+
/** Subscription 을 등록한 lifecycle owner (subscriber). */
|
|
32
|
+
componentInfo?: ComponentInfoSummary;
|
|
33
|
+
/** 이 subscription 이 매 프레임 다루는 애니메이션 대상들. owner 와 다를 수 있음. */
|
|
34
|
+
targetInfos?: ComponentInfoSummary[];
|
|
35
|
+
metadata?: Record<string, any>;
|
|
36
|
+
registeredAt: number;
|
|
37
|
+
tickCount: number;
|
|
38
|
+
totalDurationMs: number;
|
|
39
|
+
avgDurationMs: number;
|
|
40
|
+
lastDt: number;
|
|
41
|
+
lastDurationMs: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* frameClock 외부에서 자체 RAF/timer 로 동작하는 애니메이션 등록 정보.
|
|
45
|
+
*
|
|
46
|
+
* setInterval polling, 외부 라이브러리 RAF (OrbitControls 등), 자체 타이머 사용
|
|
47
|
+
* 시스템들이 모니터링 패널에 표시되도록 자기 자신을 register/unregister 한다.
|
|
48
|
+
*
|
|
49
|
+
* AGV/Forklift 가 pick 후에 멈추지 않는 등의 stuck animation 추적에 핵심.
|
|
50
|
+
*/
|
|
51
|
+
export interface ExternalAnimationInfo {
|
|
52
|
+
id: number;
|
|
53
|
+
description: string;
|
|
54
|
+
source: string;
|
|
55
|
+
metadata?: Record<string, any>;
|
|
56
|
+
registeredAt: number;
|
|
57
|
+
liveDurationMs: number;
|
|
58
|
+
}
|
|
59
|
+
export interface ExternalAnimationHandle {
|
|
60
|
+
/** 메타데이터 갱신 (예: 진행률 업데이트). */
|
|
61
|
+
update(metadata: Record<string, any>): void;
|
|
62
|
+
/** 등록 해제. 애니메이션 종료 시 반드시 호출. */
|
|
63
|
+
unregister(): void;
|
|
64
|
+
}
|
|
65
|
+
export interface FrameClockSnapshot {
|
|
66
|
+
realTime: number;
|
|
67
|
+
simTime: number;
|
|
68
|
+
isRunning: boolean;
|
|
69
|
+
speed: number;
|
|
70
|
+
paused: boolean;
|
|
71
|
+
totalTicks: number;
|
|
72
|
+
/** 최근 ~1초 평균 tick/sec (TPS). 60Hz display = ~60. 부하 시 떨어짐. */
|
|
73
|
+
ticksPerSecond: number;
|
|
74
|
+
totalSubs: number;
|
|
75
|
+
subscriptions: SubscriptionInfo[];
|
|
76
|
+
/** frameClock 외부에서 동작 중인 애니메이션들 (자체 RAF/timer 사용). */
|
|
77
|
+
externalAnimations: ExternalAnimationInfo[];
|
|
78
|
+
}
|
|
79
|
+
export interface FrameClock {
|
|
80
|
+
/** 단조증가 wall-clock (FrameClock 시작 후 ms). 모니터링/측정용. */
|
|
81
|
+
readonly realTime: number;
|
|
82
|
+
/**
|
|
83
|
+
* Simulation time — globalSimClock.now 와 동일.
|
|
84
|
+
* paused 일 때 정지, speed 적용.
|
|
85
|
+
*/
|
|
86
|
+
readonly simTime: number;
|
|
87
|
+
/** 현재 RAF 루프 활성 여부. */
|
|
88
|
+
readonly isRunning: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* 매 frame 호출되는 handler 등록.
|
|
91
|
+
* handler 는 (simDt, simTime) 받음 — paused 시 simDt=0.
|
|
92
|
+
*
|
|
93
|
+
* 첫 subscribe 시 RAF 루프 자동 시작. 마지막 unsubscribe 시 자동 정지.
|
|
94
|
+
*
|
|
95
|
+
* options.description 을 전달하면 모니터링 패널에 표시되어 디버깅에 도움.
|
|
96
|
+
*/
|
|
97
|
+
subscribe(handler: TickHandler, options?: SubscribeOptions): Unsubscribe;
|
|
98
|
+
/**
|
|
99
|
+
* 단일 tick 수동 실행 (테스트/replay 용). 프로덕션에서 호출 금지.
|
|
100
|
+
* @param realDeltaMs 가짜 wall-clock delta (ms)
|
|
101
|
+
*/
|
|
102
|
+
tick(realDeltaMs: number): void;
|
|
103
|
+
/** RAF 루프 명시 시작 (일반적으로 subscribe 시 자동 시작). */
|
|
104
|
+
start(): void;
|
|
105
|
+
/** RAF 루프 명시 중단. 테스트/dispose 용. */
|
|
106
|
+
stop(): void;
|
|
107
|
+
/**
|
|
108
|
+
* frameClock 외부에서 자체 RAF/timer 로 동작하는 애니메이션 등록.
|
|
109
|
+
* 모니터링 패널에 표시되어 "지금 무슨 애니메이션이 돌고 있는가" 확인 가능.
|
|
110
|
+
*/
|
|
111
|
+
registerExternalAnimation(description: string, source: string, metadata?: Record<string, any>): ExternalAnimationHandle;
|
|
112
|
+
/**
|
|
113
|
+
* 현재 상태 + 모든 활성 subscription + 외부 애니메이션 스냅샷.
|
|
114
|
+
* Chrome Extension monitor / DevTools 에서 디버깅용.
|
|
115
|
+
*/
|
|
116
|
+
snapshot(): FrameClockSnapshot;
|
|
117
|
+
}
|
|
118
|
+
export declare const frameClock: FrameClock;
|
|
119
|
+
//# sourceMappingURL=frame-clock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame-clock.d.ts","sourceRoot":"","sources":["../../src/clock/frame-clock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clock/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-migrate.d.ts","sourceRoot":"","sources":["../../src/command/command-migrate.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"command-migrate.d.ts","sourceRoot":"","sources":["../../src/command/command-migrate.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,cAAc,CAAA;AA8FlC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IACjD,OAAO;CAwCR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-commander.d.ts","sourceRoot":"","sources":["../../src/command/snapshot-commander.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snapshot-commander.d.ts","sourceRoot":"","sources":["../../src/command/snapshot-commander.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,SAAS,EAAE,GAAG,CAAA;IACd,WAAW,EAAE,GAAG,CAAA;IAChB,cAAc,EAAE,GAAG,CAAA;IACnB,OAAO,EAAE,GAAG,CAAA;gBAEA,SAAS,EAAE,GAAG;IAkB1B,OAAO;IAUP,QAAQ;IAIR,qBAAqB;IAIrB,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAS/B,IAAI;IAQJ,IAAI;IAQJ,QAAQ;IAIR,QAAQ;IAIR,KAAK;CAIN"}
|
|
@@ -39,12 +39,14 @@ declare const AudioPlayer_base: {
|
|
|
39
39
|
fontSize: any;
|
|
40
40
|
__cache__: any;
|
|
41
41
|
created(): void;
|
|
42
|
-
added(parent:
|
|
43
|
-
removed(parent:
|
|
42
|
+
added(parent: import("../types/component.js").Container): void;
|
|
43
|
+
removed(parent: import("../types/component.js").Container): void;
|
|
44
44
|
ready(): Promise<void>;
|
|
45
|
+
_readyInvoked: boolean;
|
|
46
|
+
invokeReady(): void | Promise<void>;
|
|
45
47
|
touch(): void;
|
|
46
|
-
clearCache(...attrs:
|
|
47
|
-
removeSelf(completely
|
|
48
|
+
clearCache(...attrs: string[]): void;
|
|
49
|
+
removeSelf(completely?: boolean): void;
|
|
48
50
|
resetAnimation(): void;
|
|
49
51
|
dispose(): void;
|
|
50
52
|
get nature(): import("../index.js").ComponentNature;
|
|
@@ -63,16 +65,17 @@ declare const AudioPlayer_base: {
|
|
|
63
65
|
isConnectable(): boolean;
|
|
64
66
|
isIdentifiable(): boolean;
|
|
65
67
|
isPositionable(): boolean;
|
|
66
|
-
replaceRefids(replaceMap:
|
|
67
|
-
get(property:
|
|
68
|
+
replaceRefids(replaceMap: Record<string, string>): void;
|
|
69
|
+
get(property: string): any;
|
|
68
70
|
set(props: any, propval?: any): any;
|
|
69
|
-
getState(property:
|
|
70
|
-
setState(props:
|
|
71
|
+
getState(property: string): any;
|
|
72
|
+
setState(props: Partial<import("../index.js").State> | string, propval?: any): any;
|
|
71
73
|
get model(): any;
|
|
72
|
-
get state():
|
|
74
|
+
get state(): import("../index.js").State;
|
|
75
|
+
get refid(): any;
|
|
73
76
|
get hierarchy(): any;
|
|
74
|
-
get volatile():
|
|
75
|
-
_applyProps(target:
|
|
77
|
+
get volatile(): string[];
|
|
78
|
+
_applyProps(target: Record<string, any>, props: Record<string, any>, options: import("./component.js").ApplyPropsOptions): /*elided*/ any;
|
|
76
79
|
move(offset: {
|
|
77
80
|
x: number;
|
|
78
81
|
y: number;
|
|
@@ -160,7 +163,7 @@ declare const AudioPlayer_base: {
|
|
|
160
163
|
findAll(s: string | ((c: Component) => boolean), ...others: any[]): any[] | undefined;
|
|
161
164
|
capture(x: number, y: number, except?: (c: Component) => boolean): any;
|
|
162
165
|
findAnchor(name: string): any;
|
|
163
|
-
isDescendible(container: Component): boolean;
|
|
166
|
+
isDescendible(container: Component | any): boolean;
|
|
164
167
|
getContext(component?: unknown): any;
|
|
165
168
|
get root(): Component;
|
|
166
169
|
get rootModel(): Component;
|
|
@@ -204,9 +207,13 @@ declare const AudioPlayer_base: {
|
|
|
204
207
|
toLocal(x: number, y: number, top?: Component): import("../index.js").POINT;
|
|
205
208
|
toGlobal(x: number, y: number, top?: Component): import("../index.js").POINT;
|
|
206
209
|
toOther(x: number, y: number, target: Component): import("../index.js").POINT;
|
|
210
|
+
on<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
|
|
207
211
|
on(name: string | object, callback: Function, context?: any): /*elided*/ any;
|
|
212
|
+
off<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback?: ((...args: import("../index.js").ComponentEventMap[K]) => void) | undefined, context?: any): /*elided*/ any;
|
|
208
213
|
off(name?: string | object, callback?: Function, context?: any): /*elided*/ any;
|
|
214
|
+
once<K extends keyof import("../index.js").ComponentEventMap>(name: K, callback: (...args: import("../index.js").ComponentEventMap[K]) => void, context?: any): /*elided*/ any;
|
|
209
215
|
once(name: string | object, callback: Function, context?: any): /*elided*/ any;
|
|
216
|
+
trigger<K extends keyof import("../index.js").ComponentEventMap>(name: K, ...args: import("../index.js").ComponentEventMap[K]): /*elided*/ any;
|
|
210
217
|
trigger(name: string, ...args: any[]): /*elided*/ any;
|
|
211
218
|
delegate_on(delegator: any): /*elided*/ any;
|
|
212
219
|
delegate_off(delegator: any): /*elided*/ any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/components/audio.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,MAAM,YAAY,CAAA
|
|
1
|
+
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/components/audio.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,MAAM,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoC9B,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,gBAAe;IACtD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAA;IACjB,MAAM,EAAE,GAAG,CAAA;IAEX,MAAM,KAAK,KAAK,QAOf;IAED,OAAO;IAOD,KAAK;IA2BX,MAAM,CAAC,GAAG,EAAE,wBAAwB;IAQpC,IAAI,MAAM;;;;;;;;;;;;;;;;;;;MAET;IAED,IAAI,eAAe,YAElB;IAED,IAAI,GAAG,QAEN;IAED,IAAI,GAAG,CAAC,GAAG,KAAA,EAEV;IAED,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,CAAC,OAAO,SAAA,EAElB;IAED,KAAK;IAOL,KAAK;IAOL,WAAW,CAAC,GAAG,EAAE,GAAG;IAapB,eAAe,CAAC,OAAO,EAAE,GAAG;IAkB5B,YAAY,CAAC,IAAI,EAAE,GAAG;IAItB,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IAMhC,UAAU,CAAC,CAAC,EAAE,GAAG;IAIjB,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;CAQjD"}
|