@vyr/cli 0.0.11 → 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/.bin/install/index.js +5 -0
- 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 -82
- /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,282 @@
|
|
|
1
|
+
import { language } from "../locale"
|
|
2
|
+
import { Category } from "../Category"
|
|
3
|
+
import { AsyncTask } from "../AsyncTask"
|
|
4
|
+
import { DatasetDescriptor, Descriptor, ServiceSchedulerDescriptor } from "../descriptor"
|
|
5
|
+
import { InteractionDescriptor, Scriptable, ScriptableArgs } from "../interaction"
|
|
6
|
+
import { AssetGraph } from "./AssetGraph"
|
|
7
|
+
import { Engine } from "../Engine"
|
|
8
|
+
|
|
9
|
+
type JsonAsset = { [k: string]: any }
|
|
10
|
+
type RawAsset = HTMLImageElement | ImageBitmap | HTMLAudioElement | AudioBuffer | HTMLVideoElement | string | JsonAsset
|
|
11
|
+
type StaticFactory = (url: string, forced?: boolean) => Promise<any>
|
|
12
|
+
type DescriptorProvider = () => Promise<Descriptor>
|
|
13
|
+
type ScriptableProvider = () => Promise<{ default: typeof Scriptable<ScriptableArgs<any, any, any>> }>
|
|
14
|
+
type AssetProperty = { url: string }
|
|
15
|
+
type AssetPropertyCollection<T extends AssetProperty = AssetProperty> = T[]
|
|
16
|
+
|
|
17
|
+
const privateState = {
|
|
18
|
+
requestpPrefix: ['http://', 'https://'],
|
|
19
|
+
assetCache: new Map<string, RawAsset | Descriptor>(),
|
|
20
|
+
idToUrlCache: new Map<string, string>(),
|
|
21
|
+
providerCollection: new Map<string, DescriptorProvider | ScriptableProvider>(),
|
|
22
|
+
assetFactoryCollection: new Map<string, StaticFactory>(),
|
|
23
|
+
taskCollection: new Map<string, AsyncTask>(),
|
|
24
|
+
activeAssets: [] as string[],
|
|
25
|
+
parseStatus(url: string) {
|
|
26
|
+
const urlClips = url.split('/')
|
|
27
|
+
const name = urlClips[urlClips.length - 1]
|
|
28
|
+
if (name === undefined) return null
|
|
29
|
+
|
|
30
|
+
return Category.parseName(name.split('?')[0])
|
|
31
|
+
},
|
|
32
|
+
baseUrl: null as unknown as string,
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
class Asset {
|
|
36
|
+
static get baseUrl() {
|
|
37
|
+
if (privateState.baseUrl === null) {
|
|
38
|
+
try {
|
|
39
|
+
privateState.baseUrl = location.origin
|
|
40
|
+
} catch (error) {
|
|
41
|
+
privateState.baseUrl = ''
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return privateState.baseUrl
|
|
45
|
+
}
|
|
46
|
+
static set baseUrl(value: string) {
|
|
47
|
+
privateState.baseUrl = value
|
|
48
|
+
}
|
|
49
|
+
static graph = new AssetGraph()
|
|
50
|
+
|
|
51
|
+
static fetch(url: string, params?: any) {
|
|
52
|
+
return new Promise<Response>(async (resolve, reject) => {
|
|
53
|
+
const res = await fetch(url, params)
|
|
54
|
+
res.ok ? resolve(res) : reject(url)
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static dumpCache() {
|
|
59
|
+
return [...privateState.assetCache.entries()]
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static createVirtualUrl(fileName: string) {
|
|
63
|
+
return `/virtual:/${fileName}`
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static provider(url: string, provider: DescriptorProvider | ScriptableProvider) {
|
|
67
|
+
privateState.providerCollection.set(url, provider)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
static hasProvider(url: string) {
|
|
71
|
+
return privateState.providerCollection.has(url)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**注册资产的生成器 */
|
|
75
|
+
static register(category: string, factory: StaticFactory) {
|
|
76
|
+
privateState.assetFactoryCollection.set(category, factory)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
static joinUrl(url: string) {
|
|
80
|
+
for (const pre of privateState.requestpPrefix) {
|
|
81
|
+
if (url.indexOf(pre) > -1) return url
|
|
82
|
+
}
|
|
83
|
+
return `${Asset.baseUrl}${url}`
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**加载指定的资产文件
|
|
87
|
+
*
|
|
88
|
+
* 场景资产会自动根据`manifest`文件加载场景初始化时所需的所有资产,除此之外的其他资产仅加载它本身。
|
|
89
|
+
*
|
|
90
|
+
*/
|
|
91
|
+
static load<U extends keyof SnowAssets>(url: U, forced?: boolean): Promise<void[]>
|
|
92
|
+
static load(url: string, forced?: boolean): Promise<void[]>
|
|
93
|
+
static async load(url: string | string[], forced = false) {
|
|
94
|
+
const urls = Array.isArray(url) ? url : [url]
|
|
95
|
+
|
|
96
|
+
const tasks: Promise<void>[] = []
|
|
97
|
+
|
|
98
|
+
for (const assetUrl of urls) {
|
|
99
|
+
if (!assetUrl) continue
|
|
100
|
+
|
|
101
|
+
const cacheAsset = this.get(assetUrl)
|
|
102
|
+
if (forced === false && cacheAsset !== null) continue
|
|
103
|
+
|
|
104
|
+
const factoryingTask = privateState.taskCollection.get(assetUrl)
|
|
105
|
+
if (factoryingTask) {
|
|
106
|
+
tasks.push(factoryingTask.done())
|
|
107
|
+
continue
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
const status = privateState.parseStatus(assetUrl)
|
|
111
|
+
if (status === null) continue
|
|
112
|
+
|
|
113
|
+
let factory = privateState.assetFactoryCollection.get(status.category)
|
|
114
|
+
if (factory === undefined) throw language.get('asset.load.fail', { category: status.category })
|
|
115
|
+
|
|
116
|
+
const task = new AsyncTask(async () => {
|
|
117
|
+
const asset = await factory(assetUrl, forced)
|
|
118
|
+
this.set(assetUrl, asset)
|
|
119
|
+
})
|
|
120
|
+
privateState.taskCollection.set(assetUrl, task)
|
|
121
|
+
|
|
122
|
+
tasks.push(task.run())
|
|
123
|
+
|
|
124
|
+
try {
|
|
125
|
+
await task.done()
|
|
126
|
+
} catch (error) {
|
|
127
|
+
console.log(error)
|
|
128
|
+
} finally {
|
|
129
|
+
privateState.taskCollection.delete(assetUrl)
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return Promise.all(tasks)
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
static unload<U extends keyof SnowAssets>(url: U): void
|
|
137
|
+
static unload(url: string): void
|
|
138
|
+
static unload(url: string) {
|
|
139
|
+
const asset = this.get(url)
|
|
140
|
+
if (asset === null) return
|
|
141
|
+
privateState.assetCache.delete(url)
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**等待当前的资产文件加载完毕 */
|
|
145
|
+
static readly() {
|
|
146
|
+
const tasks = privateState.taskCollection.values()
|
|
147
|
+
const waits = []
|
|
148
|
+
for (const task of tasks) {
|
|
149
|
+
waits.push(task.done())
|
|
150
|
+
}
|
|
151
|
+
return Promise.all(waits)
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
static get<U extends keyof SnowAssets>(url: U): SnowAssets[U]
|
|
155
|
+
static get<T extends SnowAssets[keyof SnowAssets] = SnowAssets[keyof SnowAssets]>(url: keyof SnowAssets): T
|
|
156
|
+
static get<T extends RawAsset | InteractionDescriptor | Descriptor | null = Descriptor | null>(url: string): T
|
|
157
|
+
static get<T extends RawAsset | InteractionDescriptor | Descriptor | null = Descriptor | null>(url: string) {
|
|
158
|
+
return (privateState.assetCache.get(url) ?? null) as T
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
static set(url: string, asset: RawAsset | Descriptor) {
|
|
162
|
+
if (privateState.assetCache.has(url)) console.log(url, language.get('asset.already.exists'))
|
|
163
|
+
privateState.assetCache.set(url, asset)
|
|
164
|
+
if (asset instanceof Descriptor) {
|
|
165
|
+
privateState.idToUrlCache.set(asset.uuid, url)
|
|
166
|
+
this.graph.create(url)
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
static getTask(url: string) {
|
|
171
|
+
return privateState.taskCollection.get(url) ?? null
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
static getUrlByUuid(uuid: string) {
|
|
175
|
+
return privateState.idToUrlCache.get(uuid) ?? ''
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
static activate(...urls: string[]) {
|
|
179
|
+
privateState.activeAssets.push(...urls)
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
static free() {
|
|
183
|
+
privateState.activeAssets.length = 0
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
static async compileDataset(url: string, engine: Engine) {
|
|
187
|
+
const descriptor = this.get<ServiceSchedulerDescriptor>(url)
|
|
188
|
+
const graphics = engine.ensureGraphicsExists(url, descriptor)
|
|
189
|
+
const dependencide = Asset.graph.getDependencide(url)
|
|
190
|
+
|
|
191
|
+
const queue: Promise<void>[] = []
|
|
192
|
+
for (const dataset of dependencide.dataset) {
|
|
193
|
+
const trigger = Asset.get<Descriptor>(dataset)
|
|
194
|
+
queue.push(graphics.invoke('compile', trigger))
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
await Promise.all(queue)
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
static async loadAll(url: string, forced = false, record: string[] = []) {
|
|
201
|
+
await Asset.load(url, forced)
|
|
202
|
+
Asset.graph.create(url)
|
|
203
|
+
|
|
204
|
+
record.push(url)
|
|
205
|
+
const dependencide = Asset.graph.getDependencide(url)
|
|
206
|
+
|
|
207
|
+
const tasks: Promise<void>[] = []
|
|
208
|
+
for (const dep of dependencide.all) {
|
|
209
|
+
if (record.includes(dep)) continue
|
|
210
|
+
const subForced = Asset.get(dep) ? false : true
|
|
211
|
+
tasks.push(this.loadAll(dep, subForced, record))
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
await Promise.all(tasks)
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export { Asset, JsonAsset, RawAsset, DescriptorProvider, ScriptableProvider, AssetProperty, AssetPropertyCollection, privateState }
|
|
219
|
+
|
|
220
|
+
const getAssetByProvider = async (url: string) => {
|
|
221
|
+
const scriptableProvider = privateState.providerCollection.get(url)
|
|
222
|
+
if (scriptableProvider === undefined) return null
|
|
223
|
+
return await scriptableProvider() as unknown as any
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
const factoryDescriptor = async (url: string) => {
|
|
227
|
+
const preset = await getAssetByProvider(url)
|
|
228
|
+
if (preset !== null) return preset
|
|
229
|
+
const res = await Asset.fetch(Asset.joinUrl(url))
|
|
230
|
+
const text = await res.text()
|
|
231
|
+
const asset = Descriptor.create(Descriptor.deserialization(text))
|
|
232
|
+
return asset
|
|
233
|
+
}
|
|
234
|
+
Asset.register(Category.style, factoryDescriptor)
|
|
235
|
+
Asset.register(Category.material, factoryDescriptor)
|
|
236
|
+
Asset.register(Category.geometry, factoryDescriptor)
|
|
237
|
+
Asset.register(Category.texture, factoryDescriptor)
|
|
238
|
+
Asset.register(Category.prefab, factoryDescriptor)
|
|
239
|
+
Asset.register(Category.interaction, factoryDescriptor)
|
|
240
|
+
Asset.register(Category.scene, factoryDescriptor)
|
|
241
|
+
|
|
242
|
+
const factoryDataset = async (url: string) => {
|
|
243
|
+
const asset = await factoryDescriptor(url) as DatasetDescriptor
|
|
244
|
+
// if (asset.auto) await asset.fetch()
|
|
245
|
+
|
|
246
|
+
return asset
|
|
247
|
+
}
|
|
248
|
+
Asset.register(Category.dataset, factoryDataset)
|
|
249
|
+
|
|
250
|
+
const factoryJson = async (url: string) => {
|
|
251
|
+
const res = await Asset.fetch(Asset.joinUrl(url))
|
|
252
|
+
const text = await res.text()
|
|
253
|
+
return Descriptor.deserialization(text)
|
|
254
|
+
}
|
|
255
|
+
Asset.register(Category.json, factoryJson)
|
|
256
|
+
|
|
257
|
+
const factoryScript = (url: string) => {
|
|
258
|
+
return new Promise(async (resolve, reject) => {
|
|
259
|
+
try {
|
|
260
|
+
const module = await getAssetByProvider(url)
|
|
261
|
+
if (module === null) return reject(language.get('asset.provider.notFound', { url }))
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Class constructor { ClassName } cannot be invoked without 'new'
|
|
265
|
+
*
|
|
266
|
+
* 将代码的编译目标(webpack、ts、vite等配置文件)调整为es6
|
|
267
|
+
*/
|
|
268
|
+
const scriptable = new module.default(url)
|
|
269
|
+
await scriptable.ready()
|
|
270
|
+
resolve(scriptable)
|
|
271
|
+
} catch (error) {
|
|
272
|
+
reject(error)
|
|
273
|
+
}
|
|
274
|
+
})
|
|
275
|
+
}
|
|
276
|
+
Asset.register(Category.ts, factoryScript)
|
|
277
|
+
|
|
278
|
+
const factoryOther = async (url: string) => {
|
|
279
|
+
const res = await Asset.fetch(Asset.joinUrl(url))
|
|
280
|
+
return await res.arrayBuffer()
|
|
281
|
+
}
|
|
282
|
+
Asset.register(Category.other, factoryOther)
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { Asset } from "./Asset"
|
|
2
|
+
import { Category } from "../Category"
|
|
3
|
+
import { ArrayUtils } from "../ArrayUtils"
|
|
4
|
+
import { ObjectPool } from "../ObjectPool";
|
|
5
|
+
import { Descriptor } from "../descriptor";
|
|
6
|
+
|
|
7
|
+
interface Edge {
|
|
8
|
+
key: string
|
|
9
|
+
asset: string
|
|
10
|
+
category: string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
interface Port {
|
|
14
|
+
descriptor: string
|
|
15
|
+
edges: Edge[]
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
interface Cell {
|
|
19
|
+
url: string
|
|
20
|
+
uuid: string
|
|
21
|
+
ports: Port[]
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface UrlCell {
|
|
25
|
+
url: string
|
|
26
|
+
cells: Cell[]
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type Provider<T extends Descriptor = Descriptor> = (descriptor: T, port: Port) => void
|
|
30
|
+
|
|
31
|
+
const privateState = {
|
|
32
|
+
providerCollection: new Map<string, Provider>(),
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
class Dependencide {
|
|
36
|
+
all: string[] = []
|
|
37
|
+
descriptor: string[] = []
|
|
38
|
+
interaction: string[] = []
|
|
39
|
+
prefab: string[] = []
|
|
40
|
+
dataset: string[] = []
|
|
41
|
+
style: string[] = []
|
|
42
|
+
texture: string[] = []
|
|
43
|
+
material: string[] = []
|
|
44
|
+
geometry: string[] = []
|
|
45
|
+
|
|
46
|
+
add(type: keyof Dependencide, url: string) {
|
|
47
|
+
const collection = this[type] as string[]
|
|
48
|
+
if (collection === undefined) return console.warn(type, url)
|
|
49
|
+
collection.push(url)
|
|
50
|
+
this.descriptor.push(url)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
forEachForGraphics(cb: (url: string) => void) {
|
|
54
|
+
//Graphics遍历资产时,跳过 interaction prefab
|
|
55
|
+
for (const url of this.dataset) cb(url)
|
|
56
|
+
for (const url of this.style) cb(url)
|
|
57
|
+
for (const url of this.texture) cb(url)
|
|
58
|
+
for (const url of this.material) cb(url)
|
|
59
|
+
for (const url of this.geometry) cb(url)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
clear() {
|
|
63
|
+
this.all.length = 0
|
|
64
|
+
this.descriptor.length = 0
|
|
65
|
+
this.prefab.length = 0
|
|
66
|
+
this.dataset.length = 0
|
|
67
|
+
this.style.length = 0
|
|
68
|
+
this.interaction.length = 0
|
|
69
|
+
this.texture.length = 0
|
|
70
|
+
this.material.length = 0
|
|
71
|
+
this.geometry.length = 0
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**资产关系图,表示资产和资产之间的依赖关系 */
|
|
76
|
+
class AssetGraph {
|
|
77
|
+
|
|
78
|
+
private static build(descriptor: Descriptor, port: Port) {
|
|
79
|
+
let Prototype = descriptor.constructor as typeof Descriptor
|
|
80
|
+
while (Prototype.prototype instanceof ObjectPool) {
|
|
81
|
+
const provider = privateState.providerCollection.get(Prototype.type)
|
|
82
|
+
Prototype = Object.getPrototypeOf(Prototype)
|
|
83
|
+
if (provider === undefined) continue
|
|
84
|
+
provider(descriptor, port)
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
static register<T extends Descriptor = Descriptor>(type: string, provider: Provider<T>) {
|
|
89
|
+
privateState.providerCollection.set(type, provider as Provider)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
static get(descriptor: Descriptor, ports: Port[] = []) {
|
|
93
|
+
|
|
94
|
+
const port: Port = { descriptor: descriptor.uuid, edges: [] }
|
|
95
|
+
this.build(descriptor, port)
|
|
96
|
+
if (port.edges.length > 0) ports.push(port)
|
|
97
|
+
|
|
98
|
+
return ports
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**依赖项集合 */
|
|
102
|
+
private _dependencideCollection = new Map<string, Cell>()
|
|
103
|
+
/**依赖者集合 */
|
|
104
|
+
private _dependentCollection = new Map<string, Cell[]>()
|
|
105
|
+
|
|
106
|
+
protected getDescriptor(url: string) {
|
|
107
|
+
return Asset.get<Descriptor | null>(url)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
protected compiler(url: string) {
|
|
111
|
+
const cell: Cell = { url, uuid: '', ports: [] }
|
|
112
|
+
const descriptor = this.getDescriptor(url)
|
|
113
|
+
if (descriptor instanceof Descriptor) {
|
|
114
|
+
cell.uuid = descriptor.uuid
|
|
115
|
+
this.build(descriptor, cell.ports)
|
|
116
|
+
}
|
|
117
|
+
return cell
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
protected setCell(asset: string, cell: Cell) {
|
|
121
|
+
let collection = this._dependentCollection.get(asset)
|
|
122
|
+
if (collection === undefined) {
|
|
123
|
+
collection = [cell]
|
|
124
|
+
this._dependentCollection.set(asset, collection)
|
|
125
|
+
} else {
|
|
126
|
+
ArrayUtils.insert(collection, cell)
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
protected deleteCell(asset: string, cell: Cell) {
|
|
131
|
+
let collection = this._dependentCollection.get(asset)
|
|
132
|
+
if (collection === undefined) return
|
|
133
|
+
ArrayUtils.remove(collection, cell)
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
protected collection(asset: string, dependencide: Dependencide, isDescriptor: boolean, category: keyof Dependencide) {
|
|
137
|
+
const index = dependencide.all.indexOf(asset)
|
|
138
|
+
if (index > -1) return
|
|
139
|
+
dependencide.all.push(asset)
|
|
140
|
+
if (isDescriptor) dependencide.add(category, asset)
|
|
141
|
+
this.getDependencide(asset, dependencide)
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
get(url: string) {
|
|
145
|
+
return this._dependencideCollection.get(url) ?? null
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**创建资产的依赖关系图 */
|
|
149
|
+
create(url: string) {
|
|
150
|
+
this.delete(url)
|
|
151
|
+
|
|
152
|
+
const cell = this.compiler(url)
|
|
153
|
+
this._dependencideCollection.set(url, cell)
|
|
154
|
+
|
|
155
|
+
for (const port of cell.ports) {
|
|
156
|
+
for (const edge of port.edges) {
|
|
157
|
+
this.setCell(edge.asset, cell)
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
build(descriptor: Descriptor, ports: Port[] = []) {
|
|
163
|
+
descriptor.traverse(sub => { AssetGraph.get(sub, ports) })
|
|
164
|
+
return ports
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**更新资产的依赖关系图 */
|
|
168
|
+
update(url: string) {
|
|
169
|
+
this.delete(url)
|
|
170
|
+
this.create(url)
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**将资产从依赖关系图中删除 */
|
|
174
|
+
delete(url: string) {
|
|
175
|
+
const cell = this._dependencideCollection.get(url)
|
|
176
|
+
if (cell === undefined) return
|
|
177
|
+
this._dependencideCollection.delete(url)
|
|
178
|
+
|
|
179
|
+
for (const port of cell.ports) {
|
|
180
|
+
for (const edge of port.edges) {
|
|
181
|
+
this.deleteCell(edge.asset, cell)
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**获取Ports所依赖的全部资产
|
|
187
|
+
* - 0 获取所有资产
|
|
188
|
+
* - 1 仅获取描述器资产
|
|
189
|
+
*/
|
|
190
|
+
getDependencidesByPorts(ports: Port[], dependencide = new Dependencide()) {
|
|
191
|
+
if (ports.length === 0) return dependencide
|
|
192
|
+
for (const port of ports) {
|
|
193
|
+
for (const edge of port.edges) {
|
|
194
|
+
const isDescriptor = Category.isDescriptor(edge.category, 'category')
|
|
195
|
+
this.collection(edge.asset, dependencide, isDescriptor, edge.category as keyof Dependencide)
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return dependencide
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**获取指定资产所依赖的全部资产
|
|
202
|
+
* - 0 获取所有资产
|
|
203
|
+
* - 1 仅获取描述器资产
|
|
204
|
+
*/
|
|
205
|
+
getDependencide(url: string, dependencide = new Dependencide()) {
|
|
206
|
+
const cell = this._dependencideCollection.get(url)
|
|
207
|
+
if (cell === undefined) return dependencide
|
|
208
|
+
this.getDependencidesByPorts(cell.ports, dependencide)
|
|
209
|
+
return dependencide
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**获取指定资产的所有依赖者 */
|
|
213
|
+
getDependents(url: string) {
|
|
214
|
+
return this._dependentCollection.get(url) ?? []
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
getUrlCells(urls: string[], urlCells: UrlCell[] = []) {
|
|
218
|
+
for (const url of urls) {
|
|
219
|
+
const cells = this.getDependents(url)
|
|
220
|
+
if (cells.length > 0) urlCells.push({ url, cells })
|
|
221
|
+
}
|
|
222
|
+
return urlCells
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
forEdge(cell: Cell, cb: (port: Port, edge: Edge) => void) {
|
|
226
|
+
for (const port of cell.ports) {
|
|
227
|
+
for (const edge of port.edges) cb(port, edge)
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
hasAssetReference(port: Port, url: string) {
|
|
232
|
+
for (const edge of port.edges) {
|
|
233
|
+
if (Array.isArray(edge.asset)) {
|
|
234
|
+
for (const asset of edge.asset) {
|
|
235
|
+
if (asset === url) return true
|
|
236
|
+
}
|
|
237
|
+
} else {
|
|
238
|
+
if (edge.asset === url) return true
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
return false
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
export { Edge, Port, Cell, UrlCell, Dependencide, AssetGraph }
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { DeserializationObject } from "../Serialization"
|
|
2
|
+
import { Descriptor } from "./Descriptor"
|
|
3
|
+
|
|
4
|
+
interface FrameData {
|
|
5
|
+
type: string
|
|
6
|
+
startValue: Array<string | number | boolean> | number | string
|
|
7
|
+
endValue: Array<string | number | boolean> | number | string
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface NumberFrameData extends FrameData {
|
|
11
|
+
type: 'number' | 'boolean'
|
|
12
|
+
startValue: number
|
|
13
|
+
endValue: number
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface VectorFrameData extends FrameData {
|
|
17
|
+
type: 'vector2' | 'vector3' | 'euler'
|
|
18
|
+
startValue: number[]
|
|
19
|
+
endValue: number[]
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
interface ColorFrameData extends FrameData {
|
|
23
|
+
type: 'color'
|
|
24
|
+
startValue: string
|
|
25
|
+
endValue: string
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
type AnimationFrameData = NumberFrameData | VectorFrameData | ColorFrameData
|
|
29
|
+
|
|
30
|
+
class AnimationUnitDescriptor extends Descriptor {
|
|
31
|
+
static type = 'AnimationUnit'
|
|
32
|
+
|
|
33
|
+
play: boolean
|
|
34
|
+
duration: number
|
|
35
|
+
/**循环次数 */
|
|
36
|
+
count: number
|
|
37
|
+
/**循环模式
|
|
38
|
+
*
|
|
39
|
+
* - 1 顺序循环
|
|
40
|
+
* - 2 往返循环
|
|
41
|
+
*/
|
|
42
|
+
mode: number
|
|
43
|
+
startTime: number
|
|
44
|
+
path: string
|
|
45
|
+
frameData: AnimationFrameData
|
|
46
|
+
|
|
47
|
+
constructor(descriptor: Partial<DeserializationObject<AnimationUnitDescriptor>> = {}) {
|
|
48
|
+
super(descriptor)
|
|
49
|
+
this.play = descriptor.play ?? false
|
|
50
|
+
this.duration = descriptor.duration ?? 0
|
|
51
|
+
this.count = descriptor.count ?? Infinity
|
|
52
|
+
this.mode = descriptor.mode ?? 1
|
|
53
|
+
this.startTime = descriptor.startTime ?? 0
|
|
54
|
+
this.path = descriptor.path ?? ''
|
|
55
|
+
this.frameData = descriptor.frameData ? Descriptor.deepClone<AnimationFrameData>(descriptor.frameData) : { type: 'vector2', startValue: [], endValue: [] } as VectorFrameData
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
Descriptor.register(AnimationUnitDescriptor)
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
NumberFrameData,
|
|
62
|
+
VectorFrameData,
|
|
63
|
+
AnimationFrameData,
|
|
64
|
+
AnimationUnitDescriptor
|
|
65
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DeserializationObject } from "../Serialization"
|
|
2
|
+
import { NodeDescriptor } from "./NodeDescriptor"
|
|
3
|
+
|
|
4
|
+
class CameraDescriptor extends NodeDescriptor {
|
|
5
|
+
static type = 'Camera'
|
|
6
|
+
|
|
7
|
+
constructor(descriptor: Partial<DeserializationObject<CameraDescriptor>> = {}) {
|
|
8
|
+
super(descriptor)
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { CameraDescriptor }
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DeserializationObject } from "../Serialization"
|
|
2
|
+
import { Descriptor } from "./Descriptor"
|
|
3
|
+
|
|
4
|
+
class ControllerDescriptor extends Descriptor {
|
|
5
|
+
static type = 'Controller'
|
|
6
|
+
|
|
7
|
+
/**控制器是否响应用户的操作 */
|
|
8
|
+
enabled: boolean
|
|
9
|
+
|
|
10
|
+
constructor(descriptor: Partial<DeserializationObject<ControllerDescriptor>> = {}) {
|
|
11
|
+
super(descriptor)
|
|
12
|
+
this.enabled = descriptor.enabled ?? false
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { ControllerDescriptor }
|