@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,111 @@
|
|
|
1
|
+
import tinycolor from "tinycolor2"
|
|
2
|
+
import { DeserializationObject, Serialization } from "./Serialization"
|
|
3
|
+
|
|
4
|
+
class Color extends tinycolor { }
|
|
5
|
+
|
|
6
|
+
interface ColorItem {
|
|
7
|
+
value: string
|
|
8
|
+
opacity: number
|
|
9
|
+
ratio: number
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
class BasicStyleColor {
|
|
13
|
+
static type = 'basic'
|
|
14
|
+
static create(color: DeserializationObject<BasicStyleColor>) {
|
|
15
|
+
switch (color.type) {
|
|
16
|
+
case "linear":
|
|
17
|
+
return new LinearStyleColor(color as LinearStyleColor)
|
|
18
|
+
case "radial":
|
|
19
|
+
return new RadialStyleColor(color as RadialStyleColor)
|
|
20
|
+
default:
|
|
21
|
+
return new DefaultStyleColor(color as DefaultStyleColor)
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
static getColor(color: BasicStyleColor) {
|
|
25
|
+
return 'rgba(0,0,0,0)'
|
|
26
|
+
}
|
|
27
|
+
type: string
|
|
28
|
+
|
|
29
|
+
constructor() {
|
|
30
|
+
this.type = (this.constructor as typeof BasicStyleColor).type
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
getColor() {
|
|
34
|
+
return (this.constructor as typeof BasicStyleColor).getColor(this)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
class DefaultStyleColor extends BasicStyleColor {
|
|
40
|
+
static type = 'default'
|
|
41
|
+
static getColor(color: DefaultStyleColor) {
|
|
42
|
+
return new Color(color.value).setAlpha(color.opacity).toRgbString()
|
|
43
|
+
}
|
|
44
|
+
declare type: 'default'
|
|
45
|
+
value: string
|
|
46
|
+
opacity: number
|
|
47
|
+
|
|
48
|
+
constructor(color: Partial<DeserializationObject<DefaultStyleColor>> = {}) {
|
|
49
|
+
super()
|
|
50
|
+
this.value = color.value ?? '#ffffff'
|
|
51
|
+
this.opacity = color.opacity ?? 1
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
class LinearStyleColor extends BasicStyleColor {
|
|
56
|
+
static type = 'linear'
|
|
57
|
+
static getColor(color: LinearStyleColor) {
|
|
58
|
+
let items = ''
|
|
59
|
+
for (const item of color.value) {
|
|
60
|
+
items += `, ${new Color(item.value).setAlpha(item.opacity).toRgbString()} ${item.ratio * 100}%`
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return `linear-gradient(${color.angle}deg ${items})`
|
|
64
|
+
}
|
|
65
|
+
declare type: 'linear'
|
|
66
|
+
angle: number
|
|
67
|
+
value: ColorItem[]
|
|
68
|
+
constructor(color: Partial<DeserializationObject<LinearStyleColor>> = {}) {
|
|
69
|
+
super()
|
|
70
|
+
this.angle = color.angle ?? 0
|
|
71
|
+
this.value = color.value ? Serialization.deepClone(color.value) : [{ value: '#ffffff', opacity: 1, ratio: 0 }, { value: '#ffffff', opacity: 1, ratio: 1 }]
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
class RadialStyleColor extends BasicStyleColor {
|
|
77
|
+
static type = 'radial'
|
|
78
|
+
static getColor(color: RadialStyleColor) {
|
|
79
|
+
let radis = ''
|
|
80
|
+
if (color.radius < 0) {
|
|
81
|
+
radis = 'farthest-corner'
|
|
82
|
+
} else {
|
|
83
|
+
radis = `${color.radius}px`
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
let center = ''
|
|
87
|
+
center = `${color.center.x * 100}% ${color.center.y * 100}%`
|
|
88
|
+
|
|
89
|
+
let items = ''
|
|
90
|
+
for (const item of color.value) {
|
|
91
|
+
items += `, ${new Color(item.value).setAlpha(item.opacity).toRgbString()} ${item.ratio * 100}%`
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return `radial-gradient(circle ${radis} at ${center} ${items})`
|
|
95
|
+
}
|
|
96
|
+
declare type: 'radial'
|
|
97
|
+
center: { x: number; y: number }
|
|
98
|
+
radius: number
|
|
99
|
+
value: ColorItem[]
|
|
100
|
+
|
|
101
|
+
constructor(color: Partial<DeserializationObject<RadialStyleColor>> = {}) {
|
|
102
|
+
super()
|
|
103
|
+
this.center = color.center ? Serialization.deepClone(color.center) : { x: 0.5, y: 0.5 }
|
|
104
|
+
this.radius = color.radius ?? -1
|
|
105
|
+
this.value = color.value ? Serialization.deepClone(color.value) : [{ value: '#ffffff', opacity: 1, ratio: 0 }, { value: '#ffffff', opacity: 1, ratio: 1 }]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
type StyleColor = DefaultStyleColor | LinearStyleColor | RadialStyleColor
|
|
110
|
+
|
|
111
|
+
export { ColorItem, BasicStyleColor, DefaultStyleColor, LinearStyleColor, RadialStyleColor, StyleColor, Color }
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { language } from './locale'
|
|
2
|
+
import { Asset } from './asset'
|
|
3
|
+
import { ServiceSchedulerDescriptor, StyleDescriptor } from './descriptor'
|
|
4
|
+
import { Generate } from './Generate'
|
|
5
|
+
import { InputSystem } from './InputSystem'
|
|
6
|
+
import { Listener } from './Listener'
|
|
7
|
+
import { Compilation, TickArgs } from './graphics'
|
|
8
|
+
import { setupStyle } from './setup';
|
|
9
|
+
|
|
10
|
+
interface EngineData { }
|
|
11
|
+
|
|
12
|
+
interface EngineListener {
|
|
13
|
+
beforeRender: (args: TickArgs) => void
|
|
14
|
+
afterRender: (args: TickArgs) => void
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
class Engine extends Listener<EngineListener> {
|
|
18
|
+
private compilation = new Compilation()
|
|
19
|
+
private active = ''
|
|
20
|
+
private prevTimestamp = 0
|
|
21
|
+
private frame = 0
|
|
22
|
+
|
|
23
|
+
readonly uuid = Generate.uuid()
|
|
24
|
+
readonly DOM = document.createElement('div')
|
|
25
|
+
readonly inputSystem = new InputSystem(this.DOM)
|
|
26
|
+
|
|
27
|
+
constructor(data: Partial<EngineData> = {}) {
|
|
28
|
+
super()
|
|
29
|
+
this.DOM.style.width = '100%'
|
|
30
|
+
this.DOM.style.height = '100%'
|
|
31
|
+
this.DOM.style.position = 'relative'
|
|
32
|
+
this.DOM.style.top = '0'
|
|
33
|
+
this.DOM.style.left = '0'
|
|
34
|
+
this.DOM.style.overflow = 'hidden'
|
|
35
|
+
this.DOM.classList.add('vyr-engine', StyleDescriptor.basicName)
|
|
36
|
+
this.DOM.setAttribute('data-vyr', `vyr-engine`)
|
|
37
|
+
this.DOM.addEventListener('contextmenu', (e) => e.preventDefault())
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
private getDelta(timestamp: number) {
|
|
41
|
+
return (timestamp - this.prevTimestamp) / 1000
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
private tick(timestamp: number) {
|
|
45
|
+
const delta = this.getDelta(timestamp)
|
|
46
|
+
this.prevTimestamp = timestamp
|
|
47
|
+
this.frame = requestAnimationFrame((nextTimestamp) => this.tick(nextTimestamp))
|
|
48
|
+
|
|
49
|
+
const args = { delta }
|
|
50
|
+
|
|
51
|
+
this.compilation.foreach(graphics => graphics.args = args)
|
|
52
|
+
|
|
53
|
+
this.inputSystem.process()
|
|
54
|
+
|
|
55
|
+
this.compilation.process(this, args)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
run(el: string | HTMLElement) {
|
|
59
|
+
if (this.frame !== 0) return
|
|
60
|
+
|
|
61
|
+
if (typeof el === 'string') {
|
|
62
|
+
const ele = document.getElementById(el)
|
|
63
|
+
if (ele === null) throw language.get('engine.run.container.notFound')
|
|
64
|
+
el = ele
|
|
65
|
+
}
|
|
66
|
+
el.appendChild(this.DOM)
|
|
67
|
+
setupStyle()
|
|
68
|
+
|
|
69
|
+
this.prevTimestamp = performance.now()
|
|
70
|
+
this.tick(this.prevTimestamp)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
stop() {
|
|
74
|
+
if (this.frame === 0) return
|
|
75
|
+
|
|
76
|
+
cancelAnimationFrame(this.frame)
|
|
77
|
+
this.frame = 0
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
switch(scheduler: ServiceSchedulerDescriptor) {
|
|
81
|
+
const url = Asset.getUrlByUuid(scheduler.uuid)
|
|
82
|
+
|
|
83
|
+
if (!url) throw language.get('engine.switch.url.notFound')
|
|
84
|
+
|
|
85
|
+
const current = Asset.get<ServiceSchedulerDescriptor>(this.active)
|
|
86
|
+
if (current) this.compilation.unlisten(current)
|
|
87
|
+
|
|
88
|
+
const graphics = this.compilation.ensureExists(url, scheduler, this)
|
|
89
|
+
|
|
90
|
+
this.compilation.listen(graphics)
|
|
91
|
+
this.active = url
|
|
92
|
+
|
|
93
|
+
window.dispatchEvent(new Event('resize'))
|
|
94
|
+
|
|
95
|
+
const args = { delta: 0 }
|
|
96
|
+
|
|
97
|
+
this.compilation.foreach(graphics => graphics.args = args)
|
|
98
|
+
|
|
99
|
+
this.compilation.process(this, args)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
clear() {
|
|
103
|
+
this.compilation.clear()
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
getGraphics(scheduler: ServiceSchedulerDescriptor) {
|
|
107
|
+
return this.compilation.get(scheduler)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
ensureGraphicsExists(url: string, scheduler: ServiceSchedulerDescriptor) {
|
|
111
|
+
return this.compilation.ensureExists(url, scheduler, this)
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export { Engine }
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
let id = 1;
|
|
2
|
+
const _lut = ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0a', '0b', '0c', '0d', '0e', '0f', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1a', '1b', '1c', '1d', '1e', '1f', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2a', '2b', '2c', '2d', '2e', '2f', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3a', '3b', '3c', '3d', '3e', '3f', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4a', '4b', '4c', '4d', '4e', '4f', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5a', '5b', '5c', '5d', '5e', '5f', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6a', '6b', '6c', '6d', '6e', '6f', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7a', '7b', '7c', '7d', '7e', '7f', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '8a', '8b', '8c', '8d', '8e', '8f', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '9a', '9b', '9c', '9d', '9e', '9f', 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'ba', 'bb', 'bc', 'bd', 'be', 'bf', 'c0', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'ca', 'cb', 'cc', 'cd', 'ce', 'cf', 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', 'd8', 'd9', 'da', 'db', 'dc', 'dd', 'de', 'df', 'e0', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8', 'e9', 'ea', 'eb', 'ec', 'ed', 'ee', 'ef', 'f0', 'f1', 'f2', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'fa', 'fb', 'fc', 'fd', 'fe', 'ff'];
|
|
3
|
+
|
|
4
|
+
class Generate {
|
|
5
|
+
static id() {
|
|
6
|
+
return id++
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
static uuid() {
|
|
10
|
+
const d0 = Math.random() * 0xffffffff | 0;
|
|
11
|
+
const d1 = Math.random() * 0xffffffff | 0;
|
|
12
|
+
const d2 = Math.random() * 0xffffffff | 0;
|
|
13
|
+
const d3 = Math.random() * 0xffffffff | 0;
|
|
14
|
+
const uuid = _lut[d0 & 0xff] + _lut[d0 >> 8 & 0xff] + _lut[d0 >> 16 & 0xff] + _lut[d0 >> 24 & 0xff] + '-' +
|
|
15
|
+
_lut[d1 & 0xff] + _lut[d1 >> 8 & 0xff] + '-' + _lut[d1 >> 16 & 0x0f | 0x40] + _lut[d1 >> 24 & 0xff] + '-' +
|
|
16
|
+
_lut[d2 & 0x3f | 0x80] + _lut[d2 >> 8 & 0xff] + '-' + _lut[d2 >> 16 & 0xff] + _lut[d2 >> 24 & 0xff] +
|
|
17
|
+
_lut[d3 & 0xff] + _lut[d3 >> 8 & 0xff] + _lut[d3 >> 16 & 0xff] + _lut[d3 >> 24 & 0xff];
|
|
18
|
+
|
|
19
|
+
return uuid.toLowerCase()
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static delayExecute(cb: (...args: any[]) => any) {
|
|
23
|
+
const delaySatate = {
|
|
24
|
+
args: [] as any[],
|
|
25
|
+
execute: false
|
|
26
|
+
}
|
|
27
|
+
const execute = (...args: any[]) => {
|
|
28
|
+
delaySatate.args = args
|
|
29
|
+
if (delaySatate.execute === true) return
|
|
30
|
+
delaySatate.execute = true
|
|
31
|
+
requestAnimationFrame(() => {
|
|
32
|
+
cb(...delaySatate.args)
|
|
33
|
+
delaySatate.execute = false
|
|
34
|
+
})
|
|
35
|
+
}
|
|
36
|
+
return execute
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { Generate }
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
type IEM = GlobalEventHandlersEventMap
|
|
2
|
+
|
|
3
|
+
interface InputConfig {
|
|
4
|
+
/**事件只触发一次,默认`false` */
|
|
5
|
+
once: boolean
|
|
6
|
+
/**将事件的处理顺序设为事件捕获,默认`false` */
|
|
7
|
+
capture: boolean
|
|
8
|
+
/**处理函数不会调用`preventDefault`来阻止默认行为时应设为true,默认`false` */
|
|
9
|
+
passive: boolean
|
|
10
|
+
/**事件触发的对象 */
|
|
11
|
+
target: Window | Document | HTMLElement
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const privateState = {
|
|
15
|
+
id: 1,
|
|
16
|
+
listener: {
|
|
17
|
+
default: (input: InputEvent, system: InputSystem) => {
|
|
18
|
+
return (event: Event) => {
|
|
19
|
+
input.event = event
|
|
20
|
+
if (input.enable) return
|
|
21
|
+
input.enable = true
|
|
22
|
+
system.quaua.push(input)
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
once: (input: InputEvent, system: InputSystem) => {
|
|
26
|
+
const execute = privateState.listener.default(input, system)
|
|
27
|
+
return (e: Event) => {
|
|
28
|
+
execute(e)
|
|
29
|
+
system.unlisten(input.id)
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
class InputEvent {
|
|
36
|
+
readonly id = privateState.id++
|
|
37
|
+
readonly type
|
|
38
|
+
readonly target
|
|
39
|
+
readonly callback: (e: Event) => void
|
|
40
|
+
readonly listener: (e: Event) => void
|
|
41
|
+
enable = false
|
|
42
|
+
event!: Event
|
|
43
|
+
|
|
44
|
+
constructor(type: keyof IEM, callback: (e: any) => void, system: InputSystem, config: InputConfig) {
|
|
45
|
+
this.type = type
|
|
46
|
+
this.target = config.target
|
|
47
|
+
this.callback = callback
|
|
48
|
+
this.listener = config.once ? privateState.listener.once(this, system) : privateState.listener.default(this, system)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
execute() {
|
|
52
|
+
this.callback(this.event)
|
|
53
|
+
this.enable = false
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
class InputSystem {
|
|
58
|
+
private _target
|
|
59
|
+
private _registry: InputEvent[] = []
|
|
60
|
+
readonly quaua: InputEvent[] = []
|
|
61
|
+
|
|
62
|
+
constructor(target: InputConfig['target']) {
|
|
63
|
+
this._target = target
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* 监听事件输入,事件在一帧中只执行一次
|
|
68
|
+
* @param type 事件类型
|
|
69
|
+
* @param callback 事件触发时的回调
|
|
70
|
+
* @param options.once 只执行一次回调
|
|
71
|
+
* @param options.target 监听事件的绑定对象
|
|
72
|
+
* @param options.capture 事件执行的阶段,true:捕获阶段执行,false:冒泡阶段执行
|
|
73
|
+
*/
|
|
74
|
+
listen<T extends keyof IEM>(type: T, callback: (event: IEM[T]) => void, options: Partial<InputConfig> = {}) {
|
|
75
|
+
const config: InputConfig = { once: false, target: this._target, passive: false, capture: false, ...options }
|
|
76
|
+
|
|
77
|
+
for (const input of this._registry) {
|
|
78
|
+
if (input.type === type && input.callback === callback && options.target === input.target) return input.id
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const input = new InputEvent(type, callback, this, config)
|
|
82
|
+
this._registry.push(input)
|
|
83
|
+
input.target.addEventListener(type, input.listener, config.capture)
|
|
84
|
+
|
|
85
|
+
return input.id
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**解除事件监听 */
|
|
89
|
+
unlisten(id: number) {
|
|
90
|
+
for (let i = 0; i < this._registry.length; i++) {
|
|
91
|
+
const input = this._registry[i]
|
|
92
|
+
if (input.id === id) {
|
|
93
|
+
this._registry.splice(i, 1)
|
|
94
|
+
input.target.removeEventListener(input.type, input.listener)
|
|
95
|
+
return
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**处理输入事件 */
|
|
101
|
+
process() {
|
|
102
|
+
const quaua = [...this.quaua]
|
|
103
|
+
for (const input of quaua) input.execute()
|
|
104
|
+
this.quaua.length = 0
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export { InputSystem }
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
type DeafultCallback = (...args: any[]) => any
|
|
2
|
+
type CallbackCollection<T extends {} = {}> = { [k: string]: DeafultCallback } & T
|
|
3
|
+
|
|
4
|
+
interface listenOptions {
|
|
5
|
+
once?: boolean
|
|
6
|
+
insertIndex?: number
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
class Listener<T extends {} = {}> {
|
|
10
|
+
private registrys: any = {}
|
|
11
|
+
|
|
12
|
+
listen<K extends keyof T>(type: K, callback: T[K], options?: listenOptions): () => void
|
|
13
|
+
listen(type: string, callback: DeafultCallback, options?: listenOptions): () => void
|
|
14
|
+
listen<K extends keyof T>(type: K | string, callback?: T[K], options: listenOptions = {}) {
|
|
15
|
+
|
|
16
|
+
let register = this.registrys[type]
|
|
17
|
+
if (register === undefined) {
|
|
18
|
+
register = []
|
|
19
|
+
this.registrys[type] = register
|
|
20
|
+
}
|
|
21
|
+
const insertIndex = options.insertIndex === undefined ? register.length : options.insertIndex
|
|
22
|
+
|
|
23
|
+
const row = register.find((r: any) => r.callback === callback)
|
|
24
|
+
if (!row) register.splice(insertIndex, 0, { once: options.once ?? false, callback })
|
|
25
|
+
const unlisten = () => this.unlisten(type as any, callback)
|
|
26
|
+
return unlisten
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
unlisten<K extends keyof T>(type: K, callback: T[K]): void
|
|
30
|
+
unlisten(type: string, callback: DeafultCallback): void
|
|
31
|
+
unlisten<K extends keyof T>(type: K, callback: T[K]) {
|
|
32
|
+
let registry = this.registrys[type]
|
|
33
|
+
if (registry === undefined) return
|
|
34
|
+
|
|
35
|
+
for (let i = 0; i < registry.length; i++) {
|
|
36
|
+
if (registry[i].callback !== callback) continue
|
|
37
|
+
|
|
38
|
+
registry.splice(i, 1)
|
|
39
|
+
if (registry.length === 0) delete this.registrys[type]
|
|
40
|
+
return
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
trigger<K extends keyof T>(type: K, ...args: Parameters<CallbackCollection<T>[K]>): void
|
|
45
|
+
trigger(type: string, ...args: any[]): void
|
|
46
|
+
trigger<K extends keyof T>(type: K, ...args: Parameters<CallbackCollection<T>[K]>) {
|
|
47
|
+
let registry = this.registrys[type]
|
|
48
|
+
if (registry === undefined) return //console.warn(`无法触发该事件 ${type as string}`)
|
|
49
|
+
|
|
50
|
+
if (registry.length === 0) return
|
|
51
|
+
|
|
52
|
+
registry = [...this.registrys[type]]
|
|
53
|
+
for (let i = 0; i < registry.length; i++) {
|
|
54
|
+
registry[i].callback(...args as any)
|
|
55
|
+
if (registry[i].once === true) this.unlisten(type, registry[i].callback)
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export { Listener }
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Generate } from "./Generate"
|
|
2
|
+
|
|
3
|
+
const privateState = {
|
|
4
|
+
instances: new Map<string, WeakRef<ObjectPool>>(),
|
|
5
|
+
freeWatcher: [] as Array<(uuid: string) => void>,
|
|
6
|
+
monitoring: () => {
|
|
7
|
+
let currentIndex = 0
|
|
8
|
+
|
|
9
|
+
const loop = () => {
|
|
10
|
+
setTimeout(loop, 5000)
|
|
11
|
+
|
|
12
|
+
const uuids = [...privateState.instances.keys()]
|
|
13
|
+
const total = uuids.length
|
|
14
|
+
|
|
15
|
+
if (currentIndex >= total) currentIndex = 0
|
|
16
|
+
|
|
17
|
+
let count = 0
|
|
18
|
+
let startIndex = currentIndex
|
|
19
|
+
const startTime = performance.now()
|
|
20
|
+
|
|
21
|
+
while (count < 500 && performance.now() - startTime < 5) {
|
|
22
|
+
if (startIndex >= total) break
|
|
23
|
+
count++
|
|
24
|
+
const uuid = uuids[startIndex++]
|
|
25
|
+
ObjectPool.get(uuid) === null ? destroyInstance(uuid) : currentIndex++
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
loop()
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const listenInstance = (type: 'free', watcher: (uuid: string) => void) => {
|
|
34
|
+
switch (type) {
|
|
35
|
+
case 'free':
|
|
36
|
+
privateState.freeWatcher.push(watcher)
|
|
37
|
+
break;
|
|
38
|
+
default:
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**将实例销毁并回收相关资源 */
|
|
44
|
+
const destroyInstance = (uuid: string) => {
|
|
45
|
+
const instance = privateState.instances.get(uuid)
|
|
46
|
+
if (instance === undefined) return
|
|
47
|
+
for (const free of privateState.freeWatcher) free(uuid)
|
|
48
|
+
privateState.instances.delete(uuid)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**对象池
|
|
52
|
+
*
|
|
53
|
+
* 以`uuid`为标识,同一个`uuid`只会存在一个实例
|
|
54
|
+
*/
|
|
55
|
+
class ObjectPool {
|
|
56
|
+
/**获取缓存实例 */
|
|
57
|
+
static get<T extends ObjectPool | null = ObjectPool | null>(uuid: string) {
|
|
58
|
+
const instance = privateState.instances.get(uuid)
|
|
59
|
+
if (instance === undefined) return null as T
|
|
60
|
+
return (instance.deref() ?? null) as T
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
readonly uuid!: string
|
|
64
|
+
/**
|
|
65
|
+
* @param uuid 实例的唯一标识
|
|
66
|
+
*/
|
|
67
|
+
constructor(uuid = Generate.uuid()) {
|
|
68
|
+
const instance = ObjectPool.get(uuid)
|
|
69
|
+
if (instance !== null) {
|
|
70
|
+
instance.beenInstantiated(instance)
|
|
71
|
+
return instance
|
|
72
|
+
}
|
|
73
|
+
this.uuid = uuid
|
|
74
|
+
|
|
75
|
+
privateState.instances.set(uuid, new WeakRef(this))
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**若在初始化时发现已存在相同uuid的实例,则会调用该方法 */
|
|
79
|
+
protected beenInstantiated(instance: ObjectPool) { }
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
privateState.monitoring()
|
|
83
|
+
|
|
84
|
+
export { listenInstance, destroyInstance, ObjectPool }
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ArrayUtils } from "./ArrayUtils"
|
|
2
|
+
class ObjectUtils {
|
|
3
|
+
|
|
4
|
+
static equals(left: { [k: string]: any }, right: { [k: string]: any }, ignore: string[] = []) {
|
|
5
|
+
const keys = Object.keys(left)
|
|
6
|
+
const rkeys = Object.keys(right)
|
|
7
|
+
if (keys.length !== rkeys.length) return false
|
|
8
|
+
const rset = new Set(rkeys)
|
|
9
|
+
for (const key of keys) {
|
|
10
|
+
if (rset.has(key) === false) return false
|
|
11
|
+
if (ignore.includes(key)) continue
|
|
12
|
+
|
|
13
|
+
const value = left[key]
|
|
14
|
+
const t = typeof value
|
|
15
|
+
|
|
16
|
+
if (t === 'string' || t === 'boolean' || t === 'number' || t === 'bigint' || t === 'undefined' || t === 'symbol' || t === null) {
|
|
17
|
+
if (value !== right[key]) return false
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (Array.isArray(value)) {
|
|
21
|
+
if (ArrayUtils.equals(value, right[key], ignore) == false) return false
|
|
22
|
+
continue
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (t === 'object') {
|
|
26
|
+
if (ObjectUtils.equals(value, right[key], ignore) === false) return false
|
|
27
|
+
continue
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return true
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
static parseKey(key: string) {
|
|
35
|
+
return key.split('.').filter(clip => clip !== '')
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static getValueByKey(target: { [k: string]: any }, key: string) {
|
|
39
|
+
if (!target) return
|
|
40
|
+
const keys = this.parseKey(key)
|
|
41
|
+
for (const key of keys) {
|
|
42
|
+
target = target[key]
|
|
43
|
+
if (target === undefined) return
|
|
44
|
+
}
|
|
45
|
+
return target
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { ObjectUtils }
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
interface SerializationObject {
|
|
2
|
+
[k: string]: any
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
type DeserializationObject<T extends { [k: string]: any } = { [k: string]: any }> = {
|
|
6
|
+
-readonly [K in keyof T as T[K] extends Function ? never : K]:
|
|
7
|
+
T[K] extends Array<infer U>
|
|
8
|
+
? U extends { [k: string]: any }
|
|
9
|
+
? Array<DeserializationObject<U>>
|
|
10
|
+
: T[K]
|
|
11
|
+
: T[K] extends object
|
|
12
|
+
? DeserializationObject<T[K]>
|
|
13
|
+
: T[K]
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const privateRules = [
|
|
17
|
+
{ parse: Infinity, stringify: '__vyr_infinity+__', },
|
|
18
|
+
{ parse: -Infinity, stringify: '__vyr_infinity-__', },
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
const privateToStringify = (key: string, value: any) => {
|
|
22
|
+
for (const rule of privateRules) {
|
|
23
|
+
if (rule.parse === value) return rule.stringify
|
|
24
|
+
}
|
|
25
|
+
return value
|
|
26
|
+
}
|
|
27
|
+
const privateToJson = (key: string, value: any) => {
|
|
28
|
+
for (const rule of privateRules) {
|
|
29
|
+
if (rule.stringify === value) return rule.parse
|
|
30
|
+
}
|
|
31
|
+
return value
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
class Serialization {
|
|
35
|
+
|
|
36
|
+
static stringify(obj: SerializationObject) {
|
|
37
|
+
return JSON.stringify(obj, privateToStringify)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static parse(str: string) {
|
|
41
|
+
return JSON.parse(str, privateToJson) as DeserializationObject
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static deepClone<T extends any = any>(obj: SerializationObject) {
|
|
45
|
+
return this.parse(this.stringify(obj)) as T
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { SerializationObject, DeserializationObject, Serialization }
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
interface TraverseNode {
|
|
2
|
+
children: TraverseNode[]
|
|
3
|
+
}
|
|
4
|
+
interface PreItem<T extends TraverseNode = TraverseNode> {
|
|
5
|
+
parent: T | null
|
|
6
|
+
des: T
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**遍历器 */
|
|
10
|
+
class Traverser {
|
|
11
|
+
|
|
12
|
+
/**前序遍历 */
|
|
13
|
+
static pre<T extends TraverseNode = TraverseNode, D extends T | null = null>(descriptor: T, cb: (sub: T, parent: D) => void, defaultParent: D = null as D) {
|
|
14
|
+
const whileQuaua: PreItem<T>[] = [{ parent: defaultParent, des: descriptor }]
|
|
15
|
+
|
|
16
|
+
while (whileQuaua.length > 0) {
|
|
17
|
+
const item = whileQuaua.pop() as PreItem<T>
|
|
18
|
+
cb(item.des, item.parent as D)
|
|
19
|
+
for (let i = item.des.children.length - 1; i >= 0; i--) {
|
|
20
|
+
whileQuaua.push({ parent: item.des, des: item.des.children[i] as T })
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**前序遍历且可以终止 */
|
|
26
|
+
static preTerminated<T extends TraverseNode = TraverseNode, D extends T | null = null>(descriptor: T, cb: (sub: T, parent: D) => true | void, defaultParent: D = null as D) {
|
|
27
|
+
const whileQuaua: PreItem<T>[] = [{ parent: defaultParent, des: descriptor }]
|
|
28
|
+
|
|
29
|
+
while (whileQuaua.length > 0) {
|
|
30
|
+
const item = whileQuaua.pop() as PreItem<T>
|
|
31
|
+
if (cb(item.des, item.parent as D) === true) continue
|
|
32
|
+
for (let i = item.des.children.length - 1; i >= 0; i--) {
|
|
33
|
+
whileQuaua.push({ parent: item.des, des: item.des.children[i] as T })
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { Traverser }
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Graphics } from '../graphics/Graphics'
|
|
2
|
+
|
|
3
|
+
const privateState = {
|
|
4
|
+
idBuilder: 0,
|
|
5
|
+
collection: new Map<number, Graphics>()
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
class Actor {
|
|
9
|
+
static seGraphics(actor: Actor, graphics: Graphics) {
|
|
10
|
+
privateState.collection.set(actor.id, graphics)
|
|
11
|
+
}
|
|
12
|
+
static getGraphics<T extends Graphics = Graphics>(actor: Actor) {
|
|
13
|
+
return (privateState.collection.get(actor.id) ?? null) as T
|
|
14
|
+
}
|
|
15
|
+
static deleteGraphics(actor: Actor) {
|
|
16
|
+
privateState.collection.delete(actor.id)
|
|
17
|
+
}
|
|
18
|
+
readonly id = privateState.idBuilder++
|
|
19
|
+
object?: any
|
|
20
|
+
|
|
21
|
+
add(actor: Actor) { }
|
|
22
|
+
|
|
23
|
+
remove(actor: Actor) { }
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
Actor,
|
|
28
|
+
}
|