@hatiolab/things-scene 9.0.2 → 10.0.0-beta.2
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/README.md +59 -29
- package/dist-types/animation/animate.d.ts +8 -0
- package/dist-types/animation/animate.d.ts.map +1 -0
- package/dist-types/animation/animations/animation.d.ts +90 -0
- package/dist-types/animation/animations/animation.d.ts.map +1 -0
- package/dist-types/animation/animations/fade.d.ts +25 -0
- package/dist-types/animation/animations/fade.d.ts.map +1 -0
- package/dist-types/animation/animations/heartbeat.d.ts +24 -0
- package/dist-types/animation/animations/heartbeat.d.ts.map +1 -0
- package/dist-types/animation/animations/moving.d.ts +25 -0
- package/dist-types/animation/animations/moving.d.ts.map +1 -0
- package/dist-types/animation/animations/outline.d.ts +58 -0
- package/dist-types/animation/animations/outline.d.ts.map +1 -0
- package/dist-types/animation/animations/rotation.d.ts +24 -0
- package/dist-types/animation/animations/rotation.d.ts.map +1 -0
- package/dist-types/animation/animations/vibration.d.ts +24 -0
- package/dist-types/animation/animations/vibration.d.ts.map +1 -0
- package/dist-types/animation/animations/waypoint.d.ts +60 -0
- package/dist-types/animation/animations/waypoint.d.ts.map +1 -0
- package/dist-types/animation/compile.d.ts +16 -0
- package/dist-types/animation/compile.d.ts.map +1 -0
- package/dist-types/animation/delta.d.ts +57 -0
- package/dist-types/animation/delta.d.ts.map +1 -0
- package/dist-types/animation/index.d.ts +7 -0
- package/dist-types/animation/index.d.ts.map +1 -0
- package/dist-types/animation/interfaces.d.ts +123 -0
- package/dist-types/animation/interfaces.d.ts.map +1 -0
- package/dist-types/command/command-change.d.ts +10 -0
- package/dist-types/command/command-change.d.ts.map +1 -0
- package/dist-types/command/command-migrate.d.ts +5 -0
- package/dist-types/command/command-migrate.d.ts.map +1 -0
- package/dist-types/command/command.d.ts +6 -0
- package/dist-types/command/command.d.ts.map +1 -0
- package/dist-types/command/snapshot-commander.d.ts +17 -0
- package/dist-types/command/snapshot-commander.d.ts.map +1 -0
- package/dist-types/components/anchor/anchor.d.ts +65 -0
- package/dist-types/components/anchor/anchor.d.ts.map +1 -0
- package/dist-types/components/anchor/ellipse-anchors.d.ts +16 -0
- package/dist-types/components/anchor/ellipse-anchors.d.ts.map +1 -0
- package/dist-types/components/anchor/rect-anchors.d.ts +16 -0
- package/dist-types/components/anchor/rect-anchors.d.ts.map +1 -0
- package/dist-types/components/audio.d.ts +284 -0
- package/dist-types/components/audio.d.ts.map +1 -0
- package/dist-types/components/cloud.d.ts +17 -0
- package/dist-types/components/cloud.d.ts.map +1 -0
- package/dist-types/components/component-data.d.ts +19 -0
- package/dist-types/components/component-data.d.ts.map +1 -0
- package/dist-types/components/component-drawing.d.ts +27 -0
- package/dist-types/components/component-drawing.d.ts.map +1 -0
- package/dist-types/components/component-geometry.d.ts +54 -0
- package/dist-types/components/component-geometry.d.ts.map +1 -0
- package/dist-types/components/component-hierarchy.d.ts +22 -0
- package/dist-types/components/component-hierarchy.d.ts.map +1 -0
- package/dist-types/components/component-text.d.ts +18 -0
- package/dist-types/components/component-text.d.ts.map +1 -0
- package/dist-types/components/component.d.ts +286 -0
- package/dist-types/components/component.d.ts.map +1 -0
- package/dist-types/components/container-abstract.d.ts +515 -0
- package/dist-types/components/container-abstract.d.ts.map +1 -0
- package/dist-types/components/container.d.ts +286 -0
- package/dist-types/components/container.d.ts.map +1 -0
- package/dist-types/components/data/data-mapping.d.ts +19 -0
- package/dist-types/components/data/data-mapping.d.ts.map +1 -0
- package/dist-types/components/data/data.d.ts +6 -0
- package/dist-types/components/data/data.d.ts.map +1 -0
- package/dist-types/components/data/evaluator.d.ts +2 -0
- package/dist-types/components/data/evaluator.d.ts.map +1 -0
- package/dist-types/components/donut.d.ts +15 -0
- package/dist-types/components/donut.d.ts.map +1 -0
- package/dist-types/components/drawer/draw-image-pendable.d.ts +2 -0
- package/dist-types/components/drawer/draw-image-pendable.d.ts.map +1 -0
- package/dist-types/components/drawer/effect.d.ts +2 -0
- package/dist-types/components/drawer/effect.d.ts.map +1 -0
- package/dist-types/components/drawer/fill.d.ts +5 -0
- package/dist-types/components/drawer/fill.d.ts.map +1 -0
- package/dist-types/components/drawer/format.d.ts +2 -0
- package/dist-types/components/drawer/format.d.ts.map +1 -0
- package/dist-types/components/drawer/line.d.ts +4 -0
- package/dist-types/components/drawer/line.d.ts.map +1 -0
- package/dist-types/components/drawer/stroke.d.ts +2 -0
- package/dist-types/components/drawer/stroke.d.ts.map +1 -0
- package/dist-types/components/drawer/text-wrapper.d.ts +2 -0
- package/dist-types/components/drawer/text-wrapper.d.ts.map +1 -0
- package/dist-types/components/drawer/text.d.ts +4 -0
- package/dist-types/components/drawer/text.d.ts.map +1 -0
- package/dist-types/components/ellipse.d.ts +260 -0
- package/dist-types/components/ellipse.d.ts.map +1 -0
- package/dist-types/components/file/ondropfile.d.ts +2 -0
- package/dist-types/components/file/ondropfile.d.ts.map +1 -0
- package/dist-types/components/geometry/transcoord.d.ts +43 -0
- package/dist-types/components/geometry/transcoord.d.ts.map +1 -0
- package/dist-types/components/geometry/union.d.ts +3 -0
- package/dist-types/components/geometry/union.d.ts.map +1 -0
- package/dist-types/components/gif-view.d.ts +29 -0
- package/dist-types/components/gif-view.d.ts.map +1 -0
- package/dist-types/components/global-ref.d.ts +49 -0
- package/dist-types/components/global-ref.d.ts.map +1 -0
- package/dist-types/components/group.d.ts +27 -0
- package/dist-types/components/group.d.ts.map +1 -0
- package/dist-types/components/html/elements.d.ts +2 -0
- package/dist-types/components/html/elements.d.ts.map +1 -0
- package/dist-types/components/html/fill.d.ts +2 -0
- package/dist-types/components/html/fill.d.ts.map +1 -0
- package/dist-types/components/html/reposition.d.ts +2 -0
- package/dist-types/components/html/reposition.d.ts.map +1 -0
- package/dist-types/components/html/shadow.d.ts +2 -0
- package/dist-types/components/html/shadow.d.ts.map +1 -0
- package/dist-types/components/html-overlay-container.d.ts +250 -0
- package/dist-types/components/html-overlay-container.d.ts.map +1 -0
- package/dist-types/components/html-overlay-element.d.ts +481 -0
- package/dist-types/components/html-overlay-element.d.ts.map +1 -0
- package/dist-types/components/image-view.d.ts +298 -0
- package/dist-types/components/image-view.d.ts.map +1 -0
- package/dist-types/components/index.d.ts +34 -0
- package/dist-types/components/index.d.ts.map +1 -0
- package/dist-types/components/info-window.d.ts +272 -0
- package/dist-types/components/info-window.d.ts.map +1 -0
- package/dist-types/components/line.d.ts +72 -0
- package/dist-types/components/line.d.ts.map +1 -0
- package/dist-types/components/local-ref.d.ts +277 -0
- package/dist-types/components/local-ref.d.ts.map +1 -0
- package/dist-types/components/mixins/connectable.d.ts +266 -0
- package/dist-types/components/mixins/connectable.d.ts.map +1 -0
- package/dist-types/components/mixins/data-source.d.ts +233 -0
- package/dist-types/components/mixins/data-source.d.ts.map +1 -0
- package/dist-types/components/mixins/html-element.d.ts +244 -0
- package/dist-types/components/mixins/html-element.d.ts.map +1 -0
- package/dist-types/components/mixins/move-handle.d.ts +234 -0
- package/dist-types/components/mixins/move-handle.d.ts.map +1 -0
- package/dist-types/components/mixins/rect-path.d.ts +246 -0
- package/dist-types/components/mixins/rect-path.d.ts.map +1 -0
- package/dist-types/components/mixins/value-holder.d.ts +238 -0
- package/dist-types/components/mixins/value-holder.d.ts.map +1 -0
- package/dist-types/components/mutater/bounds.d.ts +2 -0
- package/dist-types/components/mutater/bounds.d.ts.map +1 -0
- package/dist-types/components/mutater/path.d.ts +2 -0
- package/dist-types/components/mutater/path.d.ts.map +1 -0
- package/dist-types/components/node.d.ts +259 -0
- package/dist-types/components/node.d.ts.map +1 -0
- package/dist-types/components/ortholine.d.ts +8 -0
- package/dist-types/components/ortholine.d.ts.map +1 -0
- package/dist-types/components/outline/ellipse-outline.d.ts +2 -0
- package/dist-types/components/outline/ellipse-outline.d.ts.map +1 -0
- package/dist-types/components/outline/path-outline.d.ts +2 -0
- package/dist-types/components/outline/path-outline.d.ts.map +1 -0
- package/dist-types/components/path.d.ts +8 -0
- package/dist-types/components/path.d.ts.map +1 -0
- package/dist-types/components/polygon.d.ts +27 -0
- package/dist-types/components/polygon.d.ts.map +1 -0
- package/dist-types/components/polyline.d.ts +26 -0
- package/dist-types/components/polyline.d.ts.map +1 -0
- package/dist-types/components/popup.d.ts +281 -0
- package/dist-types/components/popup.d.ts.map +1 -0
- package/dist-types/components/position/absolute.d.ts +48 -0
- package/dist-types/components/position/absolute.d.ts.map +1 -0
- package/dist-types/components/position/popup-position.d.ts +24 -0
- package/dist-types/components/position/popup-position.d.ts.map +1 -0
- package/dist-types/components/rect.d.ts +499 -0
- package/dist-types/components/rect.d.ts.map +1 -0
- package/dist-types/components/retention/retention-manager.d.ts +10 -0
- package/dist-types/components/retention/retention-manager.d.ts.map +1 -0
- package/dist-types/components/root-container.d.ts +112 -0
- package/dist-types/components/root-container.d.ts.map +1 -0
- package/dist-types/components/ruler.d.ts +246 -0
- package/dist-types/components/ruler.d.ts.map +1 -0
- package/dist-types/components/shape.d.ts +26 -0
- package/dist-types/components/shape.d.ts.map +1 -0
- package/dist-types/components/star.d.ts +14 -0
- package/dist-types/components/star.d.ts.map +1 -0
- package/dist-types/components/text/substitutor.d.ts +4 -0
- package/dist-types/components/text/substitutor.d.ts.map +1 -0
- package/dist-types/components/text.d.ts +245 -0
- package/dist-types/components/text.d.ts.map +1 -0
- package/dist-types/components/triangle.d.ts +31 -0
- package/dist-types/components/triangle.d.ts.map +1 -0
- package/dist-types/const.d.ts +59 -0
- package/dist-types/const.d.ts.map +1 -0
- package/dist-types/core/collection.d.ts +25 -0
- package/dist-types/core/collection.d.ts.map +1 -0
- package/dist-types/core/debug.d.ts +2 -0
- package/dist-types/core/debug.d.ts.map +1 -0
- package/dist-types/core/deep-equals.d.ts +2 -0
- package/dist-types/core/deep-equals.d.ts.map +1 -0
- package/dist-types/core/dom-to-image.d.ts +132 -0
- package/dist-types/core/dom-to-image.d.ts.map +1 -0
- package/dist-types/core/event.d.ts +9 -0
- package/dist-types/core/event.d.ts.map +1 -0
- package/dist-types/core/index.d.ts +3 -0
- package/dist-types/core/index.d.ts.map +1 -0
- package/dist-types/core/list.d.ts +82 -0
- package/dist-types/core/list.d.ts.map +1 -0
- package/dist-types/core/logger.d.ts +4 -0
- package/dist-types/core/logger.d.ts.map +1 -0
- package/dist-types/core/memoize.d.ts +20 -0
- package/dist-types/core/memoize.d.ts.map +1 -0
- package/dist-types/core/mixin.d.ts +2 -0
- package/dist-types/core/mixin.d.ts.map +1 -0
- package/dist-types/core/obj-accessor.d.ts +2 -0
- package/dist-types/core/obj-accessor.d.ts.map +1 -0
- package/dist-types/core/reference-map.d.ts +20 -0
- package/dist-types/core/reference-map.d.ts.map +1 -0
- package/dist-types/core/round-rect.d.ts +26 -0
- package/dist-types/core/round-rect.d.ts.map +1 -0
- package/dist-types/core/safe-round.d.ts +2 -0
- package/dist-types/core/safe-round.d.ts.map +1 -0
- package/dist-types/core/script-loader.d.ts +4 -0
- package/dist-types/core/script-loader.d.ts.map +1 -0
- package/dist-types/core/snapshot-taker.d.ts +14 -0
- package/dist-types/core/snapshot-taker.d.ts.map +1 -0
- package/dist-types/core/stack.d.ts +3 -0
- package/dist-types/core/stack.d.ts.map +1 -0
- package/dist-types/core/timecapsule.d.ts +29 -0
- package/dist-types/core/timecapsule.d.ts.map +1 -0
- package/dist-types/core/utils.d.ts +10 -0
- package/dist-types/core/utils.d.ts.map +1 -0
- package/dist-types/decorator/decorator-registry.d.ts +82 -0
- package/dist-types/decorator/decorator-registry.d.ts.map +1 -0
- package/dist-types/decorator/decorator.d.ts +123 -0
- package/dist-types/decorator/decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/anchors-decorator.d.ts +77 -0
- package/dist-types/decorator/decorators/anchors-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/animated-icon-decorator.d.ts +168 -0
- package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts +96 -0
- package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts +56 -0
- package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/data-spread-decorator.d.ts +52 -0
- package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/decotag-decorator.d.ts +41 -0
- package/dist-types/decorator/decorators/decotag-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/link-decorator.d.ts +60 -0
- package/dist-types/decorator/decorators/link-decorator.d.ts.map +1 -0
- package/dist-types/decorator/index.d.ts +13 -0
- package/dist-types/decorator/index.d.ts.map +1 -0
- package/dist-types/decorator/raster-decorator.d.ts +126 -0
- package/dist-types/decorator/raster-decorator.d.ts.map +1 -0
- package/dist-types/decorator/vector-decorator.d.ts +185 -0
- package/dist-types/decorator/vector-decorator.d.ts.map +1 -0
- package/dist-types/diagnostics/inspector.d.ts +147 -0
- package/dist-types/diagnostics/inspector.d.ts.map +1 -0
- package/dist-types/diagnostics/metrics.d.ts +55 -0
- package/dist-types/diagnostics/metrics.d.ts.map +1 -0
- package/dist-types/effect/gradation.d.ts +2 -0
- package/dist-types/effect/gradation.d.ts.map +1 -0
- package/dist-types/effect/index.d.ts +2 -0
- package/dist-types/effect/index.d.ts.map +1 -0
- package/dist-types/effect/shadow.d.ts +3 -0
- package/dist-types/effect/shadow.d.ts.map +1 -0
- package/dist-types/effect/turn.d.ts +2 -0
- package/dist-types/effect/turn.d.ts.map +1 -0
- package/dist-types/event/event-engine.d.ts +13 -0
- package/dist-types/event/event-engine.d.ts.map +1 -0
- package/dist-types/event/event-pump.d.ts +12 -0
- package/dist-types/event/event-pump.d.ts.map +1 -0
- package/dist-types/event/event-tracker.d.ts +23 -0
- package/dist-types/event/event-tracker.d.ts.map +1 -0
- package/dist-types/event/index.d.ts +3 -0
- package/dist-types/event/index.d.ts.map +1 -0
- package/dist-types/event/ua-event-handler.d.ts +38 -0
- package/dist-types/event/ua-event-handler.d.ts.map +1 -0
- package/dist-types/event-map/event-map.d.ts +12 -0
- package/dist-types/event-map/event-map.d.ts.map +1 -0
- package/dist-types/event-map/index.d.ts +8 -0
- package/dist-types/event-map/index.d.ts.map +1 -0
- package/dist-types/event-map/move-handler.d.ts +2 -0
- package/dist-types/event-map/move-handler.d.ts.map +1 -0
- package/dist-types/event-map/paste-handler.d.ts +2 -0
- package/dist-types/event-map/paste-handler.d.ts.map +1 -0
- package/dist-types/event-map/shift-handler.d.ts +2 -0
- package/dist-types/event-map/shift-handler.d.ts.map +1 -0
- package/dist-types/event-map/text-editor-lite.d.ts +2 -0
- package/dist-types/event-map/text-editor-lite.d.ts.map +1 -0
- package/dist-types/event-map/waypoint-handler.d.ts +2 -0
- package/dist-types/event-map/waypoint-handler.d.ts.map +1 -0
- package/dist-types/event-map/zoom-handler.d.ts +2 -0
- package/dist-types/event-map/zoom-handler.d.ts.map +1 -0
- package/dist-types/index.d.ts +6 -0
- package/dist-types/index.d.ts.map +1 -0
- package/dist-types/interfaces/animation.d.ts +40 -0
- package/dist-types/interfaces/animation.d.ts.map +1 -0
- package/dist-types/interfaces/data.d.ts +66 -0
- package/dist-types/interfaces/data.d.ts.map +1 -0
- package/dist-types/interfaces/index.d.ts +5 -0
- package/dist-types/interfaces/index.d.ts.map +1 -0
- package/dist-types/interfaces/layout.d.ts +23 -0
- package/dist-types/interfaces/layout.d.ts.map +1 -0
- package/dist-types/interfaces/model.d.ts +8 -0
- package/dist-types/interfaces/model.d.ts.map +1 -0
- package/dist-types/interfaces/providers.d.ts +57 -0
- package/dist-types/interfaces/providers.d.ts.map +1 -0
- package/dist-types/interfaces/real-object.d.ts +35 -0
- package/dist-types/interfaces/real-object.d.ts.map +1 -0
- package/dist-types/interfaces/rendering.d.ts +92 -0
- package/dist-types/interfaces/rendering.d.ts.map +1 -0
- package/dist-types/interfaces/types.d.ts +139 -0
- package/dist-types/interfaces/types.d.ts.map +1 -0
- package/dist-types/layer/action/emphasize.d.ts +3 -0
- package/dist-types/layer/action/emphasize.d.ts.map +1 -0
- package/dist-types/layer/action/popup.d.ts +19 -0
- package/dist-types/layer/action/popup.d.ts.map +1 -0
- package/dist-types/layer/action/pressed.d.ts +3 -0
- package/dist-types/layer/action/pressed.d.ts.map +1 -0
- package/dist-types/layer/add-layer.d.ts +40 -0
- package/dist-types/layer/add-layer.d.ts.map +1 -0
- package/dist-types/layer/dual-canvas-layer.d.ts +16 -0
- package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -0
- package/dist-types/layer/guide-layer.d.ts +39 -0
- package/dist-types/layer/guide-layer.d.ts.map +1 -0
- package/dist-types/layer/index.d.ts +8 -0
- package/dist-types/layer/index.d.ts.map +1 -0
- package/dist-types/layer/layer.d.ts +42 -0
- package/dist-types/layer/layer.d.ts.map +1 -0
- package/dist-types/layer/minimap-layer.d.ts +22 -0
- package/dist-types/layer/minimap-layer.d.ts.map +1 -0
- package/dist-types/layer/model-layer.d.ts +183 -0
- package/dist-types/layer/model-layer.d.ts.map +1 -0
- package/dist-types/layer/modeler/anchor-handler.d.ts +19 -0
- package/dist-types/layer/modeler/anchor-handler.d.ts.map +1 -0
- package/dist-types/layer/modeler/control-handler.d.ts +15 -0
- package/dist-types/layer/modeler/control-handler.d.ts.map +1 -0
- package/dist-types/layer/modeler/focus-outline.d.ts +6 -0
- package/dist-types/layer/modeler/focus-outline.d.ts.map +1 -0
- package/dist-types/layer/modeler/group-outline.d.ts +9 -0
- package/dist-types/layer/modeler/group-outline.d.ts.map +1 -0
- package/dist-types/layer/modeler/index.d.ts +8 -0
- package/dist-types/layer/modeler/index.d.ts.map +1 -0
- package/dist-types/layer/modeler/path-handler.d.ts +17 -0
- package/dist-types/layer/modeler/path-handler.d.ts.map +1 -0
- package/dist-types/layer/modeler/resizer.d.ts +15 -0
- package/dist-types/layer/modeler/resizer.d.ts.map +1 -0
- package/dist-types/layer/modeler/rotator.d.ts +14 -0
- package/dist-types/layer/modeler/rotator.d.ts.map +1 -0
- package/dist-types/layer/modeling-layer.d.ts +75 -0
- package/dist-types/layer/modeling-layer.d.ts.map +1 -0
- package/dist-types/layer/scroll-layer.d.ts +27 -0
- package/dist-types/layer/scroll-layer.d.ts.map +1 -0
- package/dist-types/layer/selection/selected-finder.d.ts +2 -0
- package/dist-types/layer/selection/selected-finder.d.ts.map +1 -0
- package/dist-types/layer/selection-layer.d.ts +39 -0
- package/dist-types/layer/selection-layer.d.ts.map +1 -0
- package/dist-types/layer/shift-layer.d.ts +22 -0
- package/dist-types/layer/shift-layer.d.ts.map +1 -0
- package/dist-types/layout/absolute.d.ts +12 -0
- package/dist-types/layout/absolute.d.ts.map +1 -0
- package/dist-types/layout/card.d.ts +11 -0
- package/dist-types/layout/card.d.ts.map +1 -0
- package/dist-types/layout/html-absolute.d.ts +12 -0
- package/dist-types/layout/html-absolute.d.ts.map +1 -0
- package/dist-types/layout/index.d.ts +8 -0
- package/dist-types/layout/index.d.ts.map +1 -0
- package/dist-types/layout/layout.d.ts +15 -0
- package/dist-types/layout/layout.d.ts.map +1 -0
- package/dist-types/layout/linear-horizontal.d.ts +11 -0
- package/dist-types/layout/linear-horizontal.d.ts.map +1 -0
- package/dist-types/layout/linear-vertical.d.ts +11 -0
- package/dist-types/layout/linear-vertical.d.ts.map +1 -0
- package/dist-types/layout/table.d.ts +13 -0
- package/dist-types/layout/table.d.ts.map +1 -0
- package/dist-types/license/license.d.ts +21 -0
- package/dist-types/license/license.d.ts.map +1 -0
- package/dist-types/model/compile.d.ts +4 -0
- package/dist-types/model/compile.d.ts.map +1 -0
- package/dist-types/model/duplicate.d.ts +3 -0
- package/dist-types/model/duplicate.d.ts.map +1 -0
- package/dist-types/model/index.d.ts +4 -0
- package/dist-types/model/index.d.ts.map +1 -0
- package/dist-types/model/selector.d.ts +42 -0
- package/dist-types/model/selector.d.ts.map +1 -0
- package/dist-types/style/compile.d.ts +2 -0
- package/dist-types/style/compile.d.ts.map +1 -0
- package/dist-types/style/index.d.ts +2 -0
- package/dist-types/style/index.d.ts.map +1 -0
- package/dist-types/things-scene/api/add-start.d.ts +2 -0
- package/dist-types/things-scene/api/add-start.d.ts.map +1 -0
- package/dist-types/things-scene/api/add.d.ts +2 -0
- package/dist-types/things-scene/api/add.d.ts.map +1 -0
- package/dist-types/things-scene/api/align.d.ts +2 -0
- package/dist-types/things-scene/api/align.d.ts.map +1 -0
- package/dist-types/things-scene/api/center-to.d.ts +2 -0
- package/dist-types/things-scene/api/center-to.d.ts.map +1 -0
- package/dist-types/things-scene/api/change.d.ts +3 -0
- package/dist-types/things-scene/api/change.d.ts.map +1 -0
- package/dist-types/things-scene/api/clipboard.d.ts +4 -0
- package/dist-types/things-scene/api/clipboard.d.ts.map +1 -0
- package/dist-types/things-scene/api/distribute.d.ts +2 -0
- package/dist-types/things-scene/api/distribute.d.ts.map +1 -0
- package/dist-types/things-scene/api/duplicate.d.ts +2 -0
- package/dist-types/things-scene/api/duplicate.d.ts.map +1 -0
- package/dist-types/things-scene/api/fullscreen.d.ts +2 -0
- package/dist-types/things-scene/api/fullscreen.d.ts.map +1 -0
- package/dist-types/things-scene/api/group.d.ts +3 -0
- package/dist-types/things-scene/api/group.d.ts.map +1 -0
- package/dist-types/things-scene/api/ids.d.ts +2 -0
- package/dist-types/things-scene/api/ids.d.ts.map +1 -0
- package/dist-types/things-scene/api/index.d.ts +18 -0
- package/dist-types/things-scene/api/index.d.ts.map +1 -0
- package/dist-types/things-scene/api/listener.d.ts +4 -0
- package/dist-types/things-scene/api/listener.d.ts.map +1 -0
- package/dist-types/things-scene/api/paste-start.d.ts +5 -0
- package/dist-types/things-scene/api/paste-start.d.ts.map +1 -0
- package/dist-types/things-scene/api/place.d.ts +2 -0
- package/dist-types/things-scene/api/place.d.ts.map +1 -0
- package/dist-types/things-scene/api/remove.d.ts +2 -0
- package/dist-types/things-scene/api/remove.d.ts.map +1 -0
- package/dist-types/things-scene/api/symmetry.d.ts +3 -0
- package/dist-types/things-scene/api/symmetry.d.ts.map +1 -0
- package/dist-types/things-scene/api/to-data-url.d.ts +2 -0
- package/dist-types/things-scene/api/to-data-url.d.ts.map +1 -0
- package/dist-types/things-scene/api/zorder.d.ts +3 -0
- package/dist-types/things-scene/api/zorder.d.ts.map +1 -0
- package/dist-types/things-scene/application-context.d.ts +51 -0
- package/dist-types/things-scene/application-context.d.ts.map +1 -0
- package/dist-types/things-scene/config.d.ts +5 -0
- package/dist-types/things-scene/config.d.ts.map +1 -0
- package/dist-types/things-scene/create.d.ts +19 -0
- package/dist-types/things-scene/create.d.ts.map +1 -0
- package/dist-types/things-scene/fps.d.ts +7 -0
- package/dist-types/things-scene/fps.d.ts.map +1 -0
- package/dist-types/things-scene/index.d.ts +39 -0
- package/dist-types/things-scene/index.d.ts.map +1 -0
- package/dist-types/things-scene/polyfill.d.ts +3 -0
- package/dist-types/things-scene/polyfill.d.ts.map +1 -0
- package/dist-types/things-scene/scene.d.ts +98 -0
- package/dist-types/things-scene/scene.d.ts.map +1 -0
- package/dist-types/things-scene/version.d.ts +3 -0
- package/dist-types/things-scene/version.d.ts.map +1 -0
- package/dist-types/threed/arrow-3d.d.ts +54 -0
- package/dist-types/threed/arrow-3d.d.ts.map +1 -0
- package/dist-types/threed/common.d.ts +23 -0
- package/dist-types/threed/common.d.ts.map +1 -0
- package/dist-types/threed/factories/banner.d.ts +257 -0
- package/dist-types/threed/factories/banner.d.ts.map +1 -0
- package/dist-types/threed/factories/camera.d.ts +261 -0
- package/dist-types/threed/factories/camera.d.ts.map +1 -0
- package/dist-types/threed/factories/cube.d.ts +253 -0
- package/dist-types/threed/factories/cube.d.ts.map +1 -0
- package/dist-types/threed/factories/cylinder.d.ts +14 -0
- package/dist-types/threed/factories/cylinder.d.ts.map +1 -0
- package/dist-types/threed/factories/donut.d.ts +6 -0
- package/dist-types/threed/factories/donut.d.ts.map +1 -0
- package/dist-types/threed/factories/ellipse.d.ts +6 -0
- package/dist-types/threed/factories/ellipse.d.ts.map +1 -0
- package/dist-types/threed/factories/gltf-object.d.ts +271 -0
- package/dist-types/threed/factories/gltf-object.d.ts.map +1 -0
- package/dist-types/threed/factories/html-overlay.d.ts +2 -0
- package/dist-types/threed/factories/html-overlay.d.ts.map +1 -0
- package/dist-types/threed/factories/light.d.ts +18 -0
- package/dist-types/threed/factories/light.d.ts.map +1 -0
- package/dist-types/threed/factories/polygon.d.ts +18 -0
- package/dist-types/threed/factories/polygon.d.ts.map +1 -0
- package/dist-types/threed/factories/rect.d.ts +6 -0
- package/dist-types/threed/factories/rect.d.ts.map +1 -0
- package/dist-types/threed/factories/sphere.d.ts +14 -0
- package/dist-types/threed/factories/sphere.d.ts.map +1 -0
- package/dist-types/threed/factories/sprite.d.ts +249 -0
- package/dist-types/threed/factories/sprite.d.ts.map +1 -0
- package/dist-types/threed/factories/star.d.ts +6 -0
- package/dist-types/threed/factories/star.d.ts.map +1 -0
- package/dist-types/threed/factories/text.d.ts +2 -0
- package/dist-types/threed/factories/text.d.ts.map +1 -0
- package/dist-types/threed/factories/triangle.d.ts +6 -0
- package/dist-types/threed/factories/triangle.d.ts.map +1 -0
- package/dist-types/threed/factories/wall.d.ts +253 -0
- package/dist-types/threed/factories/wall.d.ts.map +1 -0
- package/dist-types/threed/floor/floor.d.ts +4 -0
- package/dist-types/threed/floor/floor.d.ts.map +1 -0
- package/dist-types/threed/gltf-specgloss-compat.d.ts +7 -0
- package/dist-types/threed/gltf-specgloss-compat.d.ts.map +1 -0
- package/dist-types/threed/html/elements.d.ts +3 -0
- package/dist-types/threed/html/elements.d.ts.map +1 -0
- package/dist-types/threed/index.d.ts +65 -0
- package/dist-types/threed/index.d.ts.map +1 -0
- package/dist-types/threed/interfaces.d.ts +17 -0
- package/dist-types/threed/interfaces.d.ts.map +1 -0
- package/dist-types/threed/managers/camera-manager.d.ts +30 -0
- package/dist-types/threed/managers/camera-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/controls-manager.d.ts +76 -0
- package/dist-types/threed/managers/controls-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/event-manager3d.d.ts +21 -0
- package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -0
- package/dist-types/threed/managers/gizmo-manager.d.ts +45 -0
- package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts +57 -0
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/index.d.ts +12 -0
- package/dist-types/threed/managers/index.d.ts.map +1 -0
- package/dist-types/threed/managers/interaction-manager.d.ts +100 -0
- package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/light-manager.d.ts +27 -0
- package/dist-types/threed/managers/light-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/placement-manager.d.ts +66 -0
- package/dist-types/threed/managers/placement-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
- package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/scene-manager.d.ts +23 -0
- package/dist-types/threed/managers/scene-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/types.d.ts +40 -0
- package/dist-types/threed/managers/types.d.ts.map +1 -0
- package/dist-types/threed/material-3d.d.ts +36 -0
- package/dist-types/threed/material-3d.d.ts.map +1 -0
- package/dist-types/threed/real-object-camera-meshed.d.ts +13 -0
- package/dist-types/threed/real-object-camera-meshed.d.ts.map +1 -0
- package/dist-types/threed/real-object-camera.d.ts +10 -0
- package/dist-types/threed/real-object-camera.d.ts.map +1 -0
- package/dist-types/threed/real-object-dom-element.d.ts +24 -0
- package/dist-types/threed/real-object-dom-element.d.ts.map +1 -0
- package/dist-types/threed/real-object-dom-texture.d.ts +21 -0
- package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -0
- package/dist-types/threed/real-object-dummy.d.ts +7 -0
- package/dist-types/threed/real-object-dummy.d.ts.map +1 -0
- package/dist-types/threed/real-object-extrude.d.ts +32 -0
- package/dist-types/threed/real-object-extrude.d.ts.map +1 -0
- package/dist-types/threed/real-object-gltf.d.ts +53 -0
- package/dist-types/threed/real-object-gltf.d.ts.map +1 -0
- package/dist-types/threed/real-object-group.d.ts +6 -0
- package/dist-types/threed/real-object-group.d.ts.map +1 -0
- package/dist-types/threed/real-object-mesh.d.ts +16 -0
- package/dist-types/threed/real-object-mesh.d.ts.map +1 -0
- package/dist-types/threed/real-object-plane-2d.d.ts +18 -0
- package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -0
- package/dist-types/threed/real-object-plane.d.ts +6 -0
- package/dist-types/threed/real-object-plane.d.ts.map +1 -0
- package/dist-types/threed/real-object-registry.d.ts +8 -0
- package/dist-types/threed/real-object-registry.d.ts.map +1 -0
- package/dist-types/threed/real-object-scene.d.ts +21 -0
- package/dist-types/threed/real-object-scene.d.ts.map +1 -0
- package/dist-types/threed/real-object-sprite-2d.d.ts +15 -0
- package/dist-types/threed/real-object-sprite-2d.d.ts.map +1 -0
- package/dist-types/threed/real-object-sprite.d.ts +12 -0
- package/dist-types/threed/real-object-sprite.d.ts.map +1 -0
- package/dist-types/threed/real-object-text.d.ts +13 -0
- package/dist-types/threed/real-object-text.d.ts.map +1 -0
- package/dist-types/threed/real-object.d.ts +100 -0
- package/dist-types/threed/real-object.d.ts.map +1 -0
- package/dist-types/threed/texture/canvas-texture.d.ts +5 -0
- package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -0
- package/dist-types/threed/texture/text-texture.d.ts +9 -0
- package/dist-types/threed/texture/text-texture.d.ts.map +1 -0
- package/dist-types/threed/three-capability.d.ts +325 -0
- package/dist-types/threed/three-capability.d.ts.map +1 -0
- package/dist-types/threed/three-container.d.ts +58 -0
- package/dist-types/threed/three-container.d.ts.map +1 -0
- package/dist-types/threed/three-dimensional-container.d.ts +9 -0
- package/dist-types/threed/three-dimensional-container.d.ts.map +1 -0
- package/dist-types/threed/three-layout.d.ts +10 -0
- package/dist-types/threed/three-layout.d.ts.map +1 -0
- package/dist-types/threed/utils/bound-uv-generator.d.ts +17 -0
- package/dist-types/threed/utils/bound-uv-generator.d.ts.map +1 -0
- package/dist-types/threed/utils/dispose.d.ts +3 -0
- package/dist-types/threed/utils/dispose.d.ts.map +1 -0
- package/dist-types/threed/utils/project.d.ts +11 -0
- package/dist-types/threed/utils/project.d.ts.map +1 -0
- package/dist-types/types/bounding.d.ts +52 -0
- package/dist-types/types/bounding.d.ts.map +1 -0
- package/dist-types/types/component.d.ts +178 -0
- package/dist-types/types/component.d.ts.map +1 -0
- package/dist-types/types/event.d.ts +9 -0
- package/dist-types/types/event.d.ts.map +1 -0
- package/dist-types/types/index.d.ts +7 -0
- package/dist-types/types/index.d.ts.map +1 -0
- package/dist-types/types/layer.d.ts +80 -0
- package/dist-types/types/layer.d.ts.map +1 -0
- package/dist-types/types/scene-component.d.ts +28 -0
- package/dist-types/types/scene-component.d.ts.map +1 -0
- package/dist-types/types/scene.d.ts +18 -0
- package/dist-types/types/scene.d.ts.map +1 -0
- package/package.json +53 -67
- package/things-scene-min.js +27 -27
- package/things-scene-min.js.map +1 -1
- package/things-scene.mjs +9 -31
- package/things-scene.mjs.map +1 -1
- package/CHANGELOG.md +0 -2115
- package/EULA.md +0 -67
- package/monitor-extension/background.js +0 -21
- package/monitor-extension/content.js +0 -71
- package/monitor-extension/devtools.html +0 -68
- package/monitor-extension/devtools.js +0 -143
- package/monitor-extension/icons/icon128.png +0 -0
- package/monitor-extension/icons/icon16.png +0 -0
- package/monitor-extension/icons/icon48.png +0 -0
- package/monitor-extension/injected.js +0 -25
- package/monitor-extension/libs/Chart.min.js +0 -10129
- package/monitor-extension/manifest.json +0 -34
- package/monitor-extension/popup.html +0 -68
- package/monitor-extension/popup.js +0 -142
- package/things-scene.d.ts +0 -799
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import './factories/text.js';
|
|
2
|
+
import './factories/html-overlay.js';
|
|
3
|
+
import './factories/ellipse.js';
|
|
4
|
+
import './factories/rect.js';
|
|
5
|
+
import './factories/polygon.js';
|
|
6
|
+
import './factories/donut.js';
|
|
7
|
+
import './factories/triangle.js';
|
|
8
|
+
import './factories/star.js';
|
|
9
|
+
import './factories/sphere.js';
|
|
10
|
+
import './factories/sprite.js';
|
|
11
|
+
import './factories/cube.js';
|
|
12
|
+
import './factories/cylinder.js';
|
|
13
|
+
import './factories/banner.js';
|
|
14
|
+
import './factories/camera.js';
|
|
15
|
+
import './factories/gltf-object.js';
|
|
16
|
+
import './factories/light.js';
|
|
17
|
+
import './factories/wall.js';
|
|
18
|
+
export * from './common.js';
|
|
19
|
+
export * from './interfaces.js';
|
|
20
|
+
export * from './material-3d.js';
|
|
21
|
+
export * from './three-dimensional-container.js';
|
|
22
|
+
export * from './real-object.js';
|
|
23
|
+
export { registerRealObjectFactory, registerDefaultRealObjectFactory, createRealObjectFor } from './real-object-registry.js';
|
|
24
|
+
export * from './real-object-dummy.js';
|
|
25
|
+
export * from './real-object-extrude.js';
|
|
26
|
+
export * from './real-object-camera.js';
|
|
27
|
+
export * from './real-object-dom-element.js';
|
|
28
|
+
export * from './real-object-dom-texture.js';
|
|
29
|
+
export * from './real-object-gltf.js';
|
|
30
|
+
export * from './real-object-group.js';
|
|
31
|
+
export * from './real-object-mesh.js';
|
|
32
|
+
export * from './real-object-plane.js';
|
|
33
|
+
export * from './real-object-scene.js';
|
|
34
|
+
export * from './real-object-sprite-2d.js';
|
|
35
|
+
export * from './real-object-plane-2d.js';
|
|
36
|
+
export * from './real-object-sprite.js';
|
|
37
|
+
export * from './real-object-text.js';
|
|
38
|
+
export { EllipseExtrude } from './factories/ellipse.js';
|
|
39
|
+
export { RectExtrude } from './factories/rect.js';
|
|
40
|
+
export { PolygonExtrude } from './factories/polygon.js';
|
|
41
|
+
export { DonutExtrude } from './factories/donut.js';
|
|
42
|
+
export { TriangleExtrude } from './factories/triangle.js';
|
|
43
|
+
export { StarExtrude } from './factories/star.js';
|
|
44
|
+
export { Sphere3D, Sphere } from './factories/sphere.js';
|
|
45
|
+
export { Sprite } from './factories/sprite.js';
|
|
46
|
+
export { Cube3D, Cube } from './factories/cube.js';
|
|
47
|
+
export { Cylinder3D, Cylinder } from './factories/cylinder.js';
|
|
48
|
+
export { Banner3D, Banner } from './factories/banner.js';
|
|
49
|
+
export { Camera3D, Camera } from './factories/camera.js';
|
|
50
|
+
export { GLTFObject } from './factories/gltf-object.js';
|
|
51
|
+
export { LightObject, PointLight } from './factories/light.js';
|
|
52
|
+
export { Wall3D, Wall } from './factories/wall.js';
|
|
53
|
+
export { ThreeCapability } from './three-capability.js';
|
|
54
|
+
export type { ThreeCapabilityHost } from './three-capability.js';
|
|
55
|
+
export { ThreeContainer } from './three-container.js';
|
|
56
|
+
export * from './managers/index.js';
|
|
57
|
+
export { buildArrow3D } from './arrow-3d.js';
|
|
58
|
+
export type { ArrowStyle3D, TipType, TipSize, LineDash } from './arrow-3d.js';
|
|
59
|
+
export { disposeObject3D } from './utils/dispose.js';
|
|
60
|
+
export { projectToScreen } from './utils/project.js';
|
|
61
|
+
export { createCanvasTexture, renderCanvasTexture } from './texture/canvas-texture.js';
|
|
62
|
+
export { textTexture, textBounds, drawTextTexture, fontStyle } from './texture/text-texture.js';
|
|
63
|
+
export { createCanvas, PIXEL_RATIO } from './html/elements.js';
|
|
64
|
+
export { createFloor } from './floor/floor.js';
|
|
65
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/threed/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type * as THREE from 'three';
|
|
2
|
+
import type Component from '../components/component.js';
|
|
3
|
+
import type { IRealObject } from '../interfaces/real-object.js';
|
|
4
|
+
import type { ThreeDimensionalContainer } from './three-dimensional-container.js';
|
|
5
|
+
/**
|
|
6
|
+
* Three.js 기반 RealObject 인터페이스.
|
|
7
|
+
* IRealObject(things-scene, THREE-free)를 확장하여 Three.js 관련 멤버를 추가.
|
|
8
|
+
*/
|
|
9
|
+
export interface IThreeRealObject extends IRealObject {
|
|
10
|
+
readonly object3d: THREE.Object3D;
|
|
11
|
+
readonly component: Component;
|
|
12
|
+
readonly threeContainer: ThreeDimensionalContainer | undefined;
|
|
13
|
+
build(): void;
|
|
14
|
+
updateRotate(): void;
|
|
15
|
+
updateScale(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/threed/interfaces.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAEjF;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,GAAG,SAAS,CAAA;IAC9D,KAAK,IAAI,IAAI,CAAA;IACb,YAAY,IAAI,IAAI,CAAA;IACpB,WAAW,IAAI,IAAI,CAAA;CACpB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { CameraConfig } from './types.js';
|
|
3
|
+
export type CameraViewName = 'perspective' | 'top' | 'front' | 'back' | 'right' | 'left';
|
|
4
|
+
export declare class CameraManager {
|
|
5
|
+
private _perspCamera?;
|
|
6
|
+
private _orthoCamera?;
|
|
7
|
+
private _activeView;
|
|
8
|
+
private _cameraZPos;
|
|
9
|
+
get camera(): THREE.PerspectiveCamera | undefined;
|
|
10
|
+
get activeCamera(): THREE.Camera;
|
|
11
|
+
get activeView(): CameraViewName;
|
|
12
|
+
get zoom(): number | undefined;
|
|
13
|
+
get cameraZPos(): number;
|
|
14
|
+
setup(width: number, height: number, config: CameraConfig): THREE.PerspectiveCamera;
|
|
15
|
+
addToScene(scene: THREE.Scene): void;
|
|
16
|
+
updateAspect(width: number, height: number): void;
|
|
17
|
+
updateProperties(config: Partial<CameraConfig>): void;
|
|
18
|
+
/**
|
|
19
|
+
* 직교 투영 카메라로 특정 뷰를 설정한다.
|
|
20
|
+
* Top/Front/Back/Right/Left — 원근법 없는 정사영 뷰.
|
|
21
|
+
*/
|
|
22
|
+
setOrthoView(view: CameraViewName, width: number, height: number): THREE.OrthographicCamera;
|
|
23
|
+
/**
|
|
24
|
+
* Perspective 카메라로 복귀한다.
|
|
25
|
+
*/
|
|
26
|
+
restorePerspective(): THREE.PerspectiveCamera;
|
|
27
|
+
private _updateOrthoFrustum;
|
|
28
|
+
destroy(): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=camera-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/camera-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAExF,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,YAAY,CAAC,CAA0B;IAC/C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,WAAW,CAAY;IAE/B,IAAI,MAAM,wCAET;IAED,IAAI,YAAY,IAAI,KAAK,CAAC,MAAM,CAK/B;IAED,IAAI,UAAU,IAAI,cAAc,CAE/B;IAED,IAAI,IAAI,uBAEP;IAED,IAAI,UAAU,WAEb;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;IAsBzD,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK;IAK7B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAU1C,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC;IAW9C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,kBAAkB;IAyC3F;;OAEG;IACH,kBAAkB,IAAI,KAAK,CAAC,iBAAiB;IAK7C,OAAO,CAAC,mBAAmB;IAW3B,OAAO;CAKR"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type Component from '../../components/component.js';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
export declare class ControlsManager {
|
|
4
|
+
private _camera?;
|
|
5
|
+
private _host?;
|
|
6
|
+
private _enabled;
|
|
7
|
+
private _state;
|
|
8
|
+
private _autoRotate;
|
|
9
|
+
private _autoRotateSpeed;
|
|
10
|
+
private _dampingFactor;
|
|
11
|
+
private _rotateSpeed;
|
|
12
|
+
private _panSpeed;
|
|
13
|
+
private _lastScale;
|
|
14
|
+
private _spherical;
|
|
15
|
+
private _sphericalDelta;
|
|
16
|
+
private _panOffset;
|
|
17
|
+
private _target;
|
|
18
|
+
private _target0;
|
|
19
|
+
private _position0;
|
|
20
|
+
private _rotateStart;
|
|
21
|
+
private _rotateEnd;
|
|
22
|
+
private _rotateDelta;
|
|
23
|
+
private _panStart;
|
|
24
|
+
private _panEnd;
|
|
25
|
+
private _panDelta;
|
|
26
|
+
private _offset;
|
|
27
|
+
private _quat;
|
|
28
|
+
private _quatInverse;
|
|
29
|
+
private _lastPosition;
|
|
30
|
+
private _lastQuaternion;
|
|
31
|
+
private _panLeftV;
|
|
32
|
+
private _panUpV;
|
|
33
|
+
private _panCalcOffset;
|
|
34
|
+
get isActive(): boolean;
|
|
35
|
+
get target(): THREE.Vector3;
|
|
36
|
+
restoreTarget(target: THREE.Vector3): void;
|
|
37
|
+
/** 직교 투영 뷰에서는 드래그 조작을 차단한다. */
|
|
38
|
+
private get _isOrthoLocked();
|
|
39
|
+
setup(camera: THREE.Camera, host: Component): void;
|
|
40
|
+
setEnabled(enabled: boolean): void;
|
|
41
|
+
onDragStart(e: DragEvent): void;
|
|
42
|
+
onDragMove(e: DragEvent): void;
|
|
43
|
+
onDragEnd(_e: DragEvent): void;
|
|
44
|
+
onTouchStart(e: TouchEvent): void;
|
|
45
|
+
onTouchMove(e: TouchEvent): void;
|
|
46
|
+
onTouchEnd(_e: TouchEvent): void;
|
|
47
|
+
onKeyDown(e: KeyboardEvent): void;
|
|
48
|
+
update(): boolean;
|
|
49
|
+
reset(): void;
|
|
50
|
+
setCamera(camera: THREE.Camera): void;
|
|
51
|
+
setAutoRotate(enabled: boolean): void;
|
|
52
|
+
markCameraChanged(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Perspective 뷰 줌: 마우스 커서 위치를 기준으로 확대/축소.
|
|
55
|
+
* orbit target 거리에서의 frustum 크기로 오프셋을 계산한다.
|
|
56
|
+
* oldCamZoom/newCamZoom: camera.zoom 단위 (state.zoom * 0.01)
|
|
57
|
+
*/
|
|
58
|
+
zoomPerspAtCursor(oldCamZoom: number, newCamZoom: number, ndcX: number, ndcY: number): void;
|
|
59
|
+
/**
|
|
60
|
+
* 직교 뷰 줌: 마우스 커서 위치를 기준으로 확대/축소.
|
|
61
|
+
* 커서 아래의 월드 좌표가 줌 후에도 동일한 화면 위치에 유지된다.
|
|
62
|
+
* ndcX, ndcY: 뷰포트 내 커서의 NDC 좌표 (-1~+1)
|
|
63
|
+
*/
|
|
64
|
+
zoomOrthoAtCursor(factor: number, ndcX: number, ndcY: number): void;
|
|
65
|
+
destroy(): void;
|
|
66
|
+
private _handleRotateMove;
|
|
67
|
+
private _handlePanMove;
|
|
68
|
+
/**
|
|
69
|
+
* 직교 뷰 전용 팬: 1:1 매핑, 관성 없음.
|
|
70
|
+
* _panOffset/damping을 우회하여 target과 카메라에 직접 적용한다.
|
|
71
|
+
* deltaX/deltaY는 CSS 픽셀 단위이므로, DOM element의 실제 표시 크기를 분모로 사용한다.
|
|
72
|
+
*/
|
|
73
|
+
private _panOrtho;
|
|
74
|
+
private _pan;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=controls-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controls-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/controls-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,KAAK,CAAC,CAAW;IAEzB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,cAAc,CAAO;IAC7B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,UAAU,CAAI;IAGtB,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,OAAO,CAAsB;IAGrC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,UAAU,CAAsB;IAGxC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,SAAS,CAAsB;IAGvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,eAAe,CAAyB;IAGhD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAsB;IAE5C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAE1B;IAED,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO;IAMnC,+BAA+B;IAC/B,OAAO,KAAK,cAAc,GAEzB;IAED,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS;IAqB3C,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B,WAAW,CAAC,CAAC,EAAE,SAAS;IAkBxB,UAAU,CAAC,CAAC,EAAE,SAAS;IAevB,SAAS,CAAC,EAAE,EAAE,SAAS;IAQvB,YAAY,CAAC,CAAC,EAAE,UAAU;IA2B1B,WAAW,CAAC,CAAC,EAAE,UAAU;IAyBzB,UAAU,CAAC,EAAE,EAAE,UAAU;IAOzB,SAAS,CAAC,CAAC,EAAE,aAAa;IAgB1B,MAAM,IAAI,OAAO;IAgEjB,KAAK;IAUL,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM;IAmB9B,aAAa,CAAC,OAAO,EAAE,OAAO;IAK9B,iBAAiB;IAIjB;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAiBpF;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAoB5D,OAAO;IAOP,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,IAAI;CA6Bb"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import type { IThreeRealObject } from '../interfaces.js';
|
|
3
|
+
export declare class EventManager3D {
|
|
4
|
+
private _mouse;
|
|
5
|
+
private _raycaster;
|
|
6
|
+
private _lastFocused?;
|
|
7
|
+
private _lastHovered?;
|
|
8
|
+
constructor();
|
|
9
|
+
get mouse(): THREE.Vector2;
|
|
10
|
+
get lastFocused(): IThreeRealObject | undefined;
|
|
11
|
+
set lastFocused(value: IThreeRealObject | undefined);
|
|
12
|
+
get lastHovered(): IThreeRealObject | undefined;
|
|
13
|
+
set lastHovered(value: IThreeRealObject | undefined);
|
|
14
|
+
updateMouseNDC(px: number, py: number, left: number, top: number, width: number, height: number): void;
|
|
15
|
+
getObjectByRaycast(camera: THREE.Camera, scene: THREE.Scene): THREE.Object3D | undefined;
|
|
16
|
+
getObjectsByRaycast(camera: THREE.Camera, scene: THREE.Scene): THREE.Intersection[];
|
|
17
|
+
handleClick(camera: THREE.Camera, scene: THREE.Scene, event: MouseEvent): IThreeRealObject | undefined;
|
|
18
|
+
handleHover(camera: THREE.Camera, scene: THREE.Scene, event: MouseEvent): void;
|
|
19
|
+
destroy(): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=event-manager3d.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-manager3d.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/event-manager3d.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,YAAY,CAAC,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAC,CAAkB;;IAIvC,IAAI,KAAK,kBAER;IAED,IAAI,WAAW,IAIQ,gBAAgB,GAAG,SAAS,CAFlD;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EAElD;IAED,IAAI,WAAW,IAIQ,gBAAgB,GAAG,SAAS,CAFlD;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EAElD;IAED,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK/F,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,GAAG,SAAS;IAmBxF,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE;IAKnF,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,gBAAgB,GAAG,SAAS;IAiBtG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU;IAiBvE,OAAO;CAIR"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { TransformControls } from 'three/examples/jsm/controls/TransformControls.js';
|
|
3
|
+
export type GizmoMode = 'translate' | 'rotate' | 'scale';
|
|
4
|
+
/**
|
|
5
|
+
* TransformControls 기즈모를 관리한다.
|
|
6
|
+
*
|
|
7
|
+
* TransformControls는 DOM element에 직접 pointer event listener를 붙이므로,
|
|
8
|
+
* things-scene의 이벤트 시스템과 충돌한다.
|
|
9
|
+
* 이를 방지하기 위해 프록시 element를 사용한다:
|
|
10
|
+
* - 프록시는 pointer-events:none으로 네이티브 이벤트를 받지 않음
|
|
11
|
+
* - things-scene 이벤트 핸들러에서 forwardEvent()로 수동 전달
|
|
12
|
+
* - setPointerCapture 무효화로 이벤트 가로채기 방지
|
|
13
|
+
*/
|
|
14
|
+
export declare class GizmoManager {
|
|
15
|
+
private _controls?;
|
|
16
|
+
private _scene?;
|
|
17
|
+
private _proxyElement?;
|
|
18
|
+
private _mode;
|
|
19
|
+
private _attached?;
|
|
20
|
+
private _isDragging;
|
|
21
|
+
onDraggingChanged?: (isDragging: boolean) => void;
|
|
22
|
+
onObjectChange?: (object: THREE.Object3D) => void;
|
|
23
|
+
onAttachChanged?: (isAttached: boolean) => void;
|
|
24
|
+
get controls(): TransformControls | undefined;
|
|
25
|
+
get mode(): GizmoMode;
|
|
26
|
+
get attached(): THREE.Object3D<THREE.Object3DEventMap> | undefined;
|
|
27
|
+
get isAttached(): boolean;
|
|
28
|
+
get isDragging(): boolean;
|
|
29
|
+
setup(camera: THREE.Camera, domElement: HTMLElement, scene: THREE.Scene): void;
|
|
30
|
+
/**
|
|
31
|
+
* things-scene 이벤트를 TransformControls의 프록시 element로 전달한다.
|
|
32
|
+
* things-scene의 MouseEvent/DragEvent를 PointerEvent로 변환하여 dispatch.
|
|
33
|
+
*
|
|
34
|
+
* 주의: TransformControls.pointerMove()는 `pointer.button !== -1`이면 무시한다.
|
|
35
|
+
* 네이티브 pointermove 이벤트의 button은 -1 (no button change)이므로,
|
|
36
|
+
* pointermove일 때 button을 -1로 설정해야 한다.
|
|
37
|
+
*/
|
|
38
|
+
forwardEvent(e: MouseEvent, type: 'pointerdown' | 'pointermove' | 'pointerup'): void;
|
|
39
|
+
setMode(mode: GizmoMode): void;
|
|
40
|
+
attach(object: THREE.Object3D): void;
|
|
41
|
+
detach(): void;
|
|
42
|
+
updateCamera(camera: THREE.Camera): void;
|
|
43
|
+
destroy(): void;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=gizmo-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gizmo-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/gizmo-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAA;AAEpF,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;AAExD;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAa;IACnC,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,OAAO,CAAC,WAAW,CAAQ;IAE3B,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAA;IACjD,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IAE/C,IAAI,QAAQ,kCAA4B;IACxC,IAAI,IAAI,cAAwB;IAChC,IAAI,QAAQ,uDAA4B;IACxC,IAAI,UAAU,YAA8B;IAC5C,IAAI,UAAU,YAA8B;IAE5C,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;IAoCvE;;;;;;;OAOG;IACH,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW;IAc7E,OAAO,CAAC,IAAI,EAAE,SAAS;IAKvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ;IAW7B,MAAM;IAMN,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM;IAMjC,OAAO;CAgBR"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { GizmoManager } from './gizmo-manager.js';
|
|
2
|
+
/**
|
|
3
|
+
* GizmoOperationManager가 호스트에 접근하기 위한 인터페이스.
|
|
4
|
+
*/
|
|
5
|
+
export interface GizmoOperationHost {
|
|
6
|
+
readonly root: any;
|
|
7
|
+
readonly app: any;
|
|
8
|
+
invalidate(): void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 기즈모 드래그 시작/진행/종료, Alt+Drag 복제, 멀티셀렉트 오프셋 계산을 관리한다.
|
|
12
|
+
*
|
|
13
|
+
* GizmoManager의 콜백(onDraggingChanged, onObjectChange)에 연결되어
|
|
14
|
+
* 기즈모 조작 결과를 컴포넌트 속성에 역반영한다.
|
|
15
|
+
*/
|
|
16
|
+
export declare class GizmoOperationManager {
|
|
17
|
+
private _preDragDimension?;
|
|
18
|
+
private _preDragScale?;
|
|
19
|
+
private _preDragEffectiveDepth?;
|
|
20
|
+
private _altDragDuplicates?;
|
|
21
|
+
private _mouseDownAltKey;
|
|
22
|
+
private _multiSelectOffsets?;
|
|
23
|
+
private _gizmoInitialRotation?;
|
|
24
|
+
private _multiSelectInitialRotations?;
|
|
25
|
+
private _multiSelectPreDragDimensions?;
|
|
26
|
+
/**
|
|
27
|
+
* mousedown 시 altKey를 캡처한다.
|
|
28
|
+
* forwardEvent보다 먼저 호출되어야 한다.
|
|
29
|
+
*/
|
|
30
|
+
captureAltKey(altKey: boolean): void;
|
|
31
|
+
/**
|
|
32
|
+
* GizmoManager의 콜백을 등록한다.
|
|
33
|
+
* host를 클로저로 캡처하지 않고 getHost 함수를 통해 동적으로 참조하여
|
|
34
|
+
* 호스트 교체 후에도 올바른 호스트를 사용한다.
|
|
35
|
+
*/
|
|
36
|
+
setupCallbacks(gizmoManager: GizmoManager, controlsManager: {
|
|
37
|
+
setEnabled(enabled: boolean): void;
|
|
38
|
+
}, getHost: () => GizmoOperationHost | undefined, callbacks?: {
|
|
39
|
+
onAttachChanged?: (isAttached: boolean) => void;
|
|
40
|
+
}): void;
|
|
41
|
+
private _onDragStart;
|
|
42
|
+
private _performAltDragDuplicate;
|
|
43
|
+
private _captureMultiSelectState;
|
|
44
|
+
private _captureScalePreDrag;
|
|
45
|
+
private _onDragEnd;
|
|
46
|
+
/**
|
|
47
|
+
* 기즈모 드래그 결과를 컴포넌트 속성에 역변환하여 반영한다.
|
|
48
|
+
*/
|
|
49
|
+
private _syncFromGizmo;
|
|
50
|
+
/**
|
|
51
|
+
* scale 기즈모 드래그를 dimension 변경으로 역산한다.
|
|
52
|
+
* 축 매핑: scale.x → width, scale.y → depth, scale.z → height
|
|
53
|
+
* center 기준 양방향 확장.
|
|
54
|
+
*/
|
|
55
|
+
private _syncDimensionFromGizmo;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=gizmo-operation-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gizmo-operation-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/gizmo-operation-manager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,UAAU,IAAI,IAAI,CAAA;CACnB;AAcD;;;;;GAKG;AACH,qBAAa,qBAAqB;IAEhC,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAC5C,OAAO,CAAC,aAAa,CAAC,CAAqC;IAE3D,OAAO,CAAC,sBAAsB,CAAC,CAAQ;IAGvC,OAAO,CAAC,kBAAkB,CAAC,CAAoD;IAC/E,OAAO,CAAC,gBAAgB,CAAQ;IAGhC,OAAO,CAAC,mBAAmB,CAAC,CAAgC;IAC5D,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,4BAA4B,CAAC,CAA8B;IACnE,OAAO,CAAC,6BAA6B,CAAC,CAAqC;IAE3E;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIpC;;;;OAIG;IACH,cAAc,CACZ,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE;QAAE,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,EACvD,OAAO,EAAE,MAAM,kBAAkB,GAAG,SAAS,EAC7C,SAAS,CAAC,EAAE;QACV,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;KAChD,GACA,IAAI;IA6BP,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,wBAAwB;IA2ChC,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,UAAU;IAuClB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiEtB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;CAsBhC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { SceneManager } from './scene-manager.js';
|
|
2
|
+
export { CameraManager, type CameraViewName } from './camera-manager.js';
|
|
3
|
+
export { RendererManager } from './renderer-manager.js';
|
|
4
|
+
export { LightManager } from './light-manager.js';
|
|
5
|
+
export { ControlsManager } from './controls-manager.js';
|
|
6
|
+
export { EventManager3D } from './event-manager3d.js';
|
|
7
|
+
export { GizmoManager, type GizmoMode } from './gizmo-manager.js';
|
|
8
|
+
export { GizmoOperationManager, type GizmoOperationHost } from './gizmo-operation-manager.js';
|
|
9
|
+
export { InteractionManager, type InteractionDelegate } from './interaction-manager.js';
|
|
10
|
+
export { PlacementManager, type PlacementDelegate } from './placement-manager.js';
|
|
11
|
+
export type { CameraConfig, RendererConfig, LightingConfig } from './types.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAC7F,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACjF,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { GizmoManager } from './gizmo-manager.js';
|
|
2
|
+
import { ControlsManager } from './controls-manager.js';
|
|
3
|
+
import { CameraManager } from './camera-manager.js';
|
|
4
|
+
import { SceneManager } from './scene-manager.js';
|
|
5
|
+
import { EventManager3D } from './event-manager3d.js';
|
|
6
|
+
/**
|
|
7
|
+
* InteractionManager의 이벤트 처리를 위임받는 인터페이스.
|
|
8
|
+
* ThreeCapability가 이를 구현하여 InteractionManager에 전달한다.
|
|
9
|
+
*/
|
|
10
|
+
export interface InteractionDelegate {
|
|
11
|
+
/** MODE_ADD 배치 모드 활성 여부 */
|
|
12
|
+
isPlacementMode(): boolean;
|
|
13
|
+
/** MODE_ADD: 클릭으로 오브젝트 배치 */
|
|
14
|
+
handlePlacementClick(e: MouseEvent): void;
|
|
15
|
+
/** MODE_ADD: 마우스 이동 시 배치 인디케이터 갱신 */
|
|
16
|
+
handlePlacementHover(e: MouseEvent): void;
|
|
17
|
+
/** Alt+클릭: raycast로 오브젝트 선택 시도. 선택 성공 시 true 반환 */
|
|
18
|
+
tryAltClickSelect(e: MouseEvent): boolean;
|
|
19
|
+
/** mousedown 시 altKey 캡처 (기즈모 드래그 복제용) */
|
|
20
|
+
captureMouseDownAltKey(altKey: boolean): void;
|
|
21
|
+
/** 클릭(드래그 아닌) 시 오브젝트 선택 처리 */
|
|
22
|
+
handleClickAt(offsetX: number, offsetY: number, event: MouseEvent): void;
|
|
23
|
+
/** 휠 이벤트 */
|
|
24
|
+
handleWheel(e: WheelEvent): void;
|
|
25
|
+
/** 더블클릭 이벤트 */
|
|
26
|
+
handleDblClick(e: MouseEvent): void;
|
|
27
|
+
/** 터치 시작 */
|
|
28
|
+
handleTouchStart(e: TouchEvent): void;
|
|
29
|
+
/** 터치 이동 */
|
|
30
|
+
handleTouchMove(e: TouchEvent): void;
|
|
31
|
+
/** 터치 종료 */
|
|
32
|
+
handleTouchEnd(e: TouchEvent): void;
|
|
33
|
+
/** 키 입력. 처리했으면 true, 상위로 전파해야 하면 false */
|
|
34
|
+
handleKeyDown(e: KeyboardEvent): boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* DOM 이벤트 핸들링과 드래그 상태 관리를 담당하는 매니저.
|
|
38
|
+
*
|
|
39
|
+
* host element에 직접 DOM 이벤트 리스너를 등록하고 (ua-event-handler 우회),
|
|
40
|
+
* 드래그 감지, document capture, 기즈모 이벤트 포워딩을 관리한다.
|
|
41
|
+
* 실제 이벤트 처리 로직은 InteractionDelegate로 위임한다.
|
|
42
|
+
*/
|
|
43
|
+
export declare class InteractionManager {
|
|
44
|
+
private static readonly DRAG_THRESHOLD;
|
|
45
|
+
private _hostElement?;
|
|
46
|
+
private _mouseIsDown;
|
|
47
|
+
private _isDragging;
|
|
48
|
+
private _mouseDownPos;
|
|
49
|
+
private _boundHandlers?;
|
|
50
|
+
private _docMoveHandler?;
|
|
51
|
+
private _docUpHandler?;
|
|
52
|
+
private _gizmo?;
|
|
53
|
+
private _controls?;
|
|
54
|
+
private _camera?;
|
|
55
|
+
private _scene?;
|
|
56
|
+
private _event?;
|
|
57
|
+
private _delegate?;
|
|
58
|
+
get hostElement(): HTMLElement | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* host element에 직접 DOM 이벤트 리스너를 등록한다.
|
|
61
|
+
* stopPropagation()으로 ua-event-handler 도달을 차단한다.
|
|
62
|
+
*/
|
|
63
|
+
setup(hostElement: HTMLElement, deps: {
|
|
64
|
+
gizmo: GizmoManager;
|
|
65
|
+
controls: ControlsManager;
|
|
66
|
+
camera: CameraManager;
|
|
67
|
+
scene: SceneManager;
|
|
68
|
+
event: EventManager3D;
|
|
69
|
+
}, delegate: InteractionDelegate): void;
|
|
70
|
+
/**
|
|
71
|
+
* 모든 element/document 리스너를 해제한다.
|
|
72
|
+
*/
|
|
73
|
+
cleanup(): void;
|
|
74
|
+
/**
|
|
75
|
+
* 드래그 상태를 강제 정리한다.
|
|
76
|
+
* 모드 전환 시 드래그 진행 중이면 document capture 리스너가
|
|
77
|
+
* 고아가 되는 것을 방지한다.
|
|
78
|
+
*/
|
|
79
|
+
forceCleanupDragState(): void;
|
|
80
|
+
/**
|
|
81
|
+
* clientX/clientY를 element 기준 좌표로 변환한다.
|
|
82
|
+
*/
|
|
83
|
+
clientToElementCoords(clientX: number, clientY: number): {
|
|
84
|
+
x: number;
|
|
85
|
+
y: number;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* clientX/clientY → element-relative → NDC 통일 변환.
|
|
89
|
+
* 3D 렌더러는 DOM element 전체를 채우므로 element의 물리 좌표계만 사용한다.
|
|
90
|
+
* host.state의 논리 좌표나 transcoordC2S는 사용하지 않는다.
|
|
91
|
+
*/
|
|
92
|
+
updateMouseNDCFromClient(clientX: number, clientY: number): void;
|
|
93
|
+
private _onMouseDown;
|
|
94
|
+
private _onMouseMove;
|
|
95
|
+
/**
|
|
96
|
+
* document 캡처 리스너를 제거한다.
|
|
97
|
+
*/
|
|
98
|
+
private _removeDocCapture;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=interaction-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/interaction-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { LightingConfig } from './types.js';
|
|
3
|
+
export declare class LightManager {
|
|
4
|
+
private lights;
|
|
5
|
+
private _hemiLight?;
|
|
6
|
+
private _dirLight?;
|
|
7
|
+
private _scene?;
|
|
8
|
+
private _camera?;
|
|
9
|
+
get hemiLight(): THREE.HemisphereLight | undefined;
|
|
10
|
+
get dirLight(): THREE.DirectionalLight | undefined;
|
|
11
|
+
setup(scene: THREE.Scene, camera: THREE.Camera, config: LightingConfig): void;
|
|
12
|
+
updateHemisphere(props: {
|
|
13
|
+
skyColor?: number | string;
|
|
14
|
+
groundColor?: number | string;
|
|
15
|
+
intensity?: number;
|
|
16
|
+
}): void;
|
|
17
|
+
updateDirectional(props: {
|
|
18
|
+
color?: number | string;
|
|
19
|
+
intensity?: number;
|
|
20
|
+
}): void;
|
|
21
|
+
setDirectionalEnabled(enabled: boolean, config?: {
|
|
22
|
+
color?: number | string;
|
|
23
|
+
intensity?: number;
|
|
24
|
+
}): void;
|
|
25
|
+
destroy(): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=light-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/light-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,UAAU,CAAC,CAAuB;IAC1C,OAAO,CAAC,SAAS,CAAC,CAAwB;IAC1C,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAc;IAE9B,IAAI,SAAS,IAAI,KAAK,CAAC,eAAe,GAAG,SAAS,CAEjD;IAED,IAAI,QAAQ,IAAI,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAEjD;IAED,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc;IAoDtE,gBAAgB,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAOhH,iBAAiB,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAM/E,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAevG,OAAO;CAQR"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { CameraManager } from './camera-manager.js';
|
|
3
|
+
import { EventManager3D } from './event-manager3d.js';
|
|
4
|
+
import { SceneManager } from './scene-manager.js';
|
|
5
|
+
/**
|
|
6
|
+
* PlacementManager에 NDC 업데이트를 위임하는 인터페이스.
|
|
7
|
+
*/
|
|
8
|
+
export interface PlacementDelegate {
|
|
9
|
+
/** clientX/clientY → NDC 변환 */
|
|
10
|
+
updateMouseNDCFromClient(clientX: number, clientY: number): void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* MODE_ADD(오브젝트 배치) 로직을 관리하는 매니저.
|
|
14
|
+
*
|
|
15
|
+
* 3D 씬의 Y=0 평면에 레이캐스트하여 배치 위치를 결정하고,
|
|
16
|
+
* 반투명 링 인디케이터로 시각적 피드백을 제공한다.
|
|
17
|
+
*
|
|
18
|
+
* 인디케이터는 메인 씬에 추가되어 EffectComposer 파이프라인을 통해 렌더링된다.
|
|
19
|
+
*/
|
|
20
|
+
export declare class PlacementManager {
|
|
21
|
+
private _pendingModels?;
|
|
22
|
+
private _placementIndicator?;
|
|
23
|
+
private _groundPlane;
|
|
24
|
+
private _camera?;
|
|
25
|
+
private _event?;
|
|
26
|
+
private _scene?;
|
|
27
|
+
private _delegate?;
|
|
28
|
+
/** 배치 모드 활성 여부 */
|
|
29
|
+
get isActive(): boolean;
|
|
30
|
+
/** 현재 배치 대기 중인 모델 목록 */
|
|
31
|
+
get pendingModels(): any[] | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* 매니저 의존성을 설정한다.
|
|
34
|
+
*/
|
|
35
|
+
setup(deps: {
|
|
36
|
+
camera: CameraManager;
|
|
37
|
+
event: EventManager3D;
|
|
38
|
+
scene: SceneManager;
|
|
39
|
+
}, delegate: PlacementDelegate): void;
|
|
40
|
+
/**
|
|
41
|
+
* 배치 모드를 시작한다.
|
|
42
|
+
*/
|
|
43
|
+
start(models: any[]): void;
|
|
44
|
+
/**
|
|
45
|
+
* 배치 모드를 종료한다.
|
|
46
|
+
*/
|
|
47
|
+
stop(): void;
|
|
48
|
+
/**
|
|
49
|
+
* 리소스를 정리한다.
|
|
50
|
+
*/
|
|
51
|
+
destroy(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Y=0 평면에 마우스 레이캐스트하여 월드 좌표를 반환한다.
|
|
54
|
+
*/
|
|
55
|
+
raycastGroundPlane(e: MouseEvent): THREE.Vector3 | null;
|
|
56
|
+
/**
|
|
57
|
+
* 배치 위치 인디케이터를 갱신한다.
|
|
58
|
+
* 인디케이터는 메인 씬에 추가되어 EffectComposer를 통해 자연스럽게 렌더링된다.
|
|
59
|
+
*/
|
|
60
|
+
updateIndicator(worldPos: THREE.Vector3 | null): void;
|
|
61
|
+
/**
|
|
62
|
+
* 인디케이터를 씬에서 제거하고 정리한다.
|
|
63
|
+
*/
|
|
64
|
+
private _removeIndicator;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=placement-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/placement-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACjE;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,cAAc,CAAC,CAAO;IAC9B,OAAO,CAAC,mBAAmB,CAAC,CAAY;IACxC,OAAO,CAAC,YAAY,CAAiD;IAErE,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,kBAAkB;IAClB,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,wBAAwB;IACxB,IAAI,aAAa,IAAI,GAAG,EAAE,GAAG,SAAS,CAErC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE;QACV,MAAM,EAAE,aAAa,CAAA;QACrB,KAAK,EAAE,cAAc,CAAA;QACrB,KAAK,EAAE,YAAY,CAAA;KACpB,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAOrC;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IAI1B;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,kBAAkB,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI;IAcvD;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI;IAgCrD;;OAEG;IACH,OAAO,CAAC,gBAAgB;CASzB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js';
|
|
3
|
+
import { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer.js';
|
|
4
|
+
import { RendererConfig } from './types.js';
|
|
5
|
+
export declare class RendererManager {
|
|
6
|
+
private _renderer?;
|
|
7
|
+
private _css3DRenderer?;
|
|
8
|
+
private _css3DScene?;
|
|
9
|
+
private _composer?;
|
|
10
|
+
private _outlinePass?;
|
|
11
|
+
private _noSupportWebgl;
|
|
12
|
+
get renderer(): THREE.WebGLRenderer | undefined;
|
|
13
|
+
get css3DRenderer(): CSS3DRenderer;
|
|
14
|
+
get css3DScene(): THREE.Scene;
|
|
15
|
+
get composer(): EffectComposer | undefined;
|
|
16
|
+
get noSupportWebgl(): boolean;
|
|
17
|
+
get domElement(): HTMLCanvasElement | undefined;
|
|
18
|
+
setupWebGL(width: number, height: number, config: RendererConfig): boolean;
|
|
19
|
+
setupCSS3D(isViewMode: boolean, sceneAttr?: string): void;
|
|
20
|
+
private createCSS3DRenderer;
|
|
21
|
+
setupComposer(scene: THREE.Scene, camera: THREE.Camera, width: number, height: number, gizmoHelper?: THREE.Object3D): EffectComposer;
|
|
22
|
+
updateRenderPassCamera(camera: THREE.Camera): void;
|
|
23
|
+
/**
|
|
24
|
+
* 아웃라인을 표시할 오브젝트 목록을 설정한다.
|
|
25
|
+
*/
|
|
26
|
+
setOutlineObjects(objects: THREE.Object3D[]): void;
|
|
27
|
+
resize(width: number, height: number): void;
|
|
28
|
+
render(): void;
|
|
29
|
+
renderCSS3D(camera: THREE.Camera): void;
|
|
30
|
+
getSize(): {
|
|
31
|
+
width: number;
|
|
32
|
+
height: number;
|
|
33
|
+
};
|
|
34
|
+
destroy(): void;
|
|
35
|
+
disposeCSS3DScene(): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=renderer-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-manager.d.ts","sourceRoot":"","sources":["../../../src/threed/managers/renderer-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAA;AAKpF,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAqB;IACvC,OAAO,CAAC,cAAc,CAAC,CAAe;IACtC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,eAAe,CAAQ;IAE/B,IAAI,QAAQ,oCAEX;IAED,IAAI,aAAa,kBAKhB;IAED,IAAI,UAAU,gBAKb;IAED,IAAI,QAAQ,+BAEX;IAED,IAAI,cAAc,YAEjB;IAED,IAAI,UAAU,kCAEb;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO;IAuC1E,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM;IAmBlD,OAAO,CAAC,mBAAmB;IAI3B,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,QAAQ;IA4CnH,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM;IAS3C;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE;IAM3C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOpC,MAAM;IAIN,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM;IAIhC,OAAO,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAM5C,OAAO;IAQP,iBAAiB;CAMlB"}
|