@vyr/cli 0.0.12 → 0.0.13
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/.entry/app.js +362 -362
- package/build/index.html +1 -1
- package/build/js/{index.b67bf9b8.js → index.e0eed6ab.js} +1 -1
- package/build/js/{preview.ad0b8290.js → preview.ff6115f6.js} +1 -1
- package/build/login.html +1 -1
- package/build/preview.html +1 -1
- package/output/auto-provider-plugin/index.js +38 -0
- package/output/auto-provider-plugin/loader.js +53 -0
- package/output/auto-provider-plugin/package.json +1 -0
- package/output/builtin/build/common/example.d.ts +5 -0
- package/output/builtin/build/common/index.d.ts +3 -0
- package/output/builtin/build/common/provider.d.ts +5 -0
- package/output/builtin/build/common/save.d.ts +4 -0
- package/output/builtin/build/component/CodeEditor.vue.d.ts +11 -0
- package/output/builtin/build/component/ColorItem.vue.d.ts +27 -0
- package/output/builtin/build/component/DatasetItem.vue.d.ts +14 -0
- package/output/builtin/build/component/Directory.vue.d.ts +33 -0
- package/output/builtin/build/component/ErrorComponent.vue.d.ts +13 -0
- package/output/builtin/build/component/Graph.vue.d.ts +20 -0
- package/output/builtin/build/component/InputItem.vue.d.ts +19 -0
- package/output/builtin/build/component/InteractionItem.vue.d.ts +19 -0
- package/output/builtin/build/component/LoadingComponent.vue.d.ts +13 -0
- package/output/builtin/build/component/RuleItem.vue.d.ts +12 -0
- package/output/builtin/build/component/Timeline.vue.d.ts +7 -0
- package/output/builtin/build/component/VariableItem.vue.d.ts +14 -0
- package/output/builtin/build/component/WindowSetting.vue.d.ts +3 -0
- package/output/builtin/build/component/index.d.ts +14 -0
- package/output/builtin/build/fragment/AnimationUnitFragment.vue.d.ts +6 -0
- package/output/builtin/build/fragment/BaseFragment.vue.d.ts +6 -0
- package/output/builtin/build/fragment/DatasetFragment.vue.d.ts +3 -0
- package/output/builtin/build/fragment/DatasetInspectorFragment.vue.d.ts +13 -0
- package/output/builtin/build/fragment/DynamicFragment.vue.d.ts +3 -0
- package/output/builtin/build/fragment/HTMLFragment.vue.d.ts +16 -0
- package/output/builtin/build/fragment/InteractionInspectorFragment.vue.d.ts +21 -0
- package/output/builtin/build/fragment/PrefabFragment.vue.d.ts +3 -0
- package/output/builtin/build/fragment/PrefabInstanceFragment.vue.d.ts +3 -0
- package/output/builtin/build/fragment/SchedulerFragment.vue.d.ts +3 -0
- package/output/builtin/build/fragment/StyleFragment.vue.d.ts +8 -0
- package/output/builtin/build/index.d.ts +10 -0
- package/output/builtin/build/locale/Language.d.ts +3 -0
- package/output/builtin/build/locale/LanguageProvider.d.ts +326 -0
- package/output/builtin/build/locale/index.d.ts +2 -0
- package/output/builtin/build/option/Animation.d.ts +25 -0
- package/output/builtin/build/option/Color.d.ts +5 -0
- package/output/builtin/build/option/Dynamic.d.ts +5 -0
- package/output/builtin/build/option/HTML.d.ts +41 -0
- package/output/builtin/build/option/Net.d.ts +6 -0
- package/output/builtin/build/option/Preset.d.ts +8 -0
- package/output/builtin/build/option/Style.d.ts +76 -0
- package/output/builtin/build/option/Variable.d.ts +5 -0
- package/output/builtin/build/option/index.d.ts +17 -0
- package/output/builtin/build/preset/dataset.d.ts +8 -0
- package/output/builtin/build/preset/graphics.d.ts +8 -0
- package/output/builtin/build/preset/index.d.ts +3 -0
- package/output/builtin/build/preset/scheduler.d.ts +8 -0
- package/output/builtin/build/service/footer/action/AddDirAction.d.ts +10 -0
- package/output/builtin/build/service/footer/action/AddMoreAction.d.ts +26 -0
- package/output/builtin/build/service/footer/action/BackupAction.d.ts +10 -0
- package/output/builtin/build/service/footer/action/ControllerAction.d.ts +39 -0
- package/output/builtin/build/service/footer/action/CopyAction.d.ts +13 -0
- package/output/builtin/build/service/footer/action/CutAction.d.ts +13 -0
- package/output/builtin/build/service/footer/action/DeleteAction.d.ts +14 -0
- package/output/builtin/build/service/footer/action/EditFileAction.d.ts +15 -0
- package/output/builtin/build/service/footer/action/RenameAction.d.ts +13 -0
- package/output/builtin/build/service/footer/action/SelectAllAction.d.ts +14 -0
- package/output/builtin/build/service/footer/action/StickupAction.d.ts +16 -0
- package/output/builtin/build/service/footer/action/index.d.ts +11 -0
- package/output/builtin/build/service/footer/draggable/Draggable.d.ts +10 -0
- package/output/builtin/build/service/footer/draggable/index.d.ts +1 -0
- package/output/builtin/build/service/footer/index.d.ts +2 -0
- package/output/builtin/build/service/global/action/FooterAction.d.ts +18 -0
- package/output/builtin/build/service/global/action/RedoAction.d.ts +9 -0
- package/output/builtin/build/service/global/action/SidebarAction.d.ts +14 -0
- package/output/builtin/build/service/global/action/UndoAction.d.ts +9 -0
- package/output/builtin/build/service/global/action/index.d.ts +4 -0
- package/output/builtin/build/service/global/index.d.ts +2 -0
- package/output/builtin/build/service/global/scripts/index.d.ts +3 -0
- package/output/builtin/build/service/header/action/ExportProjectAction.d.ts +9 -0
- package/output/builtin/build/service/header/action/ExportSceneAction.d.ts +9 -0
- package/output/builtin/build/service/header/action/PreviewSceneAction.d.ts +14 -0
- package/output/builtin/build/service/header/action/index.d.ts +3 -0
- package/output/builtin/build/service/header/index.d.ts +1 -0
- package/output/builtin/build/service/index.d.ts +6 -0
- package/output/builtin/build/service/inspector/AnimationUnitViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/DatasetInspector.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/DatasetViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/DivViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/DynamicViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/InteractionInspector.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/PrefabInstanceViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/PrefabViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/ServiceSchedulerViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/ServiceViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/StyleViewer.vue.d.ts +7 -0
- package/output/builtin/build/service/inspector/asset/AssetInspector.vue.d.ts +3 -0
- package/output/builtin/build/service/inspector/draggable/Draggable.d.ts +10 -0
- package/output/builtin/build/service/inspector/draggable/index.d.ts +1 -0
- package/output/builtin/build/service/inspector/index.d.ts +1 -0
- package/output/builtin/build/service/inspector/scene/SceneInspector.vue.d.ts +3 -0
- package/output/builtin/build/service/sidebar/asset/Asset.vue.d.ts +3 -0
- package/output/builtin/build/service/sidebar/asset/AssetItem.vue.d.ts +18 -0
- package/output/builtin/build/service/sidebar/asset/AssetNavigator.d.ts +28 -0
- package/output/builtin/build/service/sidebar/asset/action/AddNodeAction.d.ts +54 -0
- package/output/builtin/build/service/sidebar/asset/action/ControllerAction.d.ts +36 -0
- package/output/builtin/build/service/sidebar/asset/action/CopyAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/asset/action/CutAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/asset/action/DeleteAction.d.ts +15 -0
- package/output/builtin/build/service/sidebar/asset/action/RenameAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/asset/action/SaveAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/asset/action/StickupAction.d.ts +15 -0
- package/output/builtin/build/service/sidebar/asset/action/index.d.ts +8 -0
- package/output/builtin/build/service/sidebar/asset/draggable/Draggable.d.ts +14 -0
- package/output/builtin/build/service/sidebar/asset/draggable/index.d.ts +1 -0
- package/output/builtin/build/service/sidebar/asset/index.d.ts +3 -0
- package/output/builtin/build/service/sidebar/index.d.ts +2 -0
- package/output/builtin/build/service/sidebar/scene/Scene.vue.d.ts +3 -0
- package/output/builtin/build/service/sidebar/scene/SceneItem.vue.d.ts +18 -0
- package/output/builtin/build/service/sidebar/scene/SceneNavigator.d.ts +36 -0
- package/output/builtin/build/service/sidebar/scene/action/AddNodeAction.d.ts +54 -0
- package/output/builtin/build/service/sidebar/scene/action/AddServiceAction.d.ts +54 -0
- package/output/builtin/build/service/sidebar/scene/action/ControllerAction.d.ts +39 -0
- package/output/builtin/build/service/sidebar/scene/action/CopyAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/scene/action/CutAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/scene/action/DeleteAction.d.ts +15 -0
- package/output/builtin/build/service/sidebar/scene/action/RenameAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/scene/action/SaveAction.d.ts +14 -0
- package/output/builtin/build/service/sidebar/scene/action/StickupAction.d.ts +15 -0
- package/output/builtin/build/service/sidebar/scene/action/index.d.ts +9 -0
- package/output/builtin/build/service/sidebar/scene/draggable/Draggable.d.ts +14 -0
- package/output/builtin/build/service/sidebar/scene/draggable/index.d.ts +1 -0
- package/output/builtin/build/service/sidebar/scene/index.d.ts +3 -0
- package/output/builtin/build/singleton/index.d.ts +1 -0
- package/output/builtin/build/singleton/rightMenu.d.ts +10 -0
- package/output/builtin/package.json +16 -0
- package/output/builtin/src/shims-vue.d.ts +10 -0
- package/output/class-wrapper-plugin/index.js +42 -0
- package/output/class-wrapper-plugin/loaders/descriptor.js +89 -0
- package/output/class-wrapper-plugin/loaders/dynamic-interpreter.js +54 -0
- package/output/class-wrapper-plugin/loaders/index.js +30 -0
- package/output/class-wrapper-plugin/loaders/input-system.js +31 -0
- package/output/class-wrapper-plugin/loaders/object-pool.js +79 -0
- package/output/class-wrapper-plugin/package.json +1 -0
- package/output/class-wrapper-plugin/utils.js +79 -0
- package/output/declare/package.json +1 -0
- package/output/declare/src/Config.ts +19 -0
- package/output/declare/src/Draggable.ts +10 -0
- package/output/declare/src/Extension.ts +12 -0
- package/output/declare/src/index.ts +3 -0
- package/output/declare/tsconfig.json +31 -0
- package/output/design/package.json +14 -0
- package/output/design/src/components/Button.vue +64 -0
- package/output/design/src/components/Card.vue +203 -0
- package/output/design/src/components/Cascader.vue +171 -0
- package/output/design/src/components/Checked.vue +124 -0
- package/output/design/src/components/CheckedGroup.vue +51 -0
- package/output/design/src/components/Col.vue +52 -0
- package/output/design/src/components/ColorPicker.vue +331 -0
- package/output/design/src/components/Confirm.vue +86 -0
- package/output/design/src/components/Dialog.vue +220 -0
- package/output/design/src/components/Divider.vue +40 -0
- package/output/design/src/components/Draggable.vue +50 -0
- package/output/design/src/components/Dropdown.vue +175 -0
- package/output/design/src/components/DynamicDialog.vue +113 -0
- package/output/design/src/components/DynamicLayouter.vue +235 -0
- package/output/design/src/components/Form.vue +88 -0
- package/output/design/src/components/Input.vue +254 -0
- package/output/design/src/components/InputNumber.vue +96 -0
- package/output/design/src/components/Label.vue +116 -0
- package/output/design/src/components/Loading.vue +196 -0
- package/output/design/src/components/Mask.vue +47 -0
- package/output/design/src/components/Notify.vue +130 -0
- package/output/design/src/components/Option.vue +159 -0
- package/output/design/src/components/Options.vue +202 -0
- package/output/design/src/components/Popover.vue +271 -0
- package/output/design/src/components/Provider.vue +12 -0
- package/output/design/src/components/RightMenu.vue +127 -0
- package/output/design/src/components/Row.vue +50 -0
- package/output/design/src/components/Scroll.vue +99 -0
- package/output/design/src/components/Select.vue +223 -0
- package/output/design/src/components/Slot.vue +23 -0
- package/output/design/src/components/SubTree.vue +262 -0
- package/output/design/src/components/Tree.vue +129 -0
- package/output/design/src/components/common/DraggableController.ts +113 -0
- package/output/design/src/components/common/ResizeListener.ts +49 -0
- package/output/design/src/components/composables/useDefaultProps.ts +179 -0
- package/output/design/src/components/composables/useDraggable.ts +65 -0
- package/output/design/src/components/composables/useGetter.ts +15 -0
- package/output/design/src/components/composables/useMarginStyle.ts +45 -0
- package/output/design/src/components/composables/usePopover.ts +33 -0
- package/output/design/src/components/composables/useProvider.ts +186 -0
- package/output/design/src/components/composables/useScroll.ts +46 -0
- package/output/design/src/components/composables/useSearch.ts +95 -0
- package/output/design/src/components/composables/useTimer.ts +5 -0
- package/output/design/src/components/index.ts +1 -0
- package/output/design/src/components/singleton/confirm.ts +25 -0
- package/output/design/src/components/singleton/dialog.ts +25 -0
- package/output/design/src/components/singleton/index.ts +5 -0
- package/output/design/src/components/singleton/loading.ts +36 -0
- package/output/design/src/components/singleton/notify.ts +36 -0
- package/output/design/src/components/types/index.ts +82 -0
- package/output/design/src/components/utils/Cascader.ts +52 -0
- package/output/design/src/components/utils/Confirm.ts +41 -0
- package/output/design/src/components/utils/Dialog.ts +38 -0
- package/output/design/src/components/utils/DynamicDialog.ts +41 -0
- package/output/design/src/components/utils/DynamicLayouter.ts +5 -0
- package/output/design/src/components/utils/FloatLayer.ts +40 -0
- package/output/design/src/components/utils/InputNumber.ts +3 -0
- package/output/design/src/components/utils/Notify.ts +25 -0
- package/output/design/src/components/utils/Popover.ts +58 -0
- package/output/design/src/components/utils/RightMenu.ts +21 -0
- package/output/design/src/components/utils/Scroll.ts +4 -0
- package/output/design/src/components/utils/Slot.ts +73 -0
- package/output/design/src/components/utils/index.ts +12 -0
- package/output/design/src/font/demo.css +539 -0
- package/output/design/src/font/demo_index.html +1292 -0
- package/output/design/src/font/iconfont.css +207 -0
- package/output/design/src/font/iconfont.js +1 -0
- package/output/design/src/font/iconfont.json +345 -0
- package/output/design/src/font/iconfont.ttf +0 -0
- package/output/design/src/font/iconfont.woff +0 -0
- package/output/design/src/font/iconfont.woff2 +0 -0
- package/output/design/src/index.ts +68 -0
- package/output/design/src/locale/Language.ts +10 -0
- package/output/design/src/locale/LanguageProvider.ts +38 -0
- package/output/design/src/locale/index.ts +2 -0
- package/output/design/src/theme/global.less +91 -0
- package/output/design/src/theme/index.ts +155 -0
- package/output/design/src/tool/ArrayUtils.ts +38 -0
- package/output/design/src/tool/Color.ts +7 -0
- package/output/design/src/tool/Draggable.ts +36 -0
- package/output/design/src/tool/Listener.ts +59 -0
- package/output/design/src/tool/index.ts +4 -0
- package/output/design/tsconfig.json +37 -0
- package/output/engine/package.json +1 -0
- package/output/engine/src/ArrayUtils.ts +65 -0
- package/output/engine/src/AsyncTask.ts +72 -0
- package/output/engine/src/Category.ts +119 -0
- package/output/engine/src/Color.ts +111 -0
- package/output/engine/src/Engine.ts +115 -0
- package/output/engine/src/Generate.ts +40 -0
- package/output/engine/src/InputSystem.ts +108 -0
- package/output/engine/src/Listener.ts +59 -0
- package/output/engine/src/ObjectPool.ts +84 -0
- package/output/engine/src/ObjectUtils.ts +49 -0
- package/output/engine/src/Serialization.ts +49 -0
- package/output/engine/src/Traverser.ts +39 -0
- package/output/engine/src/actor/Actor.ts +28 -0
- package/output/engine/src/actor/AnimationUnitActor.ts +289 -0
- package/output/engine/src/actor/DivActor.ts +70 -0
- package/output/engine/src/actor/FragmentActor.ts +56 -0
- package/output/engine/src/actor/HTMActor.ts +169 -0
- package/output/engine/src/actor/HTMServiceActor.ts +57 -0
- package/output/engine/src/actor/HTMTransformControllerActor.ts +409 -0
- package/output/engine/src/actor/StyleActor.ts +96 -0
- package/output/engine/src/actor/index.ts +8 -0
- package/output/engine/src/asset/Asset.ts +282 -0
- package/output/engine/src/asset/AssetGraph.ts +246 -0
- package/output/engine/src/asset/index.ts +2 -0
- package/output/engine/src/descriptor/AnimationUnitDescriptor.ts +65 -0
- package/output/engine/src/descriptor/CameraDescriptor.ts +12 -0
- package/output/engine/src/descriptor/ControllerDescriptor.ts +16 -0
- package/output/engine/src/descriptor/DatasetDescriptor.ts +90 -0
- package/output/engine/src/descriptor/Descriptor.ts +388 -0
- package/output/engine/src/descriptor/DivDescriptor.ts +18 -0
- package/output/engine/src/descriptor/DynamicDescriptor.ts +27 -0
- package/output/engine/src/descriptor/HTMLDescriptor.ts +87 -0
- package/output/engine/src/descriptor/HTMLServiceDescriptor.ts +19 -0
- package/output/engine/src/descriptor/HTMLTransformControllerDescriptor.ts +34 -0
- package/output/engine/src/descriptor/NodeDescriptor.ts +32 -0
- package/output/engine/src/descriptor/PrefabDescriptor.ts +53 -0
- package/output/engine/src/descriptor/PrefabInstanceDescriptor.ts +32 -0
- package/output/engine/src/descriptor/ServiceDescriptor.ts +32 -0
- package/output/engine/src/descriptor/ServiceSchedulerDescriptor.ts +32 -0
- package/output/engine/src/descriptor/StyleDescriptor.ts +213 -0
- package/output/engine/src/descriptor/index.ts +16 -0
- package/output/engine/src/graphics/Collection.ts +25 -0
- package/output/engine/src/graphics/Compilation.ts +74 -0
- package/output/engine/src/graphics/Graphics.ts +487 -0
- package/output/engine/src/graphics/Observer.ts +36 -0
- package/output/engine/src/graphics/Unit.ts +83 -0
- package/output/engine/src/graphics/VariableProxy.ts +92 -0
- package/output/engine/src/graphics/index.ts +5 -0
- package/output/engine/src/index.ts +27 -0
- package/output/engine/src/interaction/InteractionDescriptor.ts +96 -0
- package/output/engine/src/interaction/InteractionExecutor.ts +84 -0
- package/output/engine/src/interaction/Scriptable.ts +40 -0
- package/output/engine/src/interaction/index.ts +3 -0
- package/output/engine/src/interpreter/AnimationUnitInterpreter.ts +53 -0
- package/output/engine/src/interpreter/DatasetInterpreter.ts +11 -0
- package/output/engine/src/interpreter/DivInterpreter.ts +44 -0
- package/output/engine/src/interpreter/DynamicInterpreter.ts +207 -0
- package/output/engine/src/interpreter/FragmentInterpreter.ts +34 -0
- package/output/engine/src/interpreter/HTMLServiceInterpreter.ts +47 -0
- package/output/engine/src/interpreter/HTMLTransformControllerInterpreter.ts +40 -0
- package/output/engine/src/interpreter/Interpreter.ts +69 -0
- package/output/engine/src/interpreter/PrefaInterpreter.ts +11 -0
- package/output/engine/src/interpreter/PrefabInstanceInterpreter.ts +12 -0
- package/output/engine/src/interpreter/ServiceInterpreter.ts +24 -0
- package/output/engine/src/interpreter/ServiceSchedulerInterpreter.ts +42 -0
- package/output/engine/src/interpreter/StyleInterpreter.ts +66 -0
- package/output/engine/src/interpreter/index.ts +13 -0
- package/output/engine/src/locale/Language.ts +10 -0
- package/output/engine/src/locale/LanguageProvider.ts +52 -0
- package/output/engine/src/locale/index.ts +2 -0
- package/output/engine/src/math/Euler.ts +303 -0
- package/output/engine/src/math/Matrix4.ts +1123 -0
- package/output/engine/src/math/Quaternion.ts +737 -0
- package/output/engine/src/math/Vector2.ts +680 -0
- package/output/engine/src/math/Vector3.ts +1062 -0
- package/output/engine/src/math/index.ts +5 -0
- package/output/engine/src/math/utils.ts +17 -0
- package/output/engine/src/preset/execute/dataset/compile.ts +99 -0
- package/output/engine/src/preset/execute/dataset/index.ts +2 -0
- package/output/engine/src/preset/execute/dataset/update.ts +51 -0
- package/output/engine/src/preset/execute/graphics/index.ts +1 -0
- package/output/engine/src/preset/execute/graphics/invoke.ts +48 -0
- package/output/engine/src/preset/execute/index.ts +4 -0
- package/output/engine/src/preset/execute/net/http.ts +95 -0
- package/output/engine/src/preset/execute/net/index.ts +1 -0
- package/output/engine/src/preset/execute/scheduler/index.ts +1 -0
- package/output/engine/src/preset/execute/scheduler/switch.ts +46 -0
- package/output/engine/src/preset/index.ts +7 -0
- package/output/engine/src/preset/interaction/dataset/compile.ts +27 -0
- package/output/engine/src/preset/interaction/dataset/index.ts +1 -0
- package/output/engine/src/preset/interaction/graphics/index.ts +1 -0
- package/output/engine/src/preset/interaction/graphics/invoke.ts +27 -0
- package/output/engine/src/preset/interaction/index.ts +3 -0
- package/output/engine/src/preset/interaction/scheduler/index.ts +1 -0
- package/output/engine/src/preset/interaction/scheduler/switch.ts +27 -0
- package/output/engine/src/setup/index.ts +17 -0
- package/output/engine/src/utils/AssetProvider.ts +73 -0
- package/output/engine/src/utils/constants.ts +10 -0
- package/output/engine/src/utils/index.ts +2 -0
- package/output/engine/tsconfig.json +31 -0
- package/output/locale/build/index.d.ts +18 -0
- package/output/locale/build/index.js +71 -0
- package/output/locale/package.json +1 -0
- package/output/locale/src/index.ts +79 -0
- package/output/locale/tsconfig.json +29 -0
- package/output/remote/package.json +1 -0
- package/output/remote/src/Bridge.ts +133 -0
- package/output/remote/src/ChangeScriptable.ts +22 -0
- package/output/remote/src/Collection.ts +36 -0
- package/output/remote/src/RemoteExecutor.ts +519 -0
- package/output/remote/src/RemoteInvoker.ts +72 -0
- package/output/remote/src/RemoteProcess.ts +87 -0
- package/output/remote/src/index.ts +7 -0
- package/output/remote/src/job/IJob.ts +6 -0
- package/output/remote/src/job/Job.ts +16 -0
- package/output/remote/src/job/asset/add.ts +23 -0
- package/output/remote/src/job/asset/dragdrap.ts +24 -0
- package/output/remote/src/job/asset/index.ts +6 -0
- package/output/remote/src/job/asset/load.ts +20 -0
- package/output/remote/src/job/asset/remove.ts +20 -0
- package/output/remote/src/job/asset/unload.ts +18 -0
- package/output/remote/src/job/asset/update.ts +22 -0
- package/output/remote/src/job/bridge/connection.ts +18 -0
- package/output/remote/src/job/bridge/disconnect.ts +29 -0
- package/output/remote/src/job/bridge/index.ts +2 -0
- package/output/remote/src/job/index.ts +1 -0
- package/output/remote/src/job/invoke/alert.ts +20 -0
- package/output/remote/src/job/invoke/animation.ts +45 -0
- package/output/remote/src/job/invoke/event.ts +40 -0
- package/output/remote/src/job/invoke/index.ts +8 -0
- package/output/remote/src/job/invoke/orbit.ts +20 -0
- package/output/remote/src/job/invoke/pick.ts +15 -0
- package/output/remote/src/job/invoke/properties.ts +43 -0
- package/output/remote/src/job/invoke/screenshot.ts +35 -0
- package/output/remote/src/job/invoke/transform.ts +36 -0
- package/output/remote/src/job/scene/add.ts +22 -0
- package/output/remote/src/job/scene/dragdrap.ts +23 -0
- package/output/remote/src/job/scene/index.ts +6 -0
- package/output/remote/src/job/scene/load.ts +19 -0
- package/output/remote/src/job/scene/remove.ts +19 -0
- package/output/remote/src/job/scene/unload.ts +17 -0
- package/output/remote/src/job/scene/update.ts +20 -0
- package/output/remote/src/locale/Language.ts +10 -0
- package/output/remote/src/locale/LanguageProvider.ts +15 -0
- package/output/remote/src/locale/index.ts +2 -0
- package/output/remote/src/utils/index.ts +85 -0
- package/output/remote/src/utils/screenshot.ts +20 -0
- package/output/remote/tsconfig.json +31 -0
- package/output/rollup-config-plugin/index.js +46 -0
- package/output/rollup-config-plugin/package.json +8 -0
- package/output/runtime/build/Action.d.ts +42 -0
- package/output/runtime/build/DataService.d.ts +22 -0
- package/output/runtime/build/DraggableService.d.ts +37 -0
- package/output/runtime/build/InspectorService.d.ts +18 -0
- package/output/runtime/build/PresetService.d.ts +32 -0
- package/output/runtime/build/RemoteService.d.ts +12 -0
- package/output/runtime/build/Runtime.d.ts +8 -0
- package/output/runtime/build/ShortcutkeyService.d.ts +23 -0
- package/output/runtime/build/data/body.d.ts +13 -0
- package/output/runtime/build/data/footer.d.ts +42 -0
- package/output/runtime/build/data/global.d.ts +15 -0
- package/output/runtime/build/data/header.d.ts +11 -0
- package/output/runtime/build/data/inspector.d.ts +10 -0
- package/output/runtime/build/data/sidebar.d.ts +11 -0
- package/output/runtime/build/data/status.d.ts +17 -0
- package/output/runtime/build/index.d.ts +10 -0
- package/output/runtime/build/locale/Language.d.ts +3 -0
- package/output/runtime/build/locale/LanguageProvider.d.ts +31 -0
- package/output/runtime/build/locale/index.d.ts +2 -0
- package/output/runtime/build/navigator/SidebarNavigator.d.ts +52 -0
- package/output/runtime/build/navigator/index.d.ts +1 -0
- package/output/runtime/package.json +16 -0
- package/output/service/package.json +1 -0
- package/output/service/src/Service.ts +44 -0
- package/output/service/src/index.ts +2 -0
- package/output/service/src/locale/Language.ts +10 -0
- package/output/service/src/locale/LanguageProvider.ts +15 -0
- package/output/service/src/locale/index.ts +2 -0
- package/output/service/tsconfig.json +31 -0
- package/output/service-asset/package.json +1 -0
- package/output/service-asset/src/AssetMethodProvider.ts +132 -0
- package/output/service-asset/src/AssetService.ts +102 -0
- package/output/service-asset/src/index.ts +2 -0
- package/output/service-asset/src/locale/Language.ts +10 -0
- package/output/service-asset/src/locale/LanguageProvider.ts +15 -0
- package/output/service-asset/src/locale/index.ts +2 -0
- package/output/service-asset/tsconfig.json +31 -0
- package/output/service-graph/package.json +1 -0
- package/output/service-graph/src/GraphDrawer.ts +309 -0
- package/output/service-graph/src/GraphService.ts +181 -0
- package/output/service-graph/src/asset/font/demo.css +539 -0
- package/output/service-graph/src/asset/font/demo_index.html +326 -0
- package/output/service-graph/src/asset/font/iconfont.css +39 -0
- package/output/service-graph/src/asset/font/iconfont.js +1 -0
- package/output/service-graph/src/asset/font/iconfont.json +51 -0
- package/output/service-graph/src/asset/font/iconfont.ttf +0 -0
- package/output/service-graph/src/asset/font/iconfont.woff +0 -0
- package/output/service-graph/src/asset/font/iconfont.woff2 +0 -0
- package/output/service-graph/src/asset/less/index.less +108 -0
- package/output/service-graph/src/common/InteractionUnit.ts +65 -0
- package/output/service-graph/src/common/Unit.ts +172 -0
- package/output/service-graph/src/index.ts +7 -0
- package/output/service-graph/src/locale/Language.ts +10 -0
- package/output/service-graph/src/locale/LanguageProvider.ts +16 -0
- package/output/service-graph/src/locale/index.ts +2 -0
- package/output/service-graph/tsconfig.json +34 -0
- package/output/service-rpc/package.json +1 -0
- package/output/service-rpc/src/IMessage.ts +14 -0
- package/output/service-rpc/src/Message.ts +17 -0
- package/output/service-rpc/src/Operation.ts +113 -0
- package/output/service-rpc/src/RpcService.ts +122 -0
- package/output/service-rpc/src/Scheme.ts +20 -0
- package/output/service-rpc/src/UseRecord.ts +50 -0
- package/output/service-rpc/src/User.ts +21 -0
- package/output/service-rpc/src/VirtualNode.ts +107 -0
- package/output/service-rpc/src/asset/add.ts +35 -0
- package/output/service-rpc/src/asset/close.ts +35 -0
- package/output/service-rpc/src/asset/copy.ts +23 -0
- package/output/service-rpc/src/asset/create.ts +39 -0
- package/output/service-rpc/src/asset/cut.ts +23 -0
- package/output/service-rpc/src/asset/delete.ts +28 -0
- package/output/service-rpc/src/asset/dragdrap.ts +36 -0
- package/output/service-rpc/src/asset/index.ts +13 -0
- package/output/service-rpc/src/asset/initialize.ts +24 -0
- package/output/service-rpc/src/asset/open.ts +35 -0
- package/output/service-rpc/src/asset/remove.ts +29 -0
- package/output/service-rpc/src/asset/rename.ts +21 -0
- package/output/service-rpc/src/asset/select.ts +19 -0
- package/output/service-rpc/src/asset/update.ts +39 -0
- package/output/service-rpc/src/dep/add.ts +22 -0
- package/output/service-rpc/src/dep/create.ts +23 -0
- package/output/service-rpc/src/dep/delete.ts +23 -0
- package/output/service-rpc/src/dep/index.ts +5 -0
- package/output/service-rpc/src/dep/remove.ts +23 -0
- package/output/service-rpc/src/dep/update.ts +22 -0
- package/output/service-rpc/src/index.ts +14 -0
- package/output/service-rpc/src/locale/Language.ts +10 -0
- package/output/service-rpc/src/locale/LanguageProvider.ts +15 -0
- package/output/service-rpc/src/locale/index.ts +2 -0
- package/output/service-rpc/src/rpc/confirm.ts +32 -0
- package/output/service-rpc/src/rpc/connection.ts +20 -0
- package/output/service-rpc/src/rpc/disconnect.ts +20 -0
- package/output/service-rpc/src/rpc/getUser.ts +37 -0
- package/output/service-rpc/src/rpc/index.ts +9 -0
- package/output/service-rpc/src/rpc/login.ts +35 -0
- package/output/service-rpc/src/rpc/logout.ts +20 -0
- package/output/service-rpc/src/rpc/redo.ts +18 -0
- package/output/service-rpc/src/rpc/undo.ts +18 -0
- package/output/service-rpc/src/scene/add.ts +35 -0
- package/output/service-rpc/src/scene/create.ts +28 -0
- package/output/service-rpc/src/scene/delete.ts +27 -0
- package/output/service-rpc/src/scene/download.ts +20 -0
- package/output/service-rpc/src/scene/dragdrap.ts +36 -0
- package/output/service-rpc/src/scene/index.ts +10 -0
- package/output/service-rpc/src/scene/initialize.ts +36 -0
- package/output/service-rpc/src/scene/record.ts +22 -0
- package/output/service-rpc/src/scene/remove.ts +28 -0
- package/output/service-rpc/src/scene/switch.ts +37 -0
- package/output/service-rpc/src/scene/update.ts +34 -0
- package/output/service-rpc/src/sidebar/index.ts +1 -0
- package/output/service-rpc/src/sidebar/switch.ts +35 -0
- package/output/service-rpc/tsconfig.json +31 -0
- package/output/service-scene/package.json +1 -0
- package/output/service-scene/src/SceneMethodProvider.ts +129 -0
- package/output/service-scene/src/SceneService.ts +78 -0
- package/output/service-scene/src/index.ts +2 -0
- package/output/service-scene/src/locale/Language.ts +10 -0
- package/output/service-scene/src/locale/LanguageProvider.ts +15 -0
- package/output/service-scene/src/locale/index.ts +2 -0
- package/output/service-scene/tsconfig.json +31 -0
- package/output/var-rename-plugin/index.js +74 -0
- package/output/var-rename-plugin/package.json +1 -0
- package/package.json +1 -1
- /package/build/js/{1111.d7fb9219.js → 1111.1f95eaf7.js} +0 -0
- /package/build/js/{chunk-vendors.fea3dfe0.js → chunk-vendors.f015a48a.js} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
interface SnowAssets { }
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export * from './locale'
|
|
6
|
+
export * from './math'
|
|
7
|
+
export * from './Color'
|
|
8
|
+
export * from './Serialization'
|
|
9
|
+
export { Category } from './Category'
|
|
10
|
+
export { ArrayUtils } from './ArrayUtils'
|
|
11
|
+
export { ObjectUtils } from './ObjectUtils'
|
|
12
|
+
export { Generate } from './Generate'
|
|
13
|
+
export { Traverser } from './Traverser'
|
|
14
|
+
export { Listener } from './Listener'
|
|
15
|
+
export { InputSystem } from './InputSystem'
|
|
16
|
+
export { destroyInstance } from './ObjectPool'
|
|
17
|
+
export * from './AsyncTask'
|
|
18
|
+
export * from './interaction/Scriptable'
|
|
19
|
+
export * from './interaction'
|
|
20
|
+
export * from './descriptor'
|
|
21
|
+
export * from './interpreter'
|
|
22
|
+
export * from './utils'
|
|
23
|
+
export * from './actor'
|
|
24
|
+
export * from './graphics'
|
|
25
|
+
export * from './asset'
|
|
26
|
+
export * from './preset'
|
|
27
|
+
export * from './Engine'
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { DeserializationObject, Serialization } from "../Serialization";
|
|
2
|
+
import { Descriptor } from "../descriptor";
|
|
3
|
+
import { AssetProperty, AssetPropertyCollection } from "../asset";
|
|
4
|
+
import { Graphics } from "../graphics";
|
|
5
|
+
import { InteractionExecutor } from "./InteractionExecutor";
|
|
6
|
+
|
|
7
|
+
interface InteractionInput {
|
|
8
|
+
[param: string]: {
|
|
9
|
+
type?: 'data' | string
|
|
10
|
+
value: any
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface InteractionInputCollection {
|
|
15
|
+
[id: string]: InteractionInput
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface InteractionProperty extends AssetProperty {
|
|
19
|
+
uuid: string
|
|
20
|
+
type: string
|
|
21
|
+
inputs: InteractionInputCollection
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface InteractionPropertyCollection extends AssetPropertyCollection<InteractionProperty> { }
|
|
25
|
+
|
|
26
|
+
interface InteractionNode {
|
|
27
|
+
id: string
|
|
28
|
+
label: string
|
|
29
|
+
position: { x: number; y: number }
|
|
30
|
+
interaction: string
|
|
31
|
+
url: string
|
|
32
|
+
input: InteractionInput
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
interface InteractionMapper {
|
|
36
|
+
source: string
|
|
37
|
+
target: string
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const privateState = {
|
|
41
|
+
executorPool: new WeakMap<Descriptor, InteractionExecutor>()
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
class InteractionDescriptor extends Descriptor {
|
|
45
|
+
static type = 'Interaction'
|
|
46
|
+
roots: string[]
|
|
47
|
+
nodes: InteractionNode[]
|
|
48
|
+
mappers: InteractionMapper[]
|
|
49
|
+
|
|
50
|
+
constructor(descriptor: Partial<DeserializationObject<InteractionDescriptor>> = {}) {
|
|
51
|
+
super(descriptor)
|
|
52
|
+
this.roots = descriptor.roots ? Serialization.deepClone(descriptor.roots) : []
|
|
53
|
+
this.nodes = descriptor.nodes ? Serialization.deepClone(descriptor.nodes) : []
|
|
54
|
+
this.mappers = descriptor.mappers ? Serialization.deepClone(descriptor.mappers) : []
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
addNode(nodes: InteractionNode[]) {
|
|
58
|
+
const count = nodes.length
|
|
59
|
+
const max = count - 1
|
|
60
|
+
for (let i = 0; i < count; i++) {
|
|
61
|
+
const node = nodes[i]
|
|
62
|
+
this.nodes.push(node)
|
|
63
|
+
if (i < max) {
|
|
64
|
+
this.mappers.push({ source: node.id, target: nodes[i + 1].id })
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
async execute(customInputs: InteractionInputCollection, graphics: Graphics, trigger: Descriptor, otherArgs?: { [k: string]: any }) {
|
|
70
|
+
let executor = privateState.executorPool.get(this)
|
|
71
|
+
if (executor === undefined) {
|
|
72
|
+
executor = new InteractionExecutor()
|
|
73
|
+
executor.update(this)
|
|
74
|
+
privateState.executorPool.set(this, executor)
|
|
75
|
+
}
|
|
76
|
+
await executor.execute(customInputs, this, graphics, trigger,otherArgs)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
setNeedsUpdate() {
|
|
80
|
+
const executor = privateState.executorPool.get(this)
|
|
81
|
+
if (executor === undefined) return
|
|
82
|
+
executor.update(this)
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
Descriptor.register(InteractionDescriptor)
|
|
87
|
+
|
|
88
|
+
export {
|
|
89
|
+
InteractionInput,
|
|
90
|
+
InteractionInputCollection,
|
|
91
|
+
InteractionProperty,
|
|
92
|
+
InteractionPropertyCollection,
|
|
93
|
+
InteractionNode,
|
|
94
|
+
InteractionMapper,
|
|
95
|
+
InteractionDescriptor,
|
|
96
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Asset } from "../asset"
|
|
2
|
+
import { Scriptable } from "./Scriptable"
|
|
3
|
+
import { InteractionDescriptor, InteractionInputCollection, InteractionNode } from "./InteractionDescriptor"
|
|
4
|
+
import { Graphics } from "../graphics/Graphics"
|
|
5
|
+
|
|
6
|
+
type ExecuteResult = { [k: string]: any } | null
|
|
7
|
+
|
|
8
|
+
class InteractionExecutor {
|
|
9
|
+
readonly collection = new Map<string, InteractionNode>()
|
|
10
|
+
readonly linkCollection = new Map<string, string[]>()
|
|
11
|
+
|
|
12
|
+
update(interaction: InteractionDescriptor) {
|
|
13
|
+
this.collection.clear()
|
|
14
|
+
this.linkCollection.clear()
|
|
15
|
+
|
|
16
|
+
for (const node of interaction.nodes) {
|
|
17
|
+
this.collection.set(node.id, node)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
for (const mapper of interaction.mappers) {
|
|
21
|
+
let link = this.linkCollection.get(mapper.source)
|
|
22
|
+
if (link === undefined) {
|
|
23
|
+
link = []
|
|
24
|
+
this.linkCollection.set(mapper.source, link)
|
|
25
|
+
}
|
|
26
|
+
link.push(mapper.target)
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
async doBranch(branch: string, previous: string, customInputs: InteractionInputCollection, interaction: InteractionDescriptor, graphics: Graphics, result: Map<string, ExecuteResult>, trigger: any, otherArgs?: any) {
|
|
31
|
+
await this.doExecute(branch, previous, customInputs, interaction, graphics, result, trigger, otherArgs)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async doCondition(condition: string, previous: string, customInputs: InteractionInputCollection, interaction: InteractionDescriptor, graphics: Graphics, result: Map<string, ExecuteResult>, trigger: any, otherArgs?: any) {
|
|
35
|
+
const preResult = result.get(previous)
|
|
36
|
+
const conditionResult = result.get(condition)
|
|
37
|
+
if (preResult !== conditionResult?.condition.value) return
|
|
38
|
+
|
|
39
|
+
await this.doExecute(condition, previous, customInputs, interaction, graphics, result, trigger, otherArgs)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async doExecute(execute: string, previous: string, customInputs: InteractionInputCollection, interaction: InteractionDescriptor, graphics: Graphics, result: Map<string, ExecuteResult>, trigger: any, otherArgs?: any) {
|
|
43
|
+
const nexts = this.linkCollection.get(execute)
|
|
44
|
+
if (nexts === undefined) return
|
|
45
|
+
|
|
46
|
+
for (const next of nexts) {
|
|
47
|
+
await this.doNext(next, execute, customInputs, interaction, graphics, result, trigger, otherArgs)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async doNext(current: string, previous: string, customInputs: InteractionInputCollection, interaction: InteractionDescriptor, graphics: Graphics, result: Map<string, ExecuteResult>, trigger: any, otherArgs?: any) {
|
|
52
|
+
const active = this.collection.get(current)
|
|
53
|
+
if (active === undefined) return
|
|
54
|
+
|
|
55
|
+
const currentInput = customInputs[current] ?? {}
|
|
56
|
+
const script = Asset.get<Scriptable>(active.url)
|
|
57
|
+
if (script) {
|
|
58
|
+
const args = { input: { previous, default: active.input, user: currentInput }, result, trigger }
|
|
59
|
+
if (otherArgs) Object.assign(args, otherArgs)
|
|
60
|
+
const executeResult = await script.execute(graphics, args)
|
|
61
|
+
result.set(current, executeResult)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (active.interaction === 'Branch') {
|
|
65
|
+
await this.doBranch(current, previous, customInputs, interaction, graphics, result, trigger, otherArgs)
|
|
66
|
+
} else if (active.interaction === 'Condition') {
|
|
67
|
+
if (result.has(current) === false) result.set(current, active.input)
|
|
68
|
+
await this.doCondition(current, previous, customInputs, interaction, graphics, result, trigger, otherArgs)
|
|
69
|
+
} else {
|
|
70
|
+
await this.doExecute(current, previous, customInputs, interaction, graphics, result, trigger, otherArgs)
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
async execute(customInputs: InteractionInputCollection, interaction: InteractionDescriptor, graphics: Graphics, trigger: any, otherArgs?: any) {
|
|
75
|
+
for (const root of interaction.roots) {
|
|
76
|
+
const resultCollection = new Map()
|
|
77
|
+
await this.doNext(root, '', customInputs, interaction, graphics, resultCollection, trigger, otherArgs)
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export {
|
|
83
|
+
InteractionExecutor
|
|
84
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Descriptor } from "../descriptor"
|
|
2
|
+
import { Graphics } from "../graphics/Graphics"
|
|
3
|
+
import { InteractionInput } from "./InteractionDescriptor";
|
|
4
|
+
|
|
5
|
+
interface ScriptableInput<T = InteractionInput> {
|
|
6
|
+
previous: string;
|
|
7
|
+
default: T,
|
|
8
|
+
user: T
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interface ScriptableArgs<T = InteractionInput, R = Map<string, any>, I = ScriptableInput<T>> {
|
|
12
|
+
input: I,
|
|
13
|
+
result: R,
|
|
14
|
+
trigger: Descriptor
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 可编程脚本(脚本不会在服务端实例化)
|
|
19
|
+
*/
|
|
20
|
+
class Scriptable<T extends ScriptableArgs<any, any, any> = ScriptableArgs> {
|
|
21
|
+
readonly uuid
|
|
22
|
+
/**脚本文件的url路径 */
|
|
23
|
+
get url() {
|
|
24
|
+
return this.uuid
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
constructor(url: string) {
|
|
28
|
+
this.uuid = url
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**脚本的准备事件,该方法在脚本被实例化后立即执行
|
|
32
|
+
*
|
|
33
|
+
* 一般在该事件中进行脚本的准备工作,如从服务端获取资源或数据
|
|
34
|
+
*/
|
|
35
|
+
async ready() { }
|
|
36
|
+
|
|
37
|
+
execute(graphics: Graphics, args: T): any { }
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { ScriptableArgs, Scriptable }
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { AnimationUnitDescriptor, Descriptor } from '../descriptor';
|
|
2
|
+
import { ArrayUtils } from '../ArrayUtils';
|
|
3
|
+
import { Interpreter } from './Interpreter'
|
|
4
|
+
import { AnimationUnitActor } from "../actor";
|
|
5
|
+
|
|
6
|
+
const privateState = {
|
|
7
|
+
collection: [] as AnimationUnitActor[],
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
class AnimationUnitInterpreter extends Interpreter {
|
|
11
|
+
static type = AnimationUnitDescriptor.type
|
|
12
|
+
static enabled = true
|
|
13
|
+
static reset(time = 0) {
|
|
14
|
+
const enabled = AnimationUnitInterpreter.enabled
|
|
15
|
+
AnimationUnitInterpreter.enabled = true
|
|
16
|
+
for (const animationUnit of privateState.collection) {
|
|
17
|
+
animationUnit.reset(time)
|
|
18
|
+
}
|
|
19
|
+
AnimationUnitInterpreter.enabled = enabled
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
animationUnit: AnimationUnitActor | null = null
|
|
23
|
+
|
|
24
|
+
freeUnit() {
|
|
25
|
+
if (this.animationUnit === null) return
|
|
26
|
+
ArrayUtils.remove(privateState.collection, this.animationUnit)
|
|
27
|
+
this.animationUnit.unlisten()
|
|
28
|
+
this.animationUnit = null
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
update(descriptor: AnimationUnitDescriptor) {
|
|
33
|
+
super.update(descriptor)
|
|
34
|
+
|
|
35
|
+
this.freeUnit()
|
|
36
|
+
|
|
37
|
+
const parentDescriptor = AnimationUnitDescriptor.get<AnimationUnitDescriptor>(this.unit.parent)
|
|
38
|
+
if (parentDescriptor === null) return
|
|
39
|
+
|
|
40
|
+
this.animationUnit = AnimationUnitActor.parse(descriptor)
|
|
41
|
+
ArrayUtils.insert(privateState.collection, this.animationUnit)
|
|
42
|
+
this.animationUnit.setTarget(parentDescriptor)
|
|
43
|
+
this.animationUnit.listen(this.graphics)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
unmount(descriptor: AnimationUnitDescriptor, parentInterpreter: Interpreter, parentDescriptor: Descriptor) {
|
|
47
|
+
this.freeUnit()
|
|
48
|
+
super.unmount(descriptor, parentInterpreter, parentDescriptor)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
Interpreter.register(AnimationUnitInterpreter)
|
|
52
|
+
|
|
53
|
+
export { AnimationUnitInterpreter }
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DatasetDescriptor } from "../descriptor";
|
|
2
|
+
import { Interpreter } from "./Interpreter";
|
|
3
|
+
|
|
4
|
+
class DatasetInterpreter extends Interpreter {
|
|
5
|
+
static type = DatasetDescriptor.type
|
|
6
|
+
}
|
|
7
|
+
Interpreter.register(DatasetInterpreter)
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
DatasetInterpreter
|
|
11
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Descriptor, DivDescriptor } from "../descriptor"
|
|
2
|
+
import { Interpreter } from "./Interpreter"
|
|
3
|
+
import { DivActor, HTMLActor } from "../actor"
|
|
4
|
+
import { PickupObject } from "../graphics"
|
|
5
|
+
|
|
6
|
+
class DivInterpreter extends Interpreter {
|
|
7
|
+
static type = DivDescriptor.type
|
|
8
|
+
|
|
9
|
+
protected createActor(descriptor: DivDescriptor) {
|
|
10
|
+
return new DivActor(descriptor.uuid)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
update(descriptor: DivDescriptor) {
|
|
14
|
+
super.update(descriptor)
|
|
15
|
+
const actor = this.getActor<DivActor>(descriptor)
|
|
16
|
+
actor.update(descriptor)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
mount(descriptor: DivDescriptor, parentInterpreter: Interpreter, parentDescriptor: Descriptor) {
|
|
20
|
+
super.mount(descriptor, parentInterpreter, parentDescriptor)
|
|
21
|
+
const actor = this.getActor<DivActor>(descriptor)
|
|
22
|
+
|
|
23
|
+
const parenActor = parentInterpreter.getActor<HTMLActor>(parentDescriptor)
|
|
24
|
+
parenActor.add(actor)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
unmount(descriptor: DivDescriptor, parentInterpreter: Interpreter, parentDescriptor: Descriptor) {
|
|
28
|
+
const actor = this.getActor<DivActor>(descriptor)
|
|
29
|
+
actor.clearStyleClass(actor.DOM)
|
|
30
|
+
actor.cleanInteraction()
|
|
31
|
+
|
|
32
|
+
const parenActor = parentInterpreter.getActor<HTMLActor>(parentDescriptor)
|
|
33
|
+
parenActor.remove(actor)
|
|
34
|
+
|
|
35
|
+
super.unmount(descriptor, parentInterpreter, parentDescriptor)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
pickup(descriptor: DivDescriptor, result: PickupObject[]) {
|
|
39
|
+
result.push({ uuid: descriptor.uuid, generatedBy: descriptor.generatedBy })
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
Interpreter.register(DivInterpreter)
|
|
43
|
+
|
|
44
|
+
export { DivInterpreter }
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { ArrayUtils } from "../ArrayUtils"
|
|
2
|
+
import { Asset } from "../asset"
|
|
3
|
+
import { DynamicDescriptor, Descriptor, Data, DatasetDescriptor, PrefabeDescriptor } from "../descriptor"
|
|
4
|
+
import { observer, UpdateWatcherArgs, WatcherArgs } from "../graphics"
|
|
5
|
+
import { Category } from "../Category"
|
|
6
|
+
import { FragmentInterpreter, Interpreter } from "."
|
|
7
|
+
|
|
8
|
+
class DynamicInterpreter extends FragmentInterpreter {
|
|
9
|
+
static type = DynamicDescriptor.type
|
|
10
|
+
|
|
11
|
+
private _currentDepth = 0
|
|
12
|
+
private _datasetCloneCollection = new Map<string, DatasetDescriptor>()
|
|
13
|
+
private _rawToCloneCollection = new Map<string, Descriptor[]>()
|
|
14
|
+
private _cloneCollection = new Map<number, Descriptor>()
|
|
15
|
+
|
|
16
|
+
private _getDataset(descriptor: Descriptor, dataCollection: Data, i: number) {
|
|
17
|
+
const url = Asset.createVirtualUrl(`dynamic/dataset/${descriptor.uuid}-${i}-${this._currentDepth}${Category.datasetSuffix}`)
|
|
18
|
+
if (this._datasetCloneCollection.has(url)) return url
|
|
19
|
+
const data = dataCollection[i]
|
|
20
|
+
const dataset = new DatasetDescriptor()
|
|
21
|
+
dataset.setExtraData({ index: i })
|
|
22
|
+
dataset.setData(data)
|
|
23
|
+
Asset.set(url, dataset)
|
|
24
|
+
this._datasetCloneCollection.set(url, dataset)
|
|
25
|
+
return url
|
|
26
|
+
}
|
|
27
|
+
private _getDataByDataset<T extends Data | null = Data | null>(url: string) {
|
|
28
|
+
const dataset = this._datasetCloneCollection.get(url)
|
|
29
|
+
|
|
30
|
+
return (dataset?.getData() ?? null) as T
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
private _setCache(raw: Descriptor, clone: Descriptor) {
|
|
34
|
+
let clones = this._rawToCloneCollection.get(raw.uuid)
|
|
35
|
+
if (clones === undefined) {
|
|
36
|
+
clones = []
|
|
37
|
+
this._rawToCloneCollection.set(raw.uuid, clones)
|
|
38
|
+
}
|
|
39
|
+
clones.push(clone)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
private _markSubDynamic(raw: DynamicDescriptor, parent: Descriptor, generatedBy: string, map: Map<string, Descriptor>, childs: Descriptor[]) {
|
|
43
|
+
this._currentDepth += 1
|
|
44
|
+
const template = Asset.get<Descriptor>(raw.url)
|
|
45
|
+
if (raw.dataConfig === 2) {
|
|
46
|
+
const parentData = this._getDataByDataset(parent.dataset)
|
|
47
|
+
if (parentData === null || typeof parentData !== 'object') return
|
|
48
|
+
//TODO 使用路径解析工具,实现更强大属性支持
|
|
49
|
+
const pathData = parentData[raw.dataPath]
|
|
50
|
+
if (Array.isArray(pathData) === false || pathData.length === 0) return
|
|
51
|
+
|
|
52
|
+
for (let i = 0; i < pathData.length; i++) {
|
|
53
|
+
const dataset = this._getDataset(raw, pathData, i)
|
|
54
|
+
const clone = this._markAndClone(template, dataset, generatedBy, map, childs)
|
|
55
|
+
parent.add(clone)
|
|
56
|
+
}
|
|
57
|
+
} else {
|
|
58
|
+
const selfData = this._getDataByDataset(raw.dataset)
|
|
59
|
+
if (Array.isArray(selfData) === false || selfData.length === 0) return
|
|
60
|
+
|
|
61
|
+
for (let i = 0; i < selfData.length; i++) {
|
|
62
|
+
const dataset = this._getDataset(raw, selfData, i)
|
|
63
|
+
const clone = this._markAndClone(template, dataset, generatedBy, map, childs)
|
|
64
|
+
parent.add(clone)
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
private _markAndClone(raw: Descriptor, dataset: string, generatedBy: string, map: Map<string, Descriptor>, childs: Descriptor[]) {
|
|
70
|
+
let clone
|
|
71
|
+
if (raw instanceof DynamicDescriptor) {
|
|
72
|
+
clone = new Descriptor({ dataset })
|
|
73
|
+
if (raw.url) this._markSubDynamic(raw, clone, generatedBy, map, childs)
|
|
74
|
+
} else if (raw instanceof PrefabeDescriptor) {
|
|
75
|
+
clone = new Descriptor({ dataset })
|
|
76
|
+
} else {
|
|
77
|
+
clone = raw.clone(false)
|
|
78
|
+
clone.dataset = dataset
|
|
79
|
+
map.set(raw.uuid, clone)
|
|
80
|
+
if (clone.interactions.length > 0) childs.push(clone)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
clone.generatedBy = generatedBy
|
|
84
|
+
|
|
85
|
+
for (const subRaw of raw.children) {
|
|
86
|
+
const subClone = this._markAndClone(subRaw, dataset, generatedBy, map, childs)
|
|
87
|
+
clone.add(subClone)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
this._setCache(raw, clone)
|
|
91
|
+
|
|
92
|
+
return clone
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
private _onAdd = (args: WatcherArgs) => {
|
|
96
|
+
const clones = this._rawToCloneCollection.get(args.puid)
|
|
97
|
+
if (clones === undefined) return
|
|
98
|
+
|
|
99
|
+
const max = clones.length
|
|
100
|
+
const descriptor = Descriptor.get<Descriptor>(args.self)
|
|
101
|
+
for (let i = 0; i < max; i++) {
|
|
102
|
+
const clone = clones[i]
|
|
103
|
+
const map = new Map<string, Descriptor>()
|
|
104
|
+
const childs: Descriptor[] = []
|
|
105
|
+
const subClone = this._markAndClone(descriptor, clone.dataset, clone.generatedBy, map, childs)
|
|
106
|
+
Descriptor.fixReferences(childs, map)
|
|
107
|
+
clone.add(subClone)
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
private _onRemove = (args: WatcherArgs) => {
|
|
112
|
+
const clones = this._rawToCloneCollection.get(args.self)
|
|
113
|
+
if (clones === undefined) return
|
|
114
|
+
|
|
115
|
+
while (clones.length > 0) {
|
|
116
|
+
const clone = clones.pop()
|
|
117
|
+
if (clone === undefined) continue
|
|
118
|
+
const parent = this.graphics.getParent(clone.uuid)
|
|
119
|
+
if (parent === null) continue
|
|
120
|
+
parent.remove(clone)
|
|
121
|
+
ArrayUtils.remove(clones, clone)
|
|
122
|
+
}
|
|
123
|
+
const descriptor = Descriptor.get<Descriptor>(args.self)
|
|
124
|
+
descriptor.traverse(sub => {
|
|
125
|
+
this._rawToCloneCollection.delete(sub.uuid)
|
|
126
|
+
})
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
private _onUpdate = (args: UpdateWatcherArgs) => {
|
|
130
|
+
const clones = this._rawToCloneCollection.get(args.self)
|
|
131
|
+
if (clones === undefined) return
|
|
132
|
+
|
|
133
|
+
const raw = Descriptor.get<Descriptor>(args.self)
|
|
134
|
+
if (raw instanceof DynamicDescriptor) {
|
|
135
|
+
const ancestor = raw.traceAncestor()
|
|
136
|
+
if (ancestor.parent === null) return
|
|
137
|
+
const watcher = { self: args.self, puid: ancestor.parent.uuid }
|
|
138
|
+
this._onRemove(watcher)
|
|
139
|
+
this._onAdd(watcher)
|
|
140
|
+
} else {
|
|
141
|
+
for (const clone of clones) {
|
|
142
|
+
clone.syncWith(raw)
|
|
143
|
+
clone.setNeedsUpdate()
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
private _clearByOnUpdate = (args: WatcherArgs) => {
|
|
149
|
+
if (args.self !== this.unit.uuid) return
|
|
150
|
+
|
|
151
|
+
this._rawToCloneCollection.clear()
|
|
152
|
+
this._datasetCloneCollection.clear()
|
|
153
|
+
|
|
154
|
+
const clones = this._cloneCollection.values()
|
|
155
|
+
for (const clone of clones) {
|
|
156
|
+
observer.trigger('remove', { self: clone.uuid, puid: this.unit.uuid })
|
|
157
|
+
}
|
|
158
|
+
this._cloneCollection.clear()
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
mount(descriptor: Descriptor, parentInterpreter: Interpreter, parentDescriptor: Descriptor): void {
|
|
162
|
+
super.mount(descriptor, parentInterpreter, parentDescriptor)
|
|
163
|
+
observer.listen('update', this._clearByOnUpdate)
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
unmount(descriptor: Descriptor, parentInterpreter: Interpreter, parentDescriptor: Descriptor) {
|
|
167
|
+
observer.unlisten('update', this._clearByOnUpdate)
|
|
168
|
+
super.unmount(descriptor, parentInterpreter, parentDescriptor)
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
update(descriptor: DynamicDescriptor) {
|
|
172
|
+
super.update(descriptor)
|
|
173
|
+
|
|
174
|
+
observer.unlisten('add', this._onAdd)
|
|
175
|
+
observer.unlisten('remove', this._onRemove)
|
|
176
|
+
observer.unlisten('update', this._onUpdate)
|
|
177
|
+
|
|
178
|
+
if (descriptor.dataset && descriptor.url) {
|
|
179
|
+
const rootData = DatasetDescriptor.getCollection(descriptor.dataset)
|
|
180
|
+
if (rootData.length > 0) {
|
|
181
|
+
const template = Asset.get<Descriptor>(descriptor.url)
|
|
182
|
+
for (let i = 0; i < rootData.length; i++) {
|
|
183
|
+
this._currentDepth = 0
|
|
184
|
+
const dataset = this._getDataset(descriptor, rootData, i)
|
|
185
|
+
const map = new Map<string, Descriptor>()
|
|
186
|
+
const childs: Descriptor[] = []
|
|
187
|
+
const clone = this._markAndClone(template, dataset, descriptor.uuid, map, childs)
|
|
188
|
+
Descriptor.fixReferences(childs, map)
|
|
189
|
+
this._cloneCollection.set(i, clone)
|
|
190
|
+
observer.trigger('add', { self: clone.uuid, puid: descriptor.uuid })
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
observer.listen('add', this._onAdd)
|
|
196
|
+
observer.listen('remove', this._onRemove)
|
|
197
|
+
observer.listen('update', this._onUpdate)
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
free(descriptor: Descriptor) {
|
|
201
|
+
observer.unlisten('add', this._onAdd)
|
|
202
|
+
observer.unlisten('remove', this._onRemove)
|
|
203
|
+
observer.unlisten('update', this._onUpdate)
|
|
204
|
+
super.free(descriptor)
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
FragmentInterpreter.register(DynamicInterpreter)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { FragmentActor } from "../actor";
|
|
2
|
+
import { Descriptor } from "../descriptor";
|
|
3
|
+
import { Interpreter } from "./Interpreter";
|
|
4
|
+
|
|
5
|
+
class FragmentInterpreter extends Interpreter {
|
|
6
|
+
static type = Descriptor.type
|
|
7
|
+
|
|
8
|
+
protected createActor(descriptor: Descriptor) {
|
|
9
|
+
return new FragmentActor()
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**将节点挂载到场景 */
|
|
13
|
+
mount(descriptor: Descriptor, parentInterpreter: Interpreter, parentDescriptor: Descriptor) {
|
|
14
|
+
super.mount(descriptor, parentInterpreter, parentDescriptor)
|
|
15
|
+
const actor = this.getActor<FragmentActor>(descriptor)
|
|
16
|
+
actor.bind(parentDescriptor.uuid)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**将节点从场景中卸载 */
|
|
20
|
+
unmount(descriptor: Descriptor, parentInterpreter: Interpreter, parentDescriptor: Descriptor) {
|
|
21
|
+
super.unmount(descriptor, parentInterpreter, parentDescriptor)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
free(descriptor: Descriptor): void {
|
|
25
|
+
const actor = this.getActor<FragmentActor>(descriptor)
|
|
26
|
+
actor.unbind()
|
|
27
|
+
super.free(descriptor)
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
Interpreter.register(FragmentInterpreter)
|
|
31
|
+
|
|
32
|
+
export {
|
|
33
|
+
FragmentInterpreter
|
|
34
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Descriptor, HTMLServiceDescriptor } from "../descriptor"
|
|
2
|
+
import { Interpreter, ServiceInterpreter } from "."
|
|
3
|
+
import { HTMLActor, HTMLServiceActor } from "../actor"
|
|
4
|
+
import { PickupObject } from "../graphics"
|
|
5
|
+
|
|
6
|
+
class HTMLServiceInterpreter extends ServiceInterpreter {
|
|
7
|
+
static type = HTMLServiceDescriptor.type
|
|
8
|
+
|
|
9
|
+
protected createActor(descriptor: HTMLServiceDescriptor) {
|
|
10
|
+
const actor = new HTMLServiceActor(descriptor.uuid)
|
|
11
|
+
actor.DOM.addEventListener('pointerdown', e => e.stopPropagation())
|
|
12
|
+
return actor
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
update(descriptor: HTMLServiceDescriptor) {
|
|
16
|
+
super.update(descriptor)
|
|
17
|
+
|
|
18
|
+
const actor = this.getActor<HTMLServiceActor>(descriptor)
|
|
19
|
+
actor.update(descriptor)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
mount(descriptor: HTMLServiceDescriptor, parentInterpreter: Interpreter, parentDescriptor: Descriptor) {
|
|
23
|
+
super.mount(descriptor, parentInterpreter, parentDescriptor)
|
|
24
|
+
const actor = this.getActor<HTMLServiceActor>(descriptor)
|
|
25
|
+
|
|
26
|
+
const parenActor = parentInterpreter.getActor<HTMLActor>(parentDescriptor)
|
|
27
|
+
parenActor.add(actor)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
unmount(descriptor: HTMLServiceDescriptor, parentInterpreter: Interpreter, parentDescriptor: Descriptor) {
|
|
31
|
+
const actor = this.getActor<HTMLServiceActor>(descriptor)
|
|
32
|
+
actor.clearStyleClass(actor.DOM)
|
|
33
|
+
actor.cleanInteraction()
|
|
34
|
+
|
|
35
|
+
const parenActor = parentInterpreter.getActor<HTMLActor>(parentDescriptor)
|
|
36
|
+
parenActor.remove(actor)
|
|
37
|
+
|
|
38
|
+
super.unmount(descriptor, parentInterpreter, parentDescriptor)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
pickup(descriptor: HTMLServiceDescriptor, result: PickupObject[]) {
|
|
42
|
+
result.push({ uuid: descriptor.uuid, generatedBy: descriptor.generatedBy })
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
ServiceInterpreter.register(HTMLServiceInterpreter)
|
|
46
|
+
|
|
47
|
+
export { HTMLServiceInterpreter }
|