@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,90 @@
|
|
|
1
|
+
import { HttpType } from "../utils/constants";
|
|
2
|
+
import { Asset } from "../asset";
|
|
3
|
+
import { observer } from "../graphics/Observer";
|
|
4
|
+
import { DeserializationObject } from "../Serialization";
|
|
5
|
+
import { Descriptor } from "./Descriptor";
|
|
6
|
+
|
|
7
|
+
interface Data {
|
|
8
|
+
[k: string]: any
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interface DataConfig {
|
|
12
|
+
mode: string
|
|
13
|
+
key: string
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface HttpDataConfig extends DataConfig {
|
|
17
|
+
mode: 'http',
|
|
18
|
+
url: string
|
|
19
|
+
type: HttpType
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
class DatasetDescriptor<C extends DataConfig = HttpDataConfig> extends Descriptor {
|
|
23
|
+
static type = 'Dataset'
|
|
24
|
+
|
|
25
|
+
static getData<T = Data>(dataset: string) {
|
|
26
|
+
const descriptor = Asset.get(dataset)
|
|
27
|
+
if (descriptor instanceof DatasetDescriptor) {
|
|
28
|
+
return descriptor.getData() as T
|
|
29
|
+
} else {
|
|
30
|
+
return null
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
static getCollection<T = Data>(dataset: string): T[] {
|
|
34
|
+
const data = this.getData<T>(dataset)
|
|
35
|
+
|
|
36
|
+
if (!data) return []
|
|
37
|
+
|
|
38
|
+
return Array.isArray(data) ? data : [data]
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
private _data!: Data
|
|
42
|
+
private _extraData: Data = {}
|
|
43
|
+
readonly dataConfigs: C[]
|
|
44
|
+
defaultData: Data
|
|
45
|
+
|
|
46
|
+
constructor(descriptor: Partial<DeserializationObject<DatasetDescriptor>> = {}) {
|
|
47
|
+
super(descriptor)
|
|
48
|
+
this.dataConfigs = descriptor.dataConfigs === undefined ? [] : Descriptor.deepClone(descriptor.dataConfigs)
|
|
49
|
+
this.defaultData = descriptor.defaultData === undefined ? {} : Descriptor.deepClone(descriptor.defaultData)
|
|
50
|
+
this._updateData(this.defaultData)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private _updateData(data: Data) {
|
|
54
|
+
this._data = data
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
getData<T extends Data | null = Data | null>() {
|
|
58
|
+
return (this._data ?? null) as T
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
setData(data: Data) {
|
|
62
|
+
this._updateData(data)
|
|
63
|
+
|
|
64
|
+
observer.trigger('updateDeps', { self: this.uuid })
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
setExtraData(data: Data) {
|
|
68
|
+
this._extraData = data
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
getExtraData<T extends Data = Data>() {
|
|
72
|
+
return this._extraData as T
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
toJSON() {
|
|
76
|
+
const { _data, _extraData, ...rest } = this;
|
|
77
|
+
return rest;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
setNeedsUpdate() { }
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
Descriptor.register(DatasetDescriptor)
|
|
84
|
+
|
|
85
|
+
export {
|
|
86
|
+
Data,
|
|
87
|
+
DataConfig,
|
|
88
|
+
HttpDataConfig,
|
|
89
|
+
DatasetDescriptor
|
|
90
|
+
}
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import { language } from '../locale'
|
|
2
|
+
import { listenInstance, ObjectPool } from '../ObjectPool'
|
|
3
|
+
import { ArrayUtils } from '../ArrayUtils'
|
|
4
|
+
import { Generate } from '../Generate'
|
|
5
|
+
import { Traverser } from '../Traverser'
|
|
6
|
+
import { ObjectUtils } from '../ObjectUtils'
|
|
7
|
+
import { DeserializationObject, Serialization, SerializationObject } from '../Serialization'
|
|
8
|
+
import { InteractionPropertyCollection } from '../interaction'
|
|
9
|
+
import { observer } from '../graphics/Observer'
|
|
10
|
+
|
|
11
|
+
/**描述器祖先节点 */
|
|
12
|
+
interface DescriptorAncestor<T extends Descriptor = Descriptor> {
|
|
13
|
+
parent: T | null,
|
|
14
|
+
uuids: string[]
|
|
15
|
+
collection: Descriptor[]
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**当前描述器节点的邻接关系 */
|
|
19
|
+
interface DescriptorAdjacency {
|
|
20
|
+
/**当前节点的父节点 */
|
|
21
|
+
parent: string
|
|
22
|
+
/**当前节点的前一个节点 */
|
|
23
|
+
prev: string
|
|
24
|
+
/**当前节点的后一个节点 */
|
|
25
|
+
next: string
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
interface DescriptorPrefab {
|
|
29
|
+
root: string
|
|
30
|
+
uuid: string
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
interface VariabConfig {
|
|
34
|
+
type: 'key' | 'custom'
|
|
35
|
+
enabled: boolean
|
|
36
|
+
value: string
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
interface DescriptorVariables {
|
|
40
|
+
[k: string]: VariabConfig
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const privateState = {
|
|
44
|
+
classCollection: new Map<string, typeof Descriptor>(),
|
|
45
|
+
prefabToInstanceCollection: new Map<string, string[]>(),
|
|
46
|
+
instanceToPrefabCollection: new Map<string, string>(),
|
|
47
|
+
refGraph: new Map<string, string>(),
|
|
48
|
+
getParent: <T extends Descriptor = Descriptor>(uuid: string) => {
|
|
49
|
+
const parent = privateState.refGraph.get(uuid)
|
|
50
|
+
if (parent === undefined) return null
|
|
51
|
+
return Descriptor.get<T>(parent)
|
|
52
|
+
},
|
|
53
|
+
setPrefabInstance(instance: Descriptor) {
|
|
54
|
+
if (instance.prefab === false) return
|
|
55
|
+
|
|
56
|
+
let instanceCollection = this.prefabToInstanceCollection.get(instance.prefab.uuid)
|
|
57
|
+
if (instanceCollection === undefined) {
|
|
58
|
+
instanceCollection = []
|
|
59
|
+
this.prefabToInstanceCollection.set(instance.prefab.uuid, instanceCollection)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
ArrayUtils.insert(instanceCollection, instance.uuid)
|
|
63
|
+
this.instanceToPrefabCollection.set(instance.uuid, instance.prefab.uuid)
|
|
64
|
+
},
|
|
65
|
+
markclone: (descriptor: Descriptor, root: string, map: Map<string, Descriptor>, childs: Descriptor[]) => {
|
|
66
|
+
const clone = descriptor.clone(false)
|
|
67
|
+
map.set(descriptor.uuid, clone)
|
|
68
|
+
if (clone.interactions.length > 0) childs.push(clone)
|
|
69
|
+
|
|
70
|
+
if (clone.prefab === false) {
|
|
71
|
+
clone.prefab = { root, uuid: descriptor.uuid }
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
for (const sub of descriptor.children) {
|
|
75
|
+
const child = privateState.markclone(sub, root, map, childs)
|
|
76
|
+
clone.add(child)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return clone
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* 描述引擎所使用的场景、资产对象
|
|
86
|
+
*
|
|
87
|
+
* 每一个派生类的需要重新定义该类的静态属性`type`
|
|
88
|
+
*
|
|
89
|
+
* 描述器不能使用浏览器环境特有API,因为服务端也会使用描述器
|
|
90
|
+
*
|
|
91
|
+
* 不建议将一个描述器作为另一个描述器的属性,若要保持引用关系,将描述器的uuid作为属性即可
|
|
92
|
+
*/
|
|
93
|
+
class Descriptor extends ObjectPool {
|
|
94
|
+
static type = 'Descriptor'
|
|
95
|
+
/**注册描述器的派生类 */
|
|
96
|
+
static register(DerivedClass: typeof Descriptor) {
|
|
97
|
+
privateState.classCollection.set(DerivedClass.type, DerivedClass)
|
|
98
|
+
}
|
|
99
|
+
/**获取注册的派生类 */
|
|
100
|
+
static getClass<T extends typeof Descriptor>(type: string) {
|
|
101
|
+
return (privateState.classCollection.get(type) ?? null) as T | null
|
|
102
|
+
}
|
|
103
|
+
/**使用数据动态的创建描述器 */
|
|
104
|
+
static create<T extends Descriptor = Descriptor>(descriptor: Partial<DeserializationObject<Descriptor>>) {
|
|
105
|
+
const Class = this.getClass(descriptor.type ?? Descriptor.type)
|
|
106
|
+
if (Class === null) throw language.get('descriptor.notRegister', { type: descriptor.type })
|
|
107
|
+
return new Class(descriptor) as T
|
|
108
|
+
}
|
|
109
|
+
/**将对象序列化成json字符 */
|
|
110
|
+
static serialization(descriptor: SerializationObject) {
|
|
111
|
+
return Serialization.stringify(descriptor)
|
|
112
|
+
}
|
|
113
|
+
/**将json字符反序列化成对象 */
|
|
114
|
+
static deserialization<T = any>(str: string) {
|
|
115
|
+
return Serialization.parse(str) as T
|
|
116
|
+
}
|
|
117
|
+
/**深度克隆传入的JSON对象 */
|
|
118
|
+
static deepClone<T = any>(descriptor: SerializationObject) {
|
|
119
|
+
return Serialization.deepClone<T>(descriptor)
|
|
120
|
+
}
|
|
121
|
+
/**修复引用关系 */
|
|
122
|
+
static fixReferences(childs: Descriptor[], map: Map<string, Descriptor>) {
|
|
123
|
+
for (const child of childs) {
|
|
124
|
+
for (const interaction of child.interactions) {
|
|
125
|
+
const keys = Object.keys(interaction.inputs)
|
|
126
|
+
for (const key of keys) {
|
|
127
|
+
const input = interaction.inputs[key]
|
|
128
|
+
const attrs = Object.keys(input)
|
|
129
|
+
for (const attr of attrs) {
|
|
130
|
+
const cur = input[attr]
|
|
131
|
+
const clone = map.get(cur.value)
|
|
132
|
+
if (clone === undefined) continue
|
|
133
|
+
cur.value = clone.uuid
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**创建镜像副本并修复引用关系 */
|
|
140
|
+
static cloneAndFixReferences(descriptor: Descriptor) {
|
|
141
|
+
const map = new Map()
|
|
142
|
+
const childs: Descriptor[] = []
|
|
143
|
+
const clone = privateState.markclone(descriptor, descriptor.uuid, map, childs)
|
|
144
|
+
this.fixReferences(childs, map)
|
|
145
|
+
|
|
146
|
+
return clone
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
static getPrefab(uuid: string) {
|
|
150
|
+
return privateState.instanceToPrefabCollection.get(uuid) ?? null
|
|
151
|
+
}
|
|
152
|
+
static getInstanceCollection(uuid: string) {
|
|
153
|
+
return privateState.prefabToInstanceCollection.get(uuid) ?? null
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
readonly type: string
|
|
157
|
+
readonly children: Descriptor[]
|
|
158
|
+
generatedBy = ''
|
|
159
|
+
name: string
|
|
160
|
+
dataset: string
|
|
161
|
+
variables: DescriptorVariables
|
|
162
|
+
interactions: InteractionPropertyCollection
|
|
163
|
+
selectable: boolean
|
|
164
|
+
prefab: DescriptorPrefab | false
|
|
165
|
+
|
|
166
|
+
constructor(descriptor: Partial<DeserializationObject<Descriptor>> = {}) {
|
|
167
|
+
super(descriptor.uuid)
|
|
168
|
+
|
|
169
|
+
this.type = (this.constructor as typeof Descriptor).type
|
|
170
|
+
this.name = descriptor.name ?? ''
|
|
171
|
+
this.dataset = descriptor.dataset ?? ''
|
|
172
|
+
this.variables = descriptor.variables ? Descriptor.deepClone(descriptor.variables) : {}
|
|
173
|
+
this.interactions = descriptor.interactions ? Descriptor.deepClone(descriptor.interactions) : []
|
|
174
|
+
this.selectable = descriptor.selectable ?? true
|
|
175
|
+
this.prefab = descriptor.prefab ? Descriptor.deepClone(descriptor.prefab) : false
|
|
176
|
+
//@ts-ignore
|
|
177
|
+
this.children = []
|
|
178
|
+
|
|
179
|
+
privateState.setPrefabInstance(this)
|
|
180
|
+
|
|
181
|
+
if (Array.isArray(descriptor.children) && descriptor.children.length > 0) {
|
|
182
|
+
for (const subDescriptor of descriptor.children) this.add(Descriptor.create(subDescriptor))
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
protected beenInstantiated(instance: Descriptor): void {
|
|
187
|
+
instance.clear()
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**将`descriptor`添加到此节点中*/
|
|
191
|
+
add(...descriptor: Descriptor[]) {
|
|
192
|
+
|
|
193
|
+
for (const sub of descriptor) {
|
|
194
|
+
if (this.children.indexOf(sub) > -1) continue
|
|
195
|
+
|
|
196
|
+
const ancestor = sub.traceAncestor(false)
|
|
197
|
+
if (ancestor.parent !== null) ancestor.parent.remove(sub)
|
|
198
|
+
|
|
199
|
+
this.children.push(sub)
|
|
200
|
+
privateState.refGraph.set(sub.uuid, this.uuid)
|
|
201
|
+
|
|
202
|
+
observer.trigger('add', { self: sub.uuid, puid: this.uuid })
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**将`descriptor`从此节点中移除*/
|
|
206
|
+
remove(...descriptor: Descriptor[]) {
|
|
207
|
+
for (const sub of descriptor) {
|
|
208
|
+
for (let i = 0; i < this.children.length; i++) {
|
|
209
|
+
if (this.children[i].uuid !== sub.uuid) continue
|
|
210
|
+
|
|
211
|
+
observer.trigger('remove', { self: sub.uuid, puid: this.uuid })
|
|
212
|
+
|
|
213
|
+
this.children.splice(i, 1)
|
|
214
|
+
privateState.refGraph.delete(sub.uuid)
|
|
215
|
+
break
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* 追踪描述器的祖先节点
|
|
221
|
+
* @param all 追踪全部的祖先节点,默认为true
|
|
222
|
+
*/
|
|
223
|
+
traceAncestor<T extends Descriptor = Descriptor>(all = true, depth = Infinity) {
|
|
224
|
+
let parent = privateState.getParent<T>(this.uuid)
|
|
225
|
+
const ancestor: DescriptorAncestor<T> = { parent, uuids: [], collection: [] }
|
|
226
|
+
if (parent === null) return ancestor
|
|
227
|
+
|
|
228
|
+
ancestor.collection.push(parent)
|
|
229
|
+
ancestor.uuids.push(parent.uuid)
|
|
230
|
+
|
|
231
|
+
if (all === true) {
|
|
232
|
+
let count = 1
|
|
233
|
+
parent = privateState.getParent(parent.uuid) as T
|
|
234
|
+
while (parent && count < depth) {
|
|
235
|
+
count++
|
|
236
|
+
ancestor.collection.push(parent)
|
|
237
|
+
ancestor.uuids.push(parent.uuid)
|
|
238
|
+
parent = privateState.getParent(parent.uuid) as T
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
return ancestor
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**将`uuid`节点插入到`target`节点中。*/
|
|
246
|
+
insert(uuid: string, target: string) {
|
|
247
|
+
const insertNode = Descriptor.get<Descriptor>(uuid)
|
|
248
|
+
if (insertNode === null) return console.warn(language.get('descriptor.insert.uuid.notFound', { uuid }))
|
|
249
|
+
|
|
250
|
+
const targetNode = Descriptor.get<Descriptor>(target)
|
|
251
|
+
if (targetNode === null) return console.warn(language.get('descriptor.insert.target.notFound', { target }))
|
|
252
|
+
|
|
253
|
+
const ancestor = insertNode.traceAncestor(false)
|
|
254
|
+
if (ancestor.parent) ancestor.parent.remove(insertNode)
|
|
255
|
+
targetNode.add(insertNode)
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**将`uuid`节点插入到`target`节点前。 */
|
|
259
|
+
insertBefore(uuid: string, target: string, offset = 0) {
|
|
260
|
+
const insertNode = Descriptor.get<Descriptor>(uuid)
|
|
261
|
+
if (insertNode === null) return console.warn(language.get('descriptor.insert.uuid.notFound', { uuid }))
|
|
262
|
+
|
|
263
|
+
const targetNode = Descriptor.get<Descriptor>(target)
|
|
264
|
+
if (targetNode === null) return console.warn(language.get('descriptor.insert.target.notFound', { target }))
|
|
265
|
+
const targetAncestor = targetNode.traceAncestor(false)
|
|
266
|
+
if (targetAncestor.parent === null) return
|
|
267
|
+
const targetParent = targetAncestor.parent
|
|
268
|
+
|
|
269
|
+
const insertAncestor = insertNode.traceAncestor(false)
|
|
270
|
+
if (insertAncestor.parent !== null) insertAncestor.parent.remove(insertNode)
|
|
271
|
+
|
|
272
|
+
let index = -1
|
|
273
|
+
|
|
274
|
+
for (let i = 0; i < targetParent.children.length; i++) {
|
|
275
|
+
const sub = targetParent.children[i]
|
|
276
|
+
if (sub === targetNode) index = i + offset;
|
|
277
|
+
observer.trigger('remove', { self: sub.uuid, puid: targetParent.uuid })
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
targetParent.children.splice(index, 0, insertNode)
|
|
281
|
+
privateState.refGraph.set(insertNode.uuid, targetParent.uuid)
|
|
282
|
+
|
|
283
|
+
for (const sub of targetParent.children) {
|
|
284
|
+
observer.trigger('add', { self: sub.uuid, puid: targetParent.uuid })
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
/**将`uuid`节点插入到`target`节点后。 */
|
|
288
|
+
insertAfter(uuid: string, target: string) {
|
|
289
|
+
return this.insertBefore(uuid, target, 1)
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/**获取当前节点的邻接节点 */
|
|
293
|
+
getAdjacent() {
|
|
294
|
+
const adjacent: DescriptorAdjacency = {
|
|
295
|
+
parent: '',
|
|
296
|
+
prev: '',
|
|
297
|
+
next: '',
|
|
298
|
+
}
|
|
299
|
+
const ancestor = this.traceAncestor(false)
|
|
300
|
+
if (ancestor.parent === null) return adjacent
|
|
301
|
+
|
|
302
|
+
adjacent.parent = ancestor.parent.uuid
|
|
303
|
+
const i = ancestor.parent.children.indexOf(this)
|
|
304
|
+
if (i > 0) adjacent.prev = ancestor.parent.children[i - 1].uuid
|
|
305
|
+
if (i < ancestor.parent.children.length - 1) adjacent.next = ancestor.parent.children[i + 1].uuid
|
|
306
|
+
|
|
307
|
+
return adjacent
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* 克隆一个新的描述器
|
|
312
|
+
*
|
|
313
|
+
* 注意,该方法返回的描述器与原描述器uuid不相同
|
|
314
|
+
* @param recursive 是否遍历克隆子节点,默认为true
|
|
315
|
+
*/
|
|
316
|
+
clone<T extends Descriptor = Descriptor>(recursive = true) {
|
|
317
|
+
const uuid = Generate.uuid()
|
|
318
|
+
const self = Descriptor.create<T>({ ...this, uuid, children: undefined }) as T
|
|
319
|
+
if (recursive === false) return self
|
|
320
|
+
for (const sub of this.children) self.add(sub.clone(recursive))
|
|
321
|
+
return self
|
|
322
|
+
}
|
|
323
|
+
/**从同类型的对象上同步属性,不同步`uuid`、`children`和`type` */
|
|
324
|
+
syncWith(descriptor: DeserializationObject<Descriptor>, ignore: string[] = []) {
|
|
325
|
+
if (this.type !== descriptor.type) return console.warn(language.get('descriptor.syncWith.fail'))
|
|
326
|
+
|
|
327
|
+
const source = Descriptor.create({ ...descriptor, type: this.type, uuid: undefined, children: undefined }) as DeserializationObject
|
|
328
|
+
delete source['uuid']
|
|
329
|
+
delete source['type']
|
|
330
|
+
delete source['children']
|
|
331
|
+
delete source['prefab']
|
|
332
|
+
delete source['generatedBy']
|
|
333
|
+
|
|
334
|
+
for (const key of ignore) delete source[key]
|
|
335
|
+
|
|
336
|
+
Object.assign(this, source)
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* 遍历所有节点
|
|
340
|
+
* @param cb 遍历每个节点执行的回调
|
|
341
|
+
* @param terminated 遍历是否可以被终止,默认false
|
|
342
|
+
*/
|
|
343
|
+
traverse<T extends Descriptor = Descriptor, D extends T | null = T | null>(cb: (sub: T, parent: D) => true | void, terminated = false, defaultParent: D = null as D) {
|
|
344
|
+
if (terminated) {
|
|
345
|
+
Traverser.preTerminated(this as unknown as T, cb, defaultParent)
|
|
346
|
+
} else {
|
|
347
|
+
Traverser.pre(this as unknown as T, cb, defaultParent)
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
/**将子描述器全部移除 */
|
|
351
|
+
clear() {
|
|
352
|
+
this.remove(...this.children)
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/**将对象序列化成json字符 */
|
|
356
|
+
serialization() {
|
|
357
|
+
return Descriptor.serialization(this)
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
equals(descriptor: DeserializationObject<Descriptor>, ignore: string[] = ['children']) {
|
|
361
|
+
return ObjectUtils.equals(this, descriptor, ignore)
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
setNeedsUpdate() {
|
|
365
|
+
observer.trigger('update', { self: this.uuid })
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
Descriptor.register(Descriptor)
|
|
369
|
+
|
|
370
|
+
listenInstance('free', (uuid: string) => {
|
|
371
|
+
observer.trigger('free', { self: uuid })
|
|
372
|
+
privateState.refGraph.delete(uuid)
|
|
373
|
+
const prefab = privateState.instanceToPrefabCollection.get(uuid)
|
|
374
|
+
if (prefab === undefined) return
|
|
375
|
+
privateState.instanceToPrefabCollection.delete(uuid)
|
|
376
|
+
const instanceCollection = privateState.prefabToInstanceCollection.get(uuid)
|
|
377
|
+
if (instanceCollection === undefined) return
|
|
378
|
+
ArrayUtils.remove(instanceCollection, uuid)
|
|
379
|
+
})
|
|
380
|
+
|
|
381
|
+
export {
|
|
382
|
+
Descriptor,
|
|
383
|
+
DescriptorAdjacency,
|
|
384
|
+
DescriptorAncestor,
|
|
385
|
+
DescriptorPrefab,
|
|
386
|
+
VariabConfig,
|
|
387
|
+
DescriptorVariables,
|
|
388
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DeserializationObject } from "../Serialization"
|
|
2
|
+
import { HTMLDescriptor } from "./HTMLDescriptor"
|
|
3
|
+
|
|
4
|
+
class DivDescriptor extends HTMLDescriptor {
|
|
5
|
+
static type = 'Div'
|
|
6
|
+
|
|
7
|
+
text: string
|
|
8
|
+
backroundIamge: string
|
|
9
|
+
|
|
10
|
+
constructor(descriptor: Partial<DeserializationObject<DivDescriptor>> = {}) {
|
|
11
|
+
super(descriptor)
|
|
12
|
+
this.text = descriptor.text ?? ''
|
|
13
|
+
this.backroundIamge = descriptor.backroundIamge ?? ''
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
HTMLDescriptor.register(DivDescriptor)
|
|
17
|
+
|
|
18
|
+
export { DivDescriptor }
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DeserializationObject } from "../Serialization"
|
|
2
|
+
import { Descriptor } from "./Descriptor"
|
|
3
|
+
|
|
4
|
+
class DynamicDescriptor extends Descriptor {
|
|
5
|
+
static type = 'Dynamic'
|
|
6
|
+
|
|
7
|
+
url: string
|
|
8
|
+
/** 数据集配置
|
|
9
|
+
* - 1 使用节点自身的数据集
|
|
10
|
+
* - 2 使用父节点数据集的属性
|
|
11
|
+
*/
|
|
12
|
+
dataConfig: number
|
|
13
|
+
/**根节点数据集属性的路径 */
|
|
14
|
+
dataPath: string
|
|
15
|
+
|
|
16
|
+
constructor(descriptor: Partial<DeserializationObject<DynamicDescriptor>> = {}) {
|
|
17
|
+
super(descriptor)
|
|
18
|
+
this.url = descriptor.url ?? ''
|
|
19
|
+
this.dataConfig = descriptor.dataConfig ?? 1
|
|
20
|
+
this.dataPath = descriptor.dataPath ?? ''
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
Descriptor.register(DynamicDescriptor)
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
DynamicDescriptor
|
|
27
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Vector2 } from "../math"
|
|
2
|
+
import { DeserializationObject } from "../Serialization"
|
|
3
|
+
import { Descriptor } from "./Descriptor"
|
|
4
|
+
import { StyleSpacing } from "./StyleDescriptor"
|
|
5
|
+
|
|
6
|
+
interface HTMLStyle {
|
|
7
|
+
[k: string]: string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
class HTMLDescriptor extends Descriptor {
|
|
11
|
+
static type = 'HTML'
|
|
12
|
+
|
|
13
|
+
visible: boolean
|
|
14
|
+
active: boolean
|
|
15
|
+
style: string
|
|
16
|
+
display: string
|
|
17
|
+
flexWrap: string
|
|
18
|
+
flexDirection: string
|
|
19
|
+
justifyContent: string
|
|
20
|
+
alignItems: string
|
|
21
|
+
alignContent: string
|
|
22
|
+
margin: StyleSpacing
|
|
23
|
+
/** 项目的放大比例,定义在分配多余空间时项目的放大能力,默认0(不放大) */
|
|
24
|
+
flexGrow: number
|
|
25
|
+
/**宽度
|
|
26
|
+
* - -1 宽度根据内容自适应
|
|
27
|
+
*/
|
|
28
|
+
width: number
|
|
29
|
+
wUnit: string
|
|
30
|
+
calcWidth: number
|
|
31
|
+
/**高度
|
|
32
|
+
* - -1 高度根据内容自适应
|
|
33
|
+
*/
|
|
34
|
+
height: number
|
|
35
|
+
hUnit: string
|
|
36
|
+
calcHeight: number
|
|
37
|
+
|
|
38
|
+
position: string
|
|
39
|
+
location: Vector2
|
|
40
|
+
|
|
41
|
+
xAxis: 'left' | 'right'
|
|
42
|
+
xUnit: string
|
|
43
|
+
|
|
44
|
+
yAxis: 'top' | 'bottom'
|
|
45
|
+
yUnit: string
|
|
46
|
+
|
|
47
|
+
translate: Vector2
|
|
48
|
+
|
|
49
|
+
opacity: number
|
|
50
|
+
zIndex: string
|
|
51
|
+
|
|
52
|
+
constructor(descriptor: Partial<DeserializationObject<HTMLDescriptor>> = {}) {
|
|
53
|
+
super(descriptor)
|
|
54
|
+
|
|
55
|
+
this.visible = descriptor.visible ?? true
|
|
56
|
+
this.active = descriptor.active ?? false
|
|
57
|
+
this.style = descriptor.style ?? ''
|
|
58
|
+
this.display = descriptor.display ?? 'block'
|
|
59
|
+
this.flexWrap = descriptor.flexWrap ?? 'nowrap'
|
|
60
|
+
this.flexDirection = descriptor.flexDirection ?? 'row'
|
|
61
|
+
this.justifyContent = descriptor.justifyContent ?? 'flex-start'
|
|
62
|
+
this.alignItems = descriptor.alignItems ?? 'stretch'
|
|
63
|
+
this.alignContent = descriptor.alignContent ?? 'stretch'
|
|
64
|
+
this.flexGrow = descriptor.flexGrow ?? 0
|
|
65
|
+
this.margin = new StyleSpacing(descriptor.margin)
|
|
66
|
+
|
|
67
|
+
this.width = descriptor.width ?? 100
|
|
68
|
+
this.wUnit = descriptor.wUnit ?? 'px'
|
|
69
|
+
this.calcWidth = descriptor.calcWidth ?? 0
|
|
70
|
+
this.calcHeight = descriptor.calcHeight ?? 0
|
|
71
|
+
this.height = descriptor.height ?? 100
|
|
72
|
+
this.hUnit = descriptor.hUnit ?? 'px'
|
|
73
|
+
this.position = descriptor.position ?? 'static'
|
|
74
|
+
this.location = Vector2.create(descriptor.location)
|
|
75
|
+
this.xAxis = descriptor.xAxis ?? 'left'
|
|
76
|
+
this.xUnit = descriptor.xUnit ?? 'px'
|
|
77
|
+
this.yAxis = descriptor.yAxis ?? 'top'
|
|
78
|
+
this.yUnit = descriptor.yUnit ?? 'px'
|
|
79
|
+
|
|
80
|
+
this.translate = Vector2.create(descriptor.translate)
|
|
81
|
+
|
|
82
|
+
this.opacity = descriptor.opacity ?? 1
|
|
83
|
+
this.zIndex = descriptor.zIndex ?? 'auto'
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export { HTMLStyle, HTMLDescriptor }
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DeserializationObject } from "../Serialization"
|
|
2
|
+
import { ServiceDescriptor } from "./ServiceDescriptor"
|
|
3
|
+
|
|
4
|
+
class HTMLServiceDescriptor extends ServiceDescriptor {
|
|
5
|
+
static type = 'HTMLService'
|
|
6
|
+
|
|
7
|
+
constructor(descriptor: Partial<DeserializationObject<HTMLServiceDescriptor>> = {}) {
|
|
8
|
+
super(descriptor)
|
|
9
|
+
this.width = descriptor.width ?? 100
|
|
10
|
+
this.wUnit = descriptor.wUnit ?? '%'
|
|
11
|
+
this.height = descriptor.height ?? 100
|
|
12
|
+
this.hUnit = descriptor.hUnit ?? '%'
|
|
13
|
+
this.position = descriptor.position ?? 'absolute'
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
ServiceDescriptor.register(HTMLServiceDescriptor)
|
|
18
|
+
|
|
19
|
+
export { HTMLServiceDescriptor }
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DeserializationObject } from "../Serialization"
|
|
2
|
+
import { ControllerDescriptor } from "./ControllerDescriptor"
|
|
3
|
+
import { ScriptableArgs } from "../interaction"
|
|
4
|
+
|
|
5
|
+
interface HTMLTransformControllerChangeArgs extends ScriptableArgs<undefined, undefined, undefined> {
|
|
6
|
+
event: {
|
|
7
|
+
type: string
|
|
8
|
+
target: string
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
class HTMLTransformControllerDescriptor extends ControllerDescriptor {
|
|
13
|
+
static type = 'HTMLTransformController'
|
|
14
|
+
|
|
15
|
+
/**控制器的摄像机 */
|
|
16
|
+
camera: string
|
|
17
|
+
/**控制器的模式 */
|
|
18
|
+
mode: string
|
|
19
|
+
/**控制器的目标 */
|
|
20
|
+
target: string
|
|
21
|
+
/**控制器触发事件时执行的脚本依赖 */
|
|
22
|
+
event: string
|
|
23
|
+
|
|
24
|
+
constructor(descriptor: Partial<DeserializationObject<HTMLTransformControllerDescriptor>> = {}) {
|
|
25
|
+
super(descriptor)
|
|
26
|
+
this.camera = descriptor.camera ?? ''
|
|
27
|
+
this.mode = descriptor.mode ?? ''
|
|
28
|
+
this.target = descriptor.target ?? ''
|
|
29
|
+
this.event = descriptor.event ?? ''
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
ControllerDescriptor.register(HTMLTransformControllerDescriptor)
|
|
33
|
+
|
|
34
|
+
export { HTMLTransformControllerChangeArgs, HTMLTransformControllerDescriptor }
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Euler, Vector3 } from "../math"
|
|
2
|
+
import { DeserializationObject } from "../Serialization"
|
|
3
|
+
import { Descriptor } from "./Descriptor"
|
|
4
|
+
|
|
5
|
+
class NodeDescriptor extends Descriptor {
|
|
6
|
+
static type = 'Node'
|
|
7
|
+
readonly scale: Vector3
|
|
8
|
+
readonly position: Vector3
|
|
9
|
+
readonly rotation: Euler
|
|
10
|
+
layer = 0
|
|
11
|
+
visible = true
|
|
12
|
+
renderOrder = 0
|
|
13
|
+
castShadow = false
|
|
14
|
+
receiveShadow = false
|
|
15
|
+
|
|
16
|
+
constructor(descriptor: Partial<DeserializationObject<NodeDescriptor>> = {}) {
|
|
17
|
+
super(descriptor)
|
|
18
|
+
this.scale = descriptor.scale ? Vector3.create(descriptor.scale) : Vector3.create(1, 1, 1)
|
|
19
|
+
this.position = Vector3.create(descriptor.position)
|
|
20
|
+
this.rotation = Euler.create(descriptor.rotation)
|
|
21
|
+
this.layer = descriptor.layer ?? 0
|
|
22
|
+
this.visible = descriptor.visible ?? true
|
|
23
|
+
this.renderOrder = descriptor.renderOrder ?? 0
|
|
24
|
+
this.castShadow = descriptor.castShadow ?? false
|
|
25
|
+
this.receiveShadow = descriptor.receiveShadow ?? false
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
Descriptor.register(NodeDescriptor)
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
NodeDescriptor
|
|
32
|
+
}
|