@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.
Files changed (510) hide show
  1. package/.bin/install/index.js +5 -0
  2. package/.entry/app.js +362 -362
  3. package/build/index.html +1 -1
  4. package/build/js/{index.b67bf9b8.js → index.e0eed6ab.js} +1 -1
  5. package/build/js/{preview.ad0b8290.js → preview.ff6115f6.js} +1 -1
  6. package/build/login.html +1 -1
  7. package/build/preview.html +1 -1
  8. package/output/auto-provider-plugin/index.js +38 -0
  9. package/output/auto-provider-plugin/loader.js +53 -0
  10. package/output/auto-provider-plugin/package.json +1 -0
  11. package/output/builtin/build/common/example.d.ts +5 -0
  12. package/output/builtin/build/common/index.d.ts +3 -0
  13. package/output/builtin/build/common/provider.d.ts +5 -0
  14. package/output/builtin/build/common/save.d.ts +4 -0
  15. package/output/builtin/build/component/CodeEditor.vue.d.ts +11 -0
  16. package/output/builtin/build/component/ColorItem.vue.d.ts +27 -0
  17. package/output/builtin/build/component/DatasetItem.vue.d.ts +14 -0
  18. package/output/builtin/build/component/Directory.vue.d.ts +33 -0
  19. package/output/builtin/build/component/ErrorComponent.vue.d.ts +13 -0
  20. package/output/builtin/build/component/Graph.vue.d.ts +20 -0
  21. package/output/builtin/build/component/InputItem.vue.d.ts +19 -0
  22. package/output/builtin/build/component/InteractionItem.vue.d.ts +19 -0
  23. package/output/builtin/build/component/LoadingComponent.vue.d.ts +13 -0
  24. package/output/builtin/build/component/RuleItem.vue.d.ts +12 -0
  25. package/output/builtin/build/component/Timeline.vue.d.ts +7 -0
  26. package/output/builtin/build/component/VariableItem.vue.d.ts +14 -0
  27. package/output/builtin/build/component/WindowSetting.vue.d.ts +3 -0
  28. package/output/builtin/build/component/index.d.ts +14 -0
  29. package/output/builtin/build/fragment/AnimationUnitFragment.vue.d.ts +6 -0
  30. package/output/builtin/build/fragment/BaseFragment.vue.d.ts +6 -0
  31. package/output/builtin/build/fragment/DatasetFragment.vue.d.ts +3 -0
  32. package/output/builtin/build/fragment/DatasetInspectorFragment.vue.d.ts +13 -0
  33. package/output/builtin/build/fragment/DynamicFragment.vue.d.ts +3 -0
  34. package/output/builtin/build/fragment/HTMLFragment.vue.d.ts +16 -0
  35. package/output/builtin/build/fragment/InteractionInspectorFragment.vue.d.ts +21 -0
  36. package/output/builtin/build/fragment/PrefabFragment.vue.d.ts +3 -0
  37. package/output/builtin/build/fragment/PrefabInstanceFragment.vue.d.ts +3 -0
  38. package/output/builtin/build/fragment/SchedulerFragment.vue.d.ts +3 -0
  39. package/output/builtin/build/fragment/StyleFragment.vue.d.ts +8 -0
  40. package/output/builtin/build/index.d.ts +10 -0
  41. package/output/builtin/build/locale/Language.d.ts +3 -0
  42. package/output/builtin/build/locale/LanguageProvider.d.ts +326 -0
  43. package/output/builtin/build/locale/index.d.ts +2 -0
  44. package/output/builtin/build/option/Animation.d.ts +25 -0
  45. package/output/builtin/build/option/Color.d.ts +5 -0
  46. package/output/builtin/build/option/Dynamic.d.ts +5 -0
  47. package/output/builtin/build/option/HTML.d.ts +41 -0
  48. package/output/builtin/build/option/Net.d.ts +6 -0
  49. package/output/builtin/build/option/Preset.d.ts +8 -0
  50. package/output/builtin/build/option/Style.d.ts +76 -0
  51. package/output/builtin/build/option/Variable.d.ts +5 -0
  52. package/output/builtin/build/option/index.d.ts +17 -0
  53. package/output/builtin/build/preset/dataset.d.ts +8 -0
  54. package/output/builtin/build/preset/graphics.d.ts +8 -0
  55. package/output/builtin/build/preset/index.d.ts +3 -0
  56. package/output/builtin/build/preset/scheduler.d.ts +8 -0
  57. package/output/builtin/build/service/footer/action/AddDirAction.d.ts +10 -0
  58. package/output/builtin/build/service/footer/action/AddMoreAction.d.ts +26 -0
  59. package/output/builtin/build/service/footer/action/BackupAction.d.ts +10 -0
  60. package/output/builtin/build/service/footer/action/ControllerAction.d.ts +39 -0
  61. package/output/builtin/build/service/footer/action/CopyAction.d.ts +13 -0
  62. package/output/builtin/build/service/footer/action/CutAction.d.ts +13 -0
  63. package/output/builtin/build/service/footer/action/DeleteAction.d.ts +14 -0
  64. package/output/builtin/build/service/footer/action/EditFileAction.d.ts +15 -0
  65. package/output/builtin/build/service/footer/action/RenameAction.d.ts +13 -0
  66. package/output/builtin/build/service/footer/action/SelectAllAction.d.ts +14 -0
  67. package/output/builtin/build/service/footer/action/StickupAction.d.ts +16 -0
  68. package/output/builtin/build/service/footer/action/index.d.ts +11 -0
  69. package/output/builtin/build/service/footer/draggable/Draggable.d.ts +10 -0
  70. package/output/builtin/build/service/footer/draggable/index.d.ts +1 -0
  71. package/output/builtin/build/service/footer/index.d.ts +2 -0
  72. package/output/builtin/build/service/global/action/FooterAction.d.ts +18 -0
  73. package/output/builtin/build/service/global/action/RedoAction.d.ts +9 -0
  74. package/output/builtin/build/service/global/action/SidebarAction.d.ts +14 -0
  75. package/output/builtin/build/service/global/action/UndoAction.d.ts +9 -0
  76. package/output/builtin/build/service/global/action/index.d.ts +4 -0
  77. package/output/builtin/build/service/global/index.d.ts +2 -0
  78. package/output/builtin/build/service/global/scripts/index.d.ts +3 -0
  79. package/output/builtin/build/service/header/action/ExportProjectAction.d.ts +9 -0
  80. package/output/builtin/build/service/header/action/ExportSceneAction.d.ts +9 -0
  81. package/output/builtin/build/service/header/action/PreviewSceneAction.d.ts +14 -0
  82. package/output/builtin/build/service/header/action/index.d.ts +3 -0
  83. package/output/builtin/build/service/header/index.d.ts +1 -0
  84. package/output/builtin/build/service/index.d.ts +6 -0
  85. package/output/builtin/build/service/inspector/AnimationUnitViewer.vue.d.ts +7 -0
  86. package/output/builtin/build/service/inspector/DatasetInspector.vue.d.ts +7 -0
  87. package/output/builtin/build/service/inspector/DatasetViewer.vue.d.ts +7 -0
  88. package/output/builtin/build/service/inspector/DivViewer.vue.d.ts +7 -0
  89. package/output/builtin/build/service/inspector/DynamicViewer.vue.d.ts +7 -0
  90. package/output/builtin/build/service/inspector/InteractionInspector.vue.d.ts +7 -0
  91. package/output/builtin/build/service/inspector/PrefabInstanceViewer.vue.d.ts +7 -0
  92. package/output/builtin/build/service/inspector/PrefabViewer.vue.d.ts +7 -0
  93. package/output/builtin/build/service/inspector/ServiceSchedulerViewer.vue.d.ts +7 -0
  94. package/output/builtin/build/service/inspector/ServiceViewer.vue.d.ts +7 -0
  95. package/output/builtin/build/service/inspector/StyleViewer.vue.d.ts +7 -0
  96. package/output/builtin/build/service/inspector/asset/AssetInspector.vue.d.ts +3 -0
  97. package/output/builtin/build/service/inspector/draggable/Draggable.d.ts +10 -0
  98. package/output/builtin/build/service/inspector/draggable/index.d.ts +1 -0
  99. package/output/builtin/build/service/inspector/index.d.ts +1 -0
  100. package/output/builtin/build/service/inspector/scene/SceneInspector.vue.d.ts +3 -0
  101. package/output/builtin/build/service/sidebar/asset/Asset.vue.d.ts +3 -0
  102. package/output/builtin/build/service/sidebar/asset/AssetItem.vue.d.ts +18 -0
  103. package/output/builtin/build/service/sidebar/asset/AssetNavigator.d.ts +28 -0
  104. package/output/builtin/build/service/sidebar/asset/action/AddNodeAction.d.ts +54 -0
  105. package/output/builtin/build/service/sidebar/asset/action/ControllerAction.d.ts +36 -0
  106. package/output/builtin/build/service/sidebar/asset/action/CopyAction.d.ts +14 -0
  107. package/output/builtin/build/service/sidebar/asset/action/CutAction.d.ts +14 -0
  108. package/output/builtin/build/service/sidebar/asset/action/DeleteAction.d.ts +15 -0
  109. package/output/builtin/build/service/sidebar/asset/action/RenameAction.d.ts +14 -0
  110. package/output/builtin/build/service/sidebar/asset/action/SaveAction.d.ts +14 -0
  111. package/output/builtin/build/service/sidebar/asset/action/StickupAction.d.ts +15 -0
  112. package/output/builtin/build/service/sidebar/asset/action/index.d.ts +8 -0
  113. package/output/builtin/build/service/sidebar/asset/draggable/Draggable.d.ts +14 -0
  114. package/output/builtin/build/service/sidebar/asset/draggable/index.d.ts +1 -0
  115. package/output/builtin/build/service/sidebar/asset/index.d.ts +3 -0
  116. package/output/builtin/build/service/sidebar/index.d.ts +2 -0
  117. package/output/builtin/build/service/sidebar/scene/Scene.vue.d.ts +3 -0
  118. package/output/builtin/build/service/sidebar/scene/SceneItem.vue.d.ts +18 -0
  119. package/output/builtin/build/service/sidebar/scene/SceneNavigator.d.ts +36 -0
  120. package/output/builtin/build/service/sidebar/scene/action/AddNodeAction.d.ts +54 -0
  121. package/output/builtin/build/service/sidebar/scene/action/AddServiceAction.d.ts +54 -0
  122. package/output/builtin/build/service/sidebar/scene/action/ControllerAction.d.ts +39 -0
  123. package/output/builtin/build/service/sidebar/scene/action/CopyAction.d.ts +14 -0
  124. package/output/builtin/build/service/sidebar/scene/action/CutAction.d.ts +14 -0
  125. package/output/builtin/build/service/sidebar/scene/action/DeleteAction.d.ts +15 -0
  126. package/output/builtin/build/service/sidebar/scene/action/RenameAction.d.ts +14 -0
  127. package/output/builtin/build/service/sidebar/scene/action/SaveAction.d.ts +14 -0
  128. package/output/builtin/build/service/sidebar/scene/action/StickupAction.d.ts +15 -0
  129. package/output/builtin/build/service/sidebar/scene/action/index.d.ts +9 -0
  130. package/output/builtin/build/service/sidebar/scene/draggable/Draggable.d.ts +14 -0
  131. package/output/builtin/build/service/sidebar/scene/draggable/index.d.ts +1 -0
  132. package/output/builtin/build/service/sidebar/scene/index.d.ts +3 -0
  133. package/output/builtin/build/singleton/index.d.ts +1 -0
  134. package/output/builtin/build/singleton/rightMenu.d.ts +10 -0
  135. package/output/builtin/package.json +16 -0
  136. package/output/builtin/src/shims-vue.d.ts +10 -0
  137. package/output/class-wrapper-plugin/index.js +42 -0
  138. package/output/class-wrapper-plugin/loaders/descriptor.js +89 -0
  139. package/output/class-wrapper-plugin/loaders/dynamic-interpreter.js +54 -0
  140. package/output/class-wrapper-plugin/loaders/index.js +30 -0
  141. package/output/class-wrapper-plugin/loaders/input-system.js +31 -0
  142. package/output/class-wrapper-plugin/loaders/object-pool.js +79 -0
  143. package/output/class-wrapper-plugin/package.json +1 -0
  144. package/output/class-wrapper-plugin/utils.js +79 -0
  145. package/output/declare/package.json +1 -0
  146. package/output/declare/src/Config.ts +19 -0
  147. package/output/declare/src/Draggable.ts +10 -0
  148. package/output/declare/src/Extension.ts +12 -0
  149. package/output/declare/src/index.ts +3 -0
  150. package/output/declare/tsconfig.json +31 -0
  151. package/output/design/package.json +14 -0
  152. package/output/design/src/components/Button.vue +64 -0
  153. package/output/design/src/components/Card.vue +203 -0
  154. package/output/design/src/components/Cascader.vue +171 -0
  155. package/output/design/src/components/Checked.vue +124 -0
  156. package/output/design/src/components/CheckedGroup.vue +51 -0
  157. package/output/design/src/components/Col.vue +52 -0
  158. package/output/design/src/components/ColorPicker.vue +331 -0
  159. package/output/design/src/components/Confirm.vue +86 -0
  160. package/output/design/src/components/Dialog.vue +220 -0
  161. package/output/design/src/components/Divider.vue +40 -0
  162. package/output/design/src/components/Draggable.vue +50 -0
  163. package/output/design/src/components/Dropdown.vue +175 -0
  164. package/output/design/src/components/DynamicDialog.vue +113 -0
  165. package/output/design/src/components/DynamicLayouter.vue +235 -0
  166. package/output/design/src/components/Form.vue +88 -0
  167. package/output/design/src/components/Input.vue +254 -0
  168. package/output/design/src/components/InputNumber.vue +96 -0
  169. package/output/design/src/components/Label.vue +116 -0
  170. package/output/design/src/components/Loading.vue +196 -0
  171. package/output/design/src/components/Mask.vue +47 -0
  172. package/output/design/src/components/Notify.vue +130 -0
  173. package/output/design/src/components/Option.vue +159 -0
  174. package/output/design/src/components/Options.vue +202 -0
  175. package/output/design/src/components/Popover.vue +271 -0
  176. package/output/design/src/components/Provider.vue +12 -0
  177. package/output/design/src/components/RightMenu.vue +127 -0
  178. package/output/design/src/components/Row.vue +50 -0
  179. package/output/design/src/components/Scroll.vue +99 -0
  180. package/output/design/src/components/Select.vue +223 -0
  181. package/output/design/src/components/Slot.vue +23 -0
  182. package/output/design/src/components/SubTree.vue +262 -0
  183. package/output/design/src/components/Tree.vue +129 -0
  184. package/output/design/src/components/common/DraggableController.ts +113 -0
  185. package/output/design/src/components/common/ResizeListener.ts +49 -0
  186. package/output/design/src/components/composables/useDefaultProps.ts +179 -0
  187. package/output/design/src/components/composables/useDraggable.ts +65 -0
  188. package/output/design/src/components/composables/useGetter.ts +15 -0
  189. package/output/design/src/components/composables/useMarginStyle.ts +45 -0
  190. package/output/design/src/components/composables/usePopover.ts +33 -0
  191. package/output/design/src/components/composables/useProvider.ts +186 -0
  192. package/output/design/src/components/composables/useScroll.ts +46 -0
  193. package/output/design/src/components/composables/useSearch.ts +95 -0
  194. package/output/design/src/components/composables/useTimer.ts +5 -0
  195. package/output/design/src/components/index.ts +1 -0
  196. package/output/design/src/components/singleton/confirm.ts +25 -0
  197. package/output/design/src/components/singleton/dialog.ts +25 -0
  198. package/output/design/src/components/singleton/index.ts +5 -0
  199. package/output/design/src/components/singleton/loading.ts +36 -0
  200. package/output/design/src/components/singleton/notify.ts +36 -0
  201. package/output/design/src/components/types/index.ts +82 -0
  202. package/output/design/src/components/utils/Cascader.ts +52 -0
  203. package/output/design/src/components/utils/Confirm.ts +41 -0
  204. package/output/design/src/components/utils/Dialog.ts +38 -0
  205. package/output/design/src/components/utils/DynamicDialog.ts +41 -0
  206. package/output/design/src/components/utils/DynamicLayouter.ts +5 -0
  207. package/output/design/src/components/utils/FloatLayer.ts +40 -0
  208. package/output/design/src/components/utils/InputNumber.ts +3 -0
  209. package/output/design/src/components/utils/Notify.ts +25 -0
  210. package/output/design/src/components/utils/Popover.ts +58 -0
  211. package/output/design/src/components/utils/RightMenu.ts +21 -0
  212. package/output/design/src/components/utils/Scroll.ts +4 -0
  213. package/output/design/src/components/utils/Slot.ts +73 -0
  214. package/output/design/src/components/utils/index.ts +12 -0
  215. package/output/design/src/font/demo.css +539 -0
  216. package/output/design/src/font/demo_index.html +1292 -0
  217. package/output/design/src/font/iconfont.css +207 -0
  218. package/output/design/src/font/iconfont.js +1 -0
  219. package/output/design/src/font/iconfont.json +345 -0
  220. package/output/design/src/font/iconfont.ttf +0 -0
  221. package/output/design/src/font/iconfont.woff +0 -0
  222. package/output/design/src/font/iconfont.woff2 +0 -0
  223. package/output/design/src/index.ts +68 -0
  224. package/output/design/src/locale/Language.ts +10 -0
  225. package/output/design/src/locale/LanguageProvider.ts +38 -0
  226. package/output/design/src/locale/index.ts +2 -0
  227. package/output/design/src/theme/global.less +91 -0
  228. package/output/design/src/theme/index.ts +155 -0
  229. package/output/design/src/tool/ArrayUtils.ts +38 -0
  230. package/output/design/src/tool/Color.ts +7 -0
  231. package/output/design/src/tool/Draggable.ts +36 -0
  232. package/output/design/src/tool/Listener.ts +59 -0
  233. package/output/design/src/tool/index.ts +4 -0
  234. package/output/design/tsconfig.json +37 -0
  235. package/output/engine/package.json +1 -0
  236. package/output/engine/src/ArrayUtils.ts +65 -0
  237. package/output/engine/src/AsyncTask.ts +72 -0
  238. package/output/engine/src/Category.ts +119 -0
  239. package/output/engine/src/Color.ts +111 -0
  240. package/output/engine/src/Engine.ts +115 -0
  241. package/output/engine/src/Generate.ts +40 -0
  242. package/output/engine/src/InputSystem.ts +108 -0
  243. package/output/engine/src/Listener.ts +59 -0
  244. package/output/engine/src/ObjectPool.ts +84 -0
  245. package/output/engine/src/ObjectUtils.ts +49 -0
  246. package/output/engine/src/Serialization.ts +49 -0
  247. package/output/engine/src/Traverser.ts +39 -0
  248. package/output/engine/src/actor/Actor.ts +28 -0
  249. package/output/engine/src/actor/AnimationUnitActor.ts +289 -0
  250. package/output/engine/src/actor/DivActor.ts +70 -0
  251. package/output/engine/src/actor/FragmentActor.ts +56 -0
  252. package/output/engine/src/actor/HTMActor.ts +169 -0
  253. package/output/engine/src/actor/HTMServiceActor.ts +57 -0
  254. package/output/engine/src/actor/HTMTransformControllerActor.ts +409 -0
  255. package/output/engine/src/actor/StyleActor.ts +96 -0
  256. package/output/engine/src/actor/index.ts +8 -0
  257. package/output/engine/src/asset/Asset.ts +282 -0
  258. package/output/engine/src/asset/AssetGraph.ts +246 -0
  259. package/output/engine/src/asset/index.ts +2 -0
  260. package/output/engine/src/descriptor/AnimationUnitDescriptor.ts +65 -0
  261. package/output/engine/src/descriptor/CameraDescriptor.ts +12 -0
  262. package/output/engine/src/descriptor/ControllerDescriptor.ts +16 -0
  263. package/output/engine/src/descriptor/DatasetDescriptor.ts +90 -0
  264. package/output/engine/src/descriptor/Descriptor.ts +388 -0
  265. package/output/engine/src/descriptor/DivDescriptor.ts +18 -0
  266. package/output/engine/src/descriptor/DynamicDescriptor.ts +27 -0
  267. package/output/engine/src/descriptor/HTMLDescriptor.ts +87 -0
  268. package/output/engine/src/descriptor/HTMLServiceDescriptor.ts +19 -0
  269. package/output/engine/src/descriptor/HTMLTransformControllerDescriptor.ts +34 -0
  270. package/output/engine/src/descriptor/NodeDescriptor.ts +32 -0
  271. package/output/engine/src/descriptor/PrefabDescriptor.ts +53 -0
  272. package/output/engine/src/descriptor/PrefabInstanceDescriptor.ts +32 -0
  273. package/output/engine/src/descriptor/ServiceDescriptor.ts +32 -0
  274. package/output/engine/src/descriptor/ServiceSchedulerDescriptor.ts +32 -0
  275. package/output/engine/src/descriptor/StyleDescriptor.ts +213 -0
  276. package/output/engine/src/descriptor/index.ts +16 -0
  277. package/output/engine/src/graphics/Collection.ts +25 -0
  278. package/output/engine/src/graphics/Compilation.ts +74 -0
  279. package/output/engine/src/graphics/Graphics.ts +487 -0
  280. package/output/engine/src/graphics/Observer.ts +36 -0
  281. package/output/engine/src/graphics/Unit.ts +83 -0
  282. package/output/engine/src/graphics/VariableProxy.ts +92 -0
  283. package/output/engine/src/graphics/index.ts +5 -0
  284. package/output/engine/src/index.ts +27 -0
  285. package/output/engine/src/interaction/InteractionDescriptor.ts +96 -0
  286. package/output/engine/src/interaction/InteractionExecutor.ts +84 -0
  287. package/output/engine/src/interaction/Scriptable.ts +40 -0
  288. package/output/engine/src/interaction/index.ts +3 -0
  289. package/output/engine/src/interpreter/AnimationUnitInterpreter.ts +53 -0
  290. package/output/engine/src/interpreter/DatasetInterpreter.ts +11 -0
  291. package/output/engine/src/interpreter/DivInterpreter.ts +44 -0
  292. package/output/engine/src/interpreter/DynamicInterpreter.ts +207 -0
  293. package/output/engine/src/interpreter/FragmentInterpreter.ts +34 -0
  294. package/output/engine/src/interpreter/HTMLServiceInterpreter.ts +47 -0
  295. package/output/engine/src/interpreter/HTMLTransformControllerInterpreter.ts +40 -0
  296. package/output/engine/src/interpreter/Interpreter.ts +69 -0
  297. package/output/engine/src/interpreter/PrefaInterpreter.ts +11 -0
  298. package/output/engine/src/interpreter/PrefabInstanceInterpreter.ts +12 -0
  299. package/output/engine/src/interpreter/ServiceInterpreter.ts +24 -0
  300. package/output/engine/src/interpreter/ServiceSchedulerInterpreter.ts +42 -0
  301. package/output/engine/src/interpreter/StyleInterpreter.ts +66 -0
  302. package/output/engine/src/interpreter/index.ts +13 -0
  303. package/output/engine/src/locale/Language.ts +10 -0
  304. package/output/engine/src/locale/LanguageProvider.ts +52 -0
  305. package/output/engine/src/locale/index.ts +2 -0
  306. package/output/engine/src/math/Euler.ts +303 -0
  307. package/output/engine/src/math/Matrix4.ts +1123 -0
  308. package/output/engine/src/math/Quaternion.ts +737 -0
  309. package/output/engine/src/math/Vector2.ts +680 -0
  310. package/output/engine/src/math/Vector3.ts +1062 -0
  311. package/output/engine/src/math/index.ts +5 -0
  312. package/output/engine/src/math/utils.ts +17 -0
  313. package/output/engine/src/preset/execute/dataset/compile.ts +99 -0
  314. package/output/engine/src/preset/execute/dataset/index.ts +2 -0
  315. package/output/engine/src/preset/execute/dataset/update.ts +51 -0
  316. package/output/engine/src/preset/execute/graphics/index.ts +1 -0
  317. package/output/engine/src/preset/execute/graphics/invoke.ts +48 -0
  318. package/output/engine/src/preset/execute/index.ts +4 -0
  319. package/output/engine/src/preset/execute/net/http.ts +95 -0
  320. package/output/engine/src/preset/execute/net/index.ts +1 -0
  321. package/output/engine/src/preset/execute/scheduler/index.ts +1 -0
  322. package/output/engine/src/preset/execute/scheduler/switch.ts +46 -0
  323. package/output/engine/src/preset/index.ts +7 -0
  324. package/output/engine/src/preset/interaction/dataset/compile.ts +27 -0
  325. package/output/engine/src/preset/interaction/dataset/index.ts +1 -0
  326. package/output/engine/src/preset/interaction/graphics/index.ts +1 -0
  327. package/output/engine/src/preset/interaction/graphics/invoke.ts +27 -0
  328. package/output/engine/src/preset/interaction/index.ts +3 -0
  329. package/output/engine/src/preset/interaction/scheduler/index.ts +1 -0
  330. package/output/engine/src/preset/interaction/scheduler/switch.ts +27 -0
  331. package/output/engine/src/setup/index.ts +17 -0
  332. package/output/engine/src/utils/AssetProvider.ts +73 -0
  333. package/output/engine/src/utils/constants.ts +10 -0
  334. package/output/engine/src/utils/index.ts +2 -0
  335. package/output/engine/tsconfig.json +31 -0
  336. package/output/locale/build/index.d.ts +18 -0
  337. package/output/locale/build/index.js +71 -0
  338. package/output/locale/package.json +1 -0
  339. package/output/locale/src/index.ts +79 -0
  340. package/output/locale/tsconfig.json +29 -0
  341. package/output/remote/package.json +1 -0
  342. package/output/remote/src/Bridge.ts +133 -0
  343. package/output/remote/src/ChangeScriptable.ts +22 -0
  344. package/output/remote/src/Collection.ts +36 -0
  345. package/output/remote/src/RemoteExecutor.ts +519 -0
  346. package/output/remote/src/RemoteInvoker.ts +72 -0
  347. package/output/remote/src/RemoteProcess.ts +87 -0
  348. package/output/remote/src/index.ts +7 -0
  349. package/output/remote/src/job/IJob.ts +6 -0
  350. package/output/remote/src/job/Job.ts +16 -0
  351. package/output/remote/src/job/asset/add.ts +23 -0
  352. package/output/remote/src/job/asset/dragdrap.ts +24 -0
  353. package/output/remote/src/job/asset/index.ts +6 -0
  354. package/output/remote/src/job/asset/load.ts +20 -0
  355. package/output/remote/src/job/asset/remove.ts +20 -0
  356. package/output/remote/src/job/asset/unload.ts +18 -0
  357. package/output/remote/src/job/asset/update.ts +22 -0
  358. package/output/remote/src/job/bridge/connection.ts +18 -0
  359. package/output/remote/src/job/bridge/disconnect.ts +29 -0
  360. package/output/remote/src/job/bridge/index.ts +2 -0
  361. package/output/remote/src/job/index.ts +1 -0
  362. package/output/remote/src/job/invoke/alert.ts +20 -0
  363. package/output/remote/src/job/invoke/animation.ts +45 -0
  364. package/output/remote/src/job/invoke/event.ts +40 -0
  365. package/output/remote/src/job/invoke/index.ts +8 -0
  366. package/output/remote/src/job/invoke/orbit.ts +20 -0
  367. package/output/remote/src/job/invoke/pick.ts +15 -0
  368. package/output/remote/src/job/invoke/properties.ts +43 -0
  369. package/output/remote/src/job/invoke/screenshot.ts +35 -0
  370. package/output/remote/src/job/invoke/transform.ts +36 -0
  371. package/output/remote/src/job/scene/add.ts +22 -0
  372. package/output/remote/src/job/scene/dragdrap.ts +23 -0
  373. package/output/remote/src/job/scene/index.ts +6 -0
  374. package/output/remote/src/job/scene/load.ts +19 -0
  375. package/output/remote/src/job/scene/remove.ts +19 -0
  376. package/output/remote/src/job/scene/unload.ts +17 -0
  377. package/output/remote/src/job/scene/update.ts +20 -0
  378. package/output/remote/src/locale/Language.ts +10 -0
  379. package/output/remote/src/locale/LanguageProvider.ts +15 -0
  380. package/output/remote/src/locale/index.ts +2 -0
  381. package/output/remote/src/utils/index.ts +85 -0
  382. package/output/remote/src/utils/screenshot.ts +20 -0
  383. package/output/remote/tsconfig.json +31 -0
  384. package/output/rollup-config-plugin/index.js +46 -0
  385. package/output/rollup-config-plugin/package.json +8 -0
  386. package/output/runtime/build/Action.d.ts +42 -0
  387. package/output/runtime/build/DataService.d.ts +22 -0
  388. package/output/runtime/build/DraggableService.d.ts +37 -0
  389. package/output/runtime/build/InspectorService.d.ts +18 -0
  390. package/output/runtime/build/PresetService.d.ts +32 -0
  391. package/output/runtime/build/RemoteService.d.ts +12 -0
  392. package/output/runtime/build/Runtime.d.ts +8 -0
  393. package/output/runtime/build/ShortcutkeyService.d.ts +23 -0
  394. package/output/runtime/build/data/body.d.ts +13 -0
  395. package/output/runtime/build/data/footer.d.ts +42 -0
  396. package/output/runtime/build/data/global.d.ts +15 -0
  397. package/output/runtime/build/data/header.d.ts +11 -0
  398. package/output/runtime/build/data/inspector.d.ts +10 -0
  399. package/output/runtime/build/data/sidebar.d.ts +11 -0
  400. package/output/runtime/build/data/status.d.ts +17 -0
  401. package/output/runtime/build/index.d.ts +10 -0
  402. package/output/runtime/build/locale/Language.d.ts +3 -0
  403. package/output/runtime/build/locale/LanguageProvider.d.ts +31 -0
  404. package/output/runtime/build/locale/index.d.ts +2 -0
  405. package/output/runtime/build/navigator/SidebarNavigator.d.ts +52 -0
  406. package/output/runtime/build/navigator/index.d.ts +1 -0
  407. package/output/runtime/package.json +16 -0
  408. package/output/service/package.json +1 -0
  409. package/output/service/src/Service.ts +44 -0
  410. package/output/service/src/index.ts +2 -0
  411. package/output/service/src/locale/Language.ts +10 -0
  412. package/output/service/src/locale/LanguageProvider.ts +15 -0
  413. package/output/service/src/locale/index.ts +2 -0
  414. package/output/service/tsconfig.json +31 -0
  415. package/output/service-asset/package.json +1 -0
  416. package/output/service-asset/src/AssetMethodProvider.ts +132 -0
  417. package/output/service-asset/src/AssetService.ts +102 -0
  418. package/output/service-asset/src/index.ts +2 -0
  419. package/output/service-asset/src/locale/Language.ts +10 -0
  420. package/output/service-asset/src/locale/LanguageProvider.ts +15 -0
  421. package/output/service-asset/src/locale/index.ts +2 -0
  422. package/output/service-asset/tsconfig.json +31 -0
  423. package/output/service-graph/package.json +1 -0
  424. package/output/service-graph/src/GraphDrawer.ts +309 -0
  425. package/output/service-graph/src/GraphService.ts +181 -0
  426. package/output/service-graph/src/asset/font/demo.css +539 -0
  427. package/output/service-graph/src/asset/font/demo_index.html +326 -0
  428. package/output/service-graph/src/asset/font/iconfont.css +39 -0
  429. package/output/service-graph/src/asset/font/iconfont.js +1 -0
  430. package/output/service-graph/src/asset/font/iconfont.json +51 -0
  431. package/output/service-graph/src/asset/font/iconfont.ttf +0 -0
  432. package/output/service-graph/src/asset/font/iconfont.woff +0 -0
  433. package/output/service-graph/src/asset/font/iconfont.woff2 +0 -0
  434. package/output/service-graph/src/asset/less/index.less +108 -0
  435. package/output/service-graph/src/common/InteractionUnit.ts +65 -0
  436. package/output/service-graph/src/common/Unit.ts +172 -0
  437. package/output/service-graph/src/index.ts +7 -0
  438. package/output/service-graph/src/locale/Language.ts +10 -0
  439. package/output/service-graph/src/locale/LanguageProvider.ts +16 -0
  440. package/output/service-graph/src/locale/index.ts +2 -0
  441. package/output/service-graph/tsconfig.json +34 -0
  442. package/output/service-rpc/package.json +1 -0
  443. package/output/service-rpc/src/IMessage.ts +14 -0
  444. package/output/service-rpc/src/Message.ts +17 -0
  445. package/output/service-rpc/src/Operation.ts +113 -0
  446. package/output/service-rpc/src/RpcService.ts +122 -0
  447. package/output/service-rpc/src/Scheme.ts +20 -0
  448. package/output/service-rpc/src/UseRecord.ts +50 -0
  449. package/output/service-rpc/src/User.ts +21 -0
  450. package/output/service-rpc/src/VirtualNode.ts +107 -0
  451. package/output/service-rpc/src/asset/add.ts +35 -0
  452. package/output/service-rpc/src/asset/close.ts +35 -0
  453. package/output/service-rpc/src/asset/copy.ts +23 -0
  454. package/output/service-rpc/src/asset/create.ts +39 -0
  455. package/output/service-rpc/src/asset/cut.ts +23 -0
  456. package/output/service-rpc/src/asset/delete.ts +28 -0
  457. package/output/service-rpc/src/asset/dragdrap.ts +36 -0
  458. package/output/service-rpc/src/asset/index.ts +13 -0
  459. package/output/service-rpc/src/asset/initialize.ts +24 -0
  460. package/output/service-rpc/src/asset/open.ts +35 -0
  461. package/output/service-rpc/src/asset/remove.ts +29 -0
  462. package/output/service-rpc/src/asset/rename.ts +21 -0
  463. package/output/service-rpc/src/asset/select.ts +19 -0
  464. package/output/service-rpc/src/asset/update.ts +39 -0
  465. package/output/service-rpc/src/dep/add.ts +22 -0
  466. package/output/service-rpc/src/dep/create.ts +23 -0
  467. package/output/service-rpc/src/dep/delete.ts +23 -0
  468. package/output/service-rpc/src/dep/index.ts +5 -0
  469. package/output/service-rpc/src/dep/remove.ts +23 -0
  470. package/output/service-rpc/src/dep/update.ts +22 -0
  471. package/output/service-rpc/src/index.ts +14 -0
  472. package/output/service-rpc/src/locale/Language.ts +10 -0
  473. package/output/service-rpc/src/locale/LanguageProvider.ts +15 -0
  474. package/output/service-rpc/src/locale/index.ts +2 -0
  475. package/output/service-rpc/src/rpc/confirm.ts +32 -0
  476. package/output/service-rpc/src/rpc/connection.ts +20 -0
  477. package/output/service-rpc/src/rpc/disconnect.ts +20 -0
  478. package/output/service-rpc/src/rpc/getUser.ts +37 -0
  479. package/output/service-rpc/src/rpc/index.ts +9 -0
  480. package/output/service-rpc/src/rpc/login.ts +35 -0
  481. package/output/service-rpc/src/rpc/logout.ts +20 -0
  482. package/output/service-rpc/src/rpc/redo.ts +18 -0
  483. package/output/service-rpc/src/rpc/undo.ts +18 -0
  484. package/output/service-rpc/src/scene/add.ts +35 -0
  485. package/output/service-rpc/src/scene/create.ts +28 -0
  486. package/output/service-rpc/src/scene/delete.ts +27 -0
  487. package/output/service-rpc/src/scene/download.ts +20 -0
  488. package/output/service-rpc/src/scene/dragdrap.ts +36 -0
  489. package/output/service-rpc/src/scene/index.ts +10 -0
  490. package/output/service-rpc/src/scene/initialize.ts +36 -0
  491. package/output/service-rpc/src/scene/record.ts +22 -0
  492. package/output/service-rpc/src/scene/remove.ts +28 -0
  493. package/output/service-rpc/src/scene/switch.ts +37 -0
  494. package/output/service-rpc/src/scene/update.ts +34 -0
  495. package/output/service-rpc/src/sidebar/index.ts +1 -0
  496. package/output/service-rpc/src/sidebar/switch.ts +35 -0
  497. package/output/service-rpc/tsconfig.json +31 -0
  498. package/output/service-scene/package.json +1 -0
  499. package/output/service-scene/src/SceneMethodProvider.ts +129 -0
  500. package/output/service-scene/src/SceneService.ts +78 -0
  501. package/output/service-scene/src/index.ts +2 -0
  502. package/output/service-scene/src/locale/Language.ts +10 -0
  503. package/output/service-scene/src/locale/LanguageProvider.ts +15 -0
  504. package/output/service-scene/src/locale/index.ts +2 -0
  505. package/output/service-scene/tsconfig.json +31 -0
  506. package/output/var-rename-plugin/index.js +74 -0
  507. package/output/var-rename-plugin/package.json +1 -0
  508. package/package.json +1 -82
  509. /package/build/js/{1111.d7fb9219.js → 1111.1f95eaf7.js} +0 -0
  510. /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
+ }