@anov/3d 0.0.321 → 0.0.323

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 (78) hide show
  1. package/dist/anov3d.js +8 -64
  2. package/dist/anov3d.js.map +1 -1
  3. package/dist/applicationApi.js +22 -59
  4. package/dist/applicationApi.js.map +1 -1
  5. package/dist/hooksManager.js +17 -22
  6. package/dist/hooksManager.js.map +1 -1
  7. package/dist/index.js +2 -3
  8. package/dist/index.js.map +1 -1
  9. package/dist/module/animation/motion/index.js +4 -2
  10. package/dist/module/animation/motion/index.js.map +1 -1
  11. package/dist/module/camera/index.js +1 -1
  12. package/dist/module/camera/index.js.map +1 -1
  13. package/dist/module/entity/area/index.js +3 -3
  14. package/dist/module/entity/area/index.js.map +1 -1
  15. package/dist/module/entity/baseEntity.js +4 -13
  16. package/dist/module/entity/baseEntity.js.map +1 -1
  17. package/dist/module/entity/batch/index.js +10 -12
  18. package/dist/module/entity/batch/index.js.map +1 -1
  19. package/dist/module/entity/flyline/index.js +3 -3
  20. package/dist/module/entity/flyline/index.js.map +1 -1
  21. package/dist/module/entity/group/index.js +4 -18
  22. package/dist/module/entity/group/index.js.map +1 -1
  23. package/dist/module/entity/heatmap/index.js +4 -16
  24. package/dist/module/entity/heatmap/index.js.map +1 -1
  25. package/dist/module/entity/index.js +44 -47
  26. package/dist/module/entity/index.js.map +1 -1
  27. package/dist/module/entity/infoPanel/index.js +2 -2
  28. package/dist/module/entity/infoPanel/index.js.map +1 -1
  29. package/dist/module/entity/light/pointLight/index.js +2 -2
  30. package/dist/module/entity/light/pointLight/index.js.map +1 -1
  31. package/dist/module/entity/mark/index.js +14 -11
  32. package/dist/module/entity/mark/index.js.map +1 -1
  33. package/dist/module/entity/model/index.js +12 -29
  34. package/dist/module/entity/model/index.js.map +1 -1
  35. package/dist/module/entity/model/load/loadFbx.js +2 -2
  36. package/dist/module/entity/model/load/loadFbx.js.map +1 -1
  37. package/dist/module/entity/model/load/loadGlb.js +12 -7
  38. package/dist/module/entity/model/load/loadGlb.js.map +1 -1
  39. package/dist/module/entity/poi/index.js +3 -3
  40. package/dist/module/entity/poi/index.js.map +1 -1
  41. package/dist/module/entity/shape/index.js +14 -16
  42. package/dist/module/entity/shape/index.js.map +1 -1
  43. package/dist/module/entity/spline/index.js +4 -4
  44. package/dist/module/entity/spline/index.js.map +1 -1
  45. package/dist/module/entity/strategy.js.map +1 -1
  46. package/dist/module/entity/traffic/realismTraffic/index.js +5 -17
  47. package/dist/module/entity/traffic/realismTraffic/index.js.map +1 -1
  48. package/dist/module/entity/traffic/streamerTraffic/index.js +4 -16
  49. package/dist/module/entity/traffic/streamerTraffic/index.js.map +1 -1
  50. package/dist/module/entity/videoPanel/index.js +3 -3
  51. package/dist/module/entity/videoPanel/index.js.map +1 -1
  52. package/dist/module/environment/index.js +4 -3
  53. package/dist/module/environment/index.js.map +1 -1
  54. package/dist/module/environment/season/index.js +1 -1
  55. package/dist/module/environment/season/index.js.map +1 -1
  56. package/dist/module/eventBus/index.js +5 -1
  57. package/dist/module/eventBus/index.js.map +1 -1
  58. package/dist/module/material/index.js +6 -5
  59. package/dist/module/material/index.js.map +1 -1
  60. package/dist/module/scene/fileParse.js +17 -22
  61. package/dist/module/scene/fileParse.js.map +1 -1
  62. package/dist/module/scene/index.js +11 -10
  63. package/dist/module/scene/index.js.map +1 -1
  64. package/dist/sdkEntry.js +32 -25
  65. package/dist/sdkEntry.js.map +1 -1
  66. package/dist/utils/index.js +1 -1
  67. package/dist/utils/index.js.map +1 -1
  68. package/dist/utils/messageFn.js +6 -20
  69. package/dist/utils/messageFn.js.map +1 -1
  70. package/package.json +4 -4
  71. package/dist/__mocks__/ability-mock.js +0 -124
  72. package/dist/__mocks__/ability-mock.js.map +0 -1
  73. package/dist/__mocks__/geo-3d-mock.js +0 -10
  74. package/dist/__mocks__/geo-3d-mock.js.map +0 -1
  75. package/dist/utils/debugTools.js +0 -364
  76. package/dist/utils/debugTools.js.map +0 -1
  77. package/dist/utils/messageTracer.js +0 -369
  78. package/dist/utils/messageTracer.js.map +0 -1
package/dist/anov3d.js CHANGED
@@ -10,27 +10,11 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
10
10
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
12
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
- import { MathUtils, SceneControl, Vector3 } from '@anov/3d-core';
13
+ import { MathUtils, SceneControl, Vector3, utils } from '@anov/3d-core';
14
14
  import { initPostEffects } from '@anov/3d-ability';
15
15
  import EventBus from "./module/eventBus";
16
16
  import { object2Vector3 } from "./utils/index";
17
- // import registerHooks from './hooksManager'
18
-
19
- export var defaultCameraParams = {
20
- fov: 60,
21
- near: 0.1,
22
- far: 1000000,
23
- position: {
24
- x: 0,
25
- y: 100,
26
- z: 200
27
- },
28
- lookAt: {
29
- x: 0,
30
- y: 0,
31
- z: 0
32
- }
33
- };
17
+ import { defaultCameraParams } from "./index";
34
18
  var Anov3D = /*#__PURE__*/function () {
35
19
  function Anov3D(opts) {
36
20
  var _camera$limit;
@@ -39,7 +23,6 @@ var Anov3D = /*#__PURE__*/function () {
39
23
  _defineProperty(this, "opts", void 0);
40
24
  _defineProperty(this, "sceneControl", void 0);
41
25
  _defineProperty(this, "eventBus", void 0);
42
- _defineProperty(this, "cleanupHooks", void 0);
43
26
  this.opts = opts;
44
27
 
45
28
  // 获取默认和传入的相机参数
@@ -47,9 +30,7 @@ var Anov3D = /*#__PURE__*/function () {
47
30
  camera = _opts$camera === void 0 ? {} : _opts$camera,
48
31
  _opts$container = opts.container,
49
32
  clientWidth = _opts$container.clientWidth,
50
- clientHeight = _opts$container.clientHeight,
51
- _opts$decoderPath = opts.decoderPath,
52
- decoderPath = _opts$decoderPath === void 0 ? '/draco/' : _opts$decoderPath;
33
+ clientHeight = _opts$container.clientHeight;
53
34
  var defaultPosition = defaultCameraParams.position,
54
35
  defaultRest = _objectWithoutProperties(defaultCameraParams, _excluded);
55
36
 
@@ -84,49 +65,19 @@ var Anov3D = /*#__PURE__*/function () {
84
65
  css3DRenderer: true,
85
66
  ambientLight: true
86
67
  });
87
- scene.context.storeManagement.set('decoderPath', decoderPath);
88
68
  scene.render(opts.container);
89
- initPostEffects(scene.scene, scene.renderer, scene.camera, undefined, scene);
90
- scene.context.emitter.emit('scene-completed', scene);
91
69
  // scene.controls.target!.copy(new Vector3().fromArray(cameraParams.target! || [0, 0, 0]))
92
70
  // this.logInfo(scene)
71
+ initPostEffects(scene.scene, scene.renderer, scene.camera);
72
+ utils.emitter.emit('scene-completed', scene);
93
73
 
74
+ // 不考虑 tree-shaking
94
75
  this.sceneControl = scene;
95
76
  this.eventBus = new EventBus(this);
96
- scene.context.storeManagement.set('event-bus', this.eventBus);
97
-
98
- // this.cleanupHooks = registerHooks(scene)
77
+ utils.storeManagement.set('event-bus', this.eventBus);
78
+ utils.emitter.emit('instantiation-completed', this);
99
79
  }
100
80
  _createClass(Anov3D, [{
101
- key: "storeManagement",
102
- get: function get() {
103
- return this.sceneControl.context.storeManagement;
104
- }
105
- }, {
106
- key: "on",
107
- value: function on() {
108
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
109
- args[_key] = arguments[_key];
110
- }
111
- this.sceneControl.context.emitter.on.apply(this.sceneControl.context.emitter, args);
112
- }
113
- }, {
114
- key: "off",
115
- value: function off() {
116
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
117
- args[_key2] = arguments[_key2];
118
- }
119
- this.sceneControl.context.emitter.off.apply(this.sceneControl.context.emitter, args);
120
- }
121
- }, {
122
- key: "emit",
123
- value: function emit() {
124
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
125
- args[_key3] = arguments[_key3];
126
- }
127
- this.sceneControl.context.emitter.emit.apply(this.sceneControl.context.emitter, args);
128
- }
129
- }, {
130
81
  key: "logInfo",
131
82
  value: function logInfo(scene) {
132
83
  var TEX_SLOTS = ['map', 'normalMap', 'roughnessMap', 'metalnessMap', 'aoMap', 'emissiveMap', 'alphaMap', 'lightMap'];
@@ -181,13 +132,6 @@ var Anov3D = /*#__PURE__*/function () {
181
132
  }
182
133
  return orbitControls;
183
134
  }
184
- }, {
185
- key: "destroy",
186
- value: function destroy() {
187
- var _this$cleanupHooks, _this$sceneControl;
188
- (_this$cleanupHooks = this.cleanupHooks) === null || _this$cleanupHooks === void 0 || _this$cleanupHooks.call(this);
189
- (_this$sceneControl = this.sceneControl) === null || _this$sceneControl === void 0 || _this$sceneControl.destroy();
190
- }
191
135
  }]);
192
136
  return Anov3D;
193
137
  }();
@@ -1 +1 @@
1
- {"version":3,"names":["MathUtils","SceneControl","Vector3","initPostEffects","EventBus","object2Vector3","defaultCameraParams","fov","near","far","position","x","y","z","lookAt","Anov3D","opts","_camera$limit","_classCallCheck","_defineProperty","_opts$camera","camera","_opts$container","container","clientWidth","clientHeight","_opts$decoderPath","decoderPath","defaultPosition","defaultRest","_objectWithoutProperties","_excluded","limit","pitch","min","max","Math","cameraParams","_objectSpread","fromArray","orbitControls","target","scene","defCameraOps","aspect","rendererOps","shadowMap","reset","css2DRenderer","css3DRenderer","ambientLight","context","storeManagement","set","render","renderer","undefined","emitter","emit","sceneControl","eventBus","_createClass","key","get","value","on","_len","arguments","length","args","Array","_key","apply","off","_len2","_key2","_len3","_key3","logInfo","TEX_SLOTS","setInterval","uuids","Set","totalMB","traverse","obj","isMesh","mesh","mats","isArray","material","forEach","mat","slot","tex","has","uuid","add","img","image","width","height","console","table","size","info","memory","textures","geometries","calls","triangles","toFixed","getOrbitControls","params","yaw","distance","minPolarAngle","degToRad","maxPolarAngle","minAzimuthAngle","maxAzimuthAngle","minDistance","maxDistance","destroy","_this$cleanupHooks","_this$sceneControl","cleanupHooks","call"],"sources":["../src/anov3d.ts"],"sourcesContent":["import type { MeshStandardMaterial, Texture } from '@anov/3d-core'\nimport { MathUtils, SceneControl, Vector3 } from '@anov/3d-core'\nimport { initPostEffects } from '@anov/3d-ability'\nimport EventBus from './module/eventBus'\nimport { object2Vector3 } from './utils/index'\nimport type { InitOptions } from './applicationApiType'\n\n// import registerHooks from './hooksManager'\n\nexport const defaultCameraParams = {\n fov: 60,\n near: 0.1,\n far: 1000000,\n position: { x: 0, y: 100, z: 200 },\n lookAt: { x: 0, y: 0, z: 0 },\n}\n\nexport type Anov3DOptions = {\n container: HTMLElement\n camera?: InitOptions['camera']\n decoderPath?: string\n}\n\nclass Anov3D {\n zoomRatio = 1\n opts: Anov3DOptions\n sceneControl: SceneControl\n eventBus: EventBus\n private cleanupHooks: () => void\n\n constructor(opts: Anov3DOptions) {\n this.opts = opts\n\n // 获取默认和传入的相机参数\n const { camera = {}, container: { clientWidth, clientHeight }, decoderPath = '/draco/' } = opts\n const { position: defaultPosition, ...defaultRest } = defaultCameraParams\n\n // 俯仰角转换,SCC取值范围是-90-90,转换到0-180\n if (camera.limit?.pitch) {\n const { pitch } = camera.limit\n const min = 90 - pitch[0]\n const max = 90 - pitch[1]\n camera.limit.pitch = [Math.min(min, max), Math.max(min, max)]\n }\n // 初始化相机参数\n const cameraParams = {\n limit: {},\n ...defaultRest,\n ...camera,\n position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultPosition),\n }\n // const orbitControls = this.getOrbitControls(cameraParams.limit) // 控制器参数\n const orbitControls = { limit: cameraParams.limit, target: cameraParams.target || [0, 0, 0] } // 控制器参数\n const scene = new SceneControl({\n defCameraOps: {\n ...cameraParams,\n aspect: clientWidth / clientHeight,\n },\n rendererOps: {\n shadowMap: true,\n },\n orbitControls,\n reset: true,\n css2DRenderer: true,\n css3DRenderer: true,\n ambientLight: true,\n })\n\n scene.context.storeManagement.set('decoderPath', decoderPath)\n\n scene.render(opts.container)\n\n initPostEffects(scene.scene, scene.renderer, scene.camera, undefined, scene)\n scene.context.emitter.emit('scene-completed', scene)\n // scene.controls.target!.copy(new Vector3().fromArray(cameraParams.target! || [0, 0, 0]))\n // this.logInfo(scene)\n\n this.sceneControl = scene\n this.eventBus = new EventBus(this as any)\n\n scene.context.storeManagement.set('event-bus', this.eventBus)\n\n // this.cleanupHooks = registerHooks(scene)\n }\n\n get storeManagement() {\n return this.sceneControl.context.storeManagement\n }\n\n on(...args: any[]) {\n this.sceneControl.context.emitter.on.apply(this.sceneControl.context.emitter, args)\n }\n\n off(...args: any[]) {\n this.sceneControl.context.emitter.off.apply(this.sceneControl.context.emitter, args)\n }\n\n emit(...args: any[]) {\n this.sceneControl.context.emitter.emit.apply(this.sceneControl.context.emitter, args)\n }\n\n logInfo(scene) {\n const TEX_SLOTS: string[] = [\n 'map', 'normalMap', 'roughnessMap', 'metalnessMap',\n 'aoMap', 'emissiveMap', 'alphaMap', 'lightMap',\n ]\n setInterval(() => {\n const renderer = scene.renderer\n const uuids = new Set<string>()\n let totalMB = 0\n scene.scene.traverse((obj) => {\n if (!(obj as any).isMesh)\n return\n const mesh = obj\n const mats = Array.isArray(mesh.material) ? mesh.material : [mesh.material]\n mats.forEach((mat) => {\n TEX_SLOTS.forEach((slot) => {\n const tex = (mat as MeshStandardMaterial)[slot] as Texture | null\n if (!tex)\n return\n if (!uuids.has(tex.uuid)) {\n uuids.add(tex.uuid)\n const img = tex.image as HTMLImageElement | null\n if (img)\n totalMB += (img.width * img.height * 4) / 1024 / 1024\n }\n })\n })\n })\n\n console.table({\n '场景纹理数': uuids.size,\n '渲染器纹理数': renderer.info.memory.textures,\n '几何体数量': renderer.info.memory.geometries,\n '渲染调用次数': renderer.info.render.calls,\n '三角面数': renderer.info.render.triangles,\n '估算显存(MB)': totalMB.toFixed(0),\n })\n }, 5000)\n }\n\n getOrbitControls(params: { pitch?: number[]\n yaw?: number[]\n distance?: number[] }) {\n const { pitch, yaw, distance } = params\n const orbitControls: any = {}\n if (pitch?.length > 1) {\n orbitControls.minPolarAngle = MathUtils.degToRad(pitch[0])\n orbitControls.maxPolarAngle = MathUtils.degToRad(pitch[1])\n }\n if (yaw?.length > 1) {\n orbitControls.minAzimuthAngle = MathUtils.degToRad(yaw[0])\n orbitControls.maxAzimuthAngle = MathUtils.degToRad(yaw[1])\n }\n if (distance?.length > 1) {\n orbitControls.minDistance = distance[0]\n orbitControls.maxDistance = distance[1]\n }\n return orbitControls\n }\n\n destroy() {\n this.cleanupHooks?.()\n this.sceneControl?.destroy()\n }\n}\n\nexport default Anov3D\n"],"mappings":"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"}
1
+ {"version":3,"names":["MathUtils","SceneControl","Vector3","utils","initPostEffects","EventBus","object2Vector3","defaultCameraParams","Anov3D","opts","_camera$limit","_classCallCheck","_defineProperty","_opts$camera","camera","_opts$container","container","clientWidth","clientHeight","defaultPosition","position","defaultRest","_objectWithoutProperties","_excluded","limit","pitch","min","max","Math","cameraParams","_objectSpread","fromArray","orbitControls","target","scene","defCameraOps","aspect","rendererOps","shadowMap","reset","css2DRenderer","css3DRenderer","ambientLight","render","renderer","emitter","emit","sceneControl","eventBus","storeManagement","set","_createClass","key","value","logInfo","TEX_SLOTS","setInterval","uuids","Set","totalMB","traverse","obj","isMesh","mesh","mats","Array","isArray","material","forEach","mat","slot","tex","has","uuid","add","img","image","width","height","console","table","size","info","memory","textures","geometries","calls","triangles","toFixed","getOrbitControls","params","yaw","distance","length","minPolarAngle","degToRad","maxPolarAngle","minAzimuthAngle","maxAzimuthAngle","minDistance","maxDistance"],"sources":["../src/anov3d.ts"],"sourcesContent":["import type { MeshStandardMaterial, TextureSlot } from '@anov/3d-core'\nimport { MathUtils, Mesh, SceneControl, Vector3, utils } from '@anov/3d-core'\nimport { initPostEffects } from '@anov/3d-ability'\nimport EventBus from './module/eventBus'\nimport { object2Vector3 } from './utils/index'\nimport type { InitOptions } from './applicationApiType'\nimport { defaultCameraParams } from './index'\n\ntype Anov3DOptions = {\n container: HTMLElement\n camera?: InitOptions['camera']\n}\n\nclass Anov3D {\n zoomRatio = 1\n opts: Anov3DOptions\n sceneControl: SceneControl\n eventBus: EventBus\n\n constructor(opts: Anov3DOptions) {\n this.opts = opts\n\n // 获取默认和传入的相机参数\n const { camera = {}, container: { clientWidth, clientHeight } } = opts\n const { position: defaultPosition, ...defaultRest } = defaultCameraParams\n\n // 俯仰角转换,SCC取值范围是-90-90,转换到0-180\n if (camera.limit?.pitch) {\n const { pitch } = camera.limit\n const min = 90 - pitch[0]\n const max = 90 - pitch[1]\n camera.limit.pitch = [Math.min(min, max), Math.max(min, max)]\n }\n // 初始化相机参数\n const cameraParams = {\n limit: {},\n ...defaultRest,\n ...camera,\n position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultPosition),\n }\n // const orbitControls = this.getOrbitControls(cameraParams.limit) // 控制器参数\n const orbitControls = { limit: cameraParams.limit, target: cameraParams.target || [0, 0, 0] } // 控制器参数\n const scene = new SceneControl({\n defCameraOps: {\n ...cameraParams,\n aspect: clientWidth / clientHeight,\n },\n rendererOps: {\n shadowMap: true,\n },\n orbitControls,\n reset: true,\n css2DRenderer: true,\n css3DRenderer: true,\n ambientLight: true,\n })\n scene.render(opts.container)\n // scene.controls.target!.copy(new Vector3().fromArray(cameraParams.target! || [0, 0, 0]))\n // this.logInfo(scene)\n initPostEffects(scene.scene, scene.renderer, scene.camera)\n utils.emitter.emit('scene-completed', scene)\n\n // 不考虑 tree-shaking\n this.sceneControl = scene\n this.eventBus = new EventBus(this as any)\n\n utils.storeManagement.set('event-bus', this.eventBus)\n utils.emitter.emit('instantiation-completed', this)\n }\n\n logInfo(scene) {\n const TEX_SLOTS: TextureSlot[] = [\n 'map', 'normalMap', 'roughnessMap', 'metalnessMap',\n 'aoMap', 'emissiveMap', 'alphaMap', 'lightMap',\n ]\n setInterval(() => {\n const renderer = scene.renderer\n const uuids = new Set<string>()\n let totalMB = 0\n scene.scene.traverse((obj) => {\n if (!(obj as any).isMesh)\n return\n const mesh = obj\n const mats = Array.isArray(mesh.material) ? mesh.material : [mesh.material]\n mats.forEach((mat) => {\n TEX_SLOTS.forEach((slot) => {\n const tex = (mat as MeshStandardMaterial)[slot] as Texture | null\n if (!tex)\n return\n if (!uuids.has(tex.uuid)) {\n uuids.add(tex.uuid)\n const img = tex.image as HTMLImageElement | null\n if (img)\n totalMB += (img.width * img.height * 4) / 1024 / 1024\n }\n })\n })\n })\n\n console.table({\n '场景纹理数': uuids.size,\n '渲染器纹理数': renderer.info.memory.textures,\n '几何体数量': renderer.info.memory.geometries,\n '渲染调用次数': renderer.info.render.calls,\n '三角面数': renderer.info.render.triangles,\n '估算显存(MB)': totalMB.toFixed(0),\n })\n }, 5000)\n }\n\n getOrbitControls(params: { pitch?: number[]\n yaw?: number[]\n distance?: number[] }) {\n const { pitch, yaw, distance } = params\n const orbitControls: any = {}\n if (pitch?.length > 1) {\n orbitControls.minPolarAngle = MathUtils.degToRad(pitch[0])\n orbitControls.maxPolarAngle = MathUtils.degToRad(pitch[1])\n }\n if (yaw?.length > 1) {\n orbitControls.minAzimuthAngle = MathUtils.degToRad(yaw[0])\n orbitControls.maxAzimuthAngle = MathUtils.degToRad(yaw[1])\n }\n if (distance?.length > 1) {\n orbitControls.minDistance = distance[0]\n orbitControls.maxDistance = distance[1]\n }\n return orbitControls\n }\n}\n\nexport default Anov3D"],"mappings":"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"}
@@ -10,21 +10,25 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
10
10
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
12
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ import { utils } from '@anov/3d-core';
13
14
  import { getFnByFnkey } from "./utils/index";
14
15
  import { MessageType, sendToMessage } from "./utils/messageFn";
15
16
  import { EMessageStatus } from "./messageStatus";
16
- import Anov3D from "./sdkEntry";
17
+ import Anov3D from "./index";
18
+ var storeManagement = utils.storeManagement;
17
19
  var Application = /*#__PURE__*/function () {
18
20
  function Application(opts) {
19
21
  _classCallCheck(this, Application);
20
22
  _defineProperty(this, "container", void 0);
21
23
  _defineProperty(this, "iEngine", void 0);
22
- _defineProperty(this, "decoderPath", void 0);
23
24
  this.container = opts.el;
24
- this.decoderPath = opts.decoderPath || '/draco/';
25
+ utils.storeManagement.set('decoderPath', opts.decoderPath || '/draco/');
26
+ sendToMessage({
27
+ messageType: MessageType.Api,
28
+ messageName: 'engineReady',
29
+ status: EMessageStatus.Success
30
+ });
25
31
  }
26
-
27
- // fixme: 为什么要单独 init,为什么不直接在 constructor 中初始化
28
32
  _createClass(Application, [{
29
33
  key: "init",
30
34
  value: function init(params, id) {
@@ -39,25 +43,19 @@ var Application = /*#__PURE__*/function () {
39
43
  };
40
44
  var anov3D = new Anov3D({
41
45
  container: this.container,
42
- camera: _objectSpread({}, cameraParams),
43
- decoderPath: this.decoderPath
46
+ camera: _objectSpread({}, cameraParams)
44
47
  });
45
48
  this.iEngine = anov3D;
46
49
  this.iEngine.zoomRatio = (_set$zoomRatio = set === null || set === void 0 ? void 0 : set.zoomRatio) !== null && _set$zoomRatio !== void 0 ? _set$zoomRatio : 1;
47
- this.iEngine.sceneControl.context.storeManagement.set('container', this.container);
48
- sendToMessage(this.iEngine, {
49
- messageType: MessageType.Api,
50
- messageName: 'engineReady',
51
- status: EMessageStatus.Success
52
- });
53
- sendToMessage(this.iEngine, {
50
+ storeManagement.set('container', this.container);
51
+ sendToMessage({
54
52
  messageType: MessageType.Api,
55
53
  messageName: 'core.init',
56
54
  status: EMessageStatus.Success,
57
55
  id: id
58
56
  });
59
57
  } catch (error) {
60
- sendToMessage(this.iEngine, {
58
+ sendToMessage({
61
59
  messageType: MessageType.Api,
62
60
  messageName: 'core.init',
63
61
  status: EMessageStatus.EventHandleFailed,
@@ -66,13 +64,6 @@ var Application = /*#__PURE__*/function () {
66
64
  console.error(error);
67
65
  }
68
66
  }
69
-
70
- // 暴露 storeManagement
71
- }, {
72
- key: "storeManagement",
73
- get: function get() {
74
- return this.iEngine.storeManagement;
75
- }
76
67
  }, {
77
68
  key: "initScene",
78
69
  value: function () {
@@ -94,13 +85,12 @@ var Application = /*#__PURE__*/function () {
94
85
  });
95
86
  anov3D = new Anov3D({
96
87
  container: this.container,
97
- camera: cameraNode,
98
- decoderPath: this.decoderPath
88
+ camera: cameraNode
99
89
  });
100
90
  this.iEngine = anov3D;
101
- this.iEngine.sceneControl.context.storeManagement.set('container', this.container);
91
+ storeManagement.set('container', this.container);
102
92
  } catch (error) {
103
- sendToMessage(this.iEngine, {
93
+ sendToMessage({
104
94
  messageType: MessageType.Api,
105
95
  messageName: 'scene.init',
106
96
  status: EMessageStatus.EventHandleFailed
@@ -120,25 +110,18 @@ var Application = /*#__PURE__*/function () {
120
110
  }, {
121
111
  key: "sendMessage",
122
112
  value: function sendMessage(req) {
123
- var _this = this;
124
113
  // core.init 遗留逻辑
125
114
  if (req.name === 'Core.init' || req.name === 'core.init') {
126
115
  this.init(req.params, req.id);
127
116
  return;
128
117
  }
129
- if (req.name === 'scene.init') {
130
- this.initScene(req.params);
131
- // return // fixme: 我没有理解,为什么不返回,而是继续执行后续的任务
132
- }
133
- if (!this.iEngine) {
134
- var error = new Error('please init first!');
135
- throw error;
136
- }
118
+ if (req.name === 'scene.init') this.initScene(req.params);
119
+ if (!this.iEngine) throw new Error('please init first!');
137
120
  var fn = getFnByFnkey(this.iEngine, req.name, req.id);
138
121
  try {
139
122
  var res = fn(req.params);
140
123
  Promise.resolve(res).then(function (res) {
141
- sendToMessage(_this.iEngine, {
124
+ sendToMessage({
142
125
  messageType: MessageType.Api,
143
126
  messageName: req.name,
144
127
  status: EMessageStatus.Success,
@@ -146,7 +129,8 @@ var Application = /*#__PURE__*/function () {
146
129
  }, res);
147
130
  });
148
131
  } catch (error) {
149
- sendToMessage(this.iEngine, {
132
+ console.error(error);
133
+ sendToMessage({
150
134
  messageType: MessageType.Api,
151
135
  messageName: req.name,
152
136
  status: EMessageStatus.EventHandleFailed,
@@ -159,28 +143,7 @@ var Application = /*#__PURE__*/function () {
159
143
  }, {
160
144
  key: "receiveMessage",
161
145
  value: function receiveMessage(eventName, cb) {
162
- var _this2 = this;
163
- if (this.iEngine) {
164
- this.iEngine.sceneControl.context.storeManagement.set(eventName, cb);
165
- return;
166
- }
167
-
168
- // 未初始化时,将事件和回调函数存储在队列中
169
- var queue = [];
170
- queue.push({
171
- eventName: eventName,
172
- cb: cb
173
- });
174
- var checkEngine = function checkEngine() {
175
- if (_this2.iEngine) {
176
- queue.forEach(function (item) {
177
- _this2.iEngine.sceneControl.context.storeManagement.set(item.eventName, item.cb);
178
- });
179
- } else {
180
- requestAnimationFrame(checkEngine);
181
- }
182
- };
183
- requestAnimationFrame(checkEngine);
146
+ utils.storeManagement.set(eventName, cb);
184
147
  }
185
148
  }]);
186
149
  return Application;
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Anov3D","Application","opts","container","el","decoderPath","init","params","id","_set$zoomRatio","_ref","_ref$camera","camera","set","cameraParams","position","anov3D","iEngine","zoomRatio","sceneControl","context","storeManagement","messageType","Api","messageName","status","Success","EventHandleFailed","console","get","_initScene","_callee","_scc$nodes","scc","cameraNode","_callee$","_context","innerHTML","destroy","nodes","find","node","initScene","_x","sendMessage","req","_this","res","failMessage","message","receiveMessage","eventName","cb","_this2","queue","checkEngine","item","requestAnimationFrame","createInstance"],"sources":["../src/applicationApi.ts"],"sourcesContent":["import { getFnByFnkey } from './utils/index'\nimport { MessageType, sendToMessage } from './utils/messageFn'\nimport { EMessageStatus } from './messageStatus'\nimport type { InitOptions } from './applicationApiType'\nimport Anov3D from './sdkEntry'\n\ntype ApplicationOptions = {\n el: HTMLElement\n decoderPath?: string\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D\n decoderPath: string\n\n constructor(opts: ApplicationOptions) {\n this.container = opts.el\n this.decoderPath = opts.decoderPath || '/draco/'\n }\n\n // fixme: 为什么要单独 init,为什么不直接在 constructor 中初始化\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = params || {}\n\n const cameraParams = {\n position: camera.position,\n }\n\n const anov3D = new Anov3D({\n container: this.container,\n camera: {\n ...cameraParams,\n },\n decoderPath: this.decoderPath,\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n this.iEngine.sceneControl.context.storeManagement.set('container', this.container)\n\n sendToMessage(this.iEngine, {\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\n\n sendToMessage(this.iEngine, {\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n catch (error) {\n sendToMessage(this.iEngine, {\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.EventHandleFailed,\n id,\n })\n console.error(error)\n }\n }\n\n // 暴露 storeManagement\n get storeManagement() {\n return this.iEngine.storeManagement\n }\n\n private async initScene(params: any) {\n try {\n const { scc } = params\n if (this.iEngine) { // todo: 兼容场景切换操作,后续需要处理多场景切换、多场景实例等问题\n this.container.innerHTML = ''\n this.iEngine.sceneControl.destroy()\n }\n // 相机参数\n const cameraNode = scc?.nodes?.find(node => node.type === 'camera')\n const anov3D = new Anov3D({\n container: this.container,\n camera: cameraNode,\n decoderPath: this.decoderPath,\n })\n this.iEngine = anov3D\n\n this.iEngine.sceneControl.context.storeManagement.set('container', this.container)\n }\n catch (error) {\n sendToMessage(this.iEngine, {\n messageType: MessageType.Api,\n messageName: 'scene.init',\n status: EMessageStatus.EventHandleFailed,\n })\n }\n }\n\n sendMessage(req: { name: string; id: string; params: any }) {\n // core.init 遗留逻辑\n if (req.name === 'Core.init' || req.name === 'core.init') {\n this.init(req.params, req.id)\n return\n }\n if (req.name === 'scene.init') {\n this.initScene(req.params)\n // return // fixme: 我没有理解,为什么不返回,而是继续执行后续的任务\n }\n\n if (!this.iEngine) {\n const error = new Error('please init first!')\n throw error\n }\n\n const fn = getFnByFnkey(this.iEngine, req.name, req.id) as any\n\n try {\n const res = fn(req.params)\n Promise.resolve(res).then((res) => {\n sendToMessage(this.iEngine, {\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.Success,\n id: req.id,\n }, res)\n })\n }\n catch (error: any) {\n sendToMessage(this.iEngine, {\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.EventHandleFailed,\n id: req.id,\n }, {\n failMessage: error.message,\n })\n }\n }\n\n receiveMessage(eventName: string, cb: (params: any) => void) {\n if (this.iEngine) {\n this.iEngine.sceneControl.context.storeManagement.set(eventName, cb)\n return\n }\n\n // 未初始化时,将事件和回调函数存储在队列中\n const queue: { eventName: string; cb: (params: any) => void }[] = []\n queue.push({\n eventName,\n cb,\n })\n\n const checkEngine = () => {\n if (this.iEngine) {\n queue.forEach((item) => {\n this.iEngine.sceneControl.context.storeManagement.set(item.eventName, item.cb)\n })\n }\n else {\n requestAnimationFrame(checkEngine)\n }\n }\n requestAnimationFrame(checkEngine)\n }\n}\n\n/**\n * create an instance of Application\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions): Application => {\n return new Application(opts)\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Anov3D","storeManagement","Application","opts","container","el","set","decoderPath","messageType","Api","messageName","status","Success","init","params","id","_set$zoomRatio","_ref","_ref$camera","camera","cameraParams","position","anov3D","iEngine","zoomRatio","EventHandleFailed","console","_initScene","_callee","_scc$nodes","scc","cameraNode","_callee$","_context","innerHTML","sceneControl","destroy","nodes","find","node","initScene","_x","sendMessage","req","res","failMessage","message","receiveMessage","eventName","cb","createInstance"],"sources":["../src/applicationApi.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { getFnByFnkey } from './utils/index'\nimport { MessageType, sendToMessage } from './utils/messageFn'\nimport { EMessageStatus } from './messageStatus'\nimport type { InitOptions } from './applicationApiType'\nimport FileParse from './module/scene/fileParse'\nimport Anov3D, { defaultCameraParams } from './index'\n\nconst { storeManagement } = utils\n\ntype ApplicationOptions = {\n el: HTMLElement\n decoderPath?: string\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D\n\n constructor(opts: ApplicationOptions) {\n this.container = opts.el\n\n utils.storeManagement.set('decoderPath', opts.decoderPath || '/draco/')\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\n }\n\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = params || {}\n\n const cameraParams = {\n position: camera.position,\n }\n\n const anov3D = new Anov3D({\n container: this.container,\n camera: {\n ...cameraParams,\n },\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n storeManagement.set('container', this.container)\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.EventHandleFailed,\n id,\n })\n console.error(error)\n }\n }\n\n private async initScene(params: any) {\n try {\n const { scc } = params\n if (this.iEngine) { // todo: 兼容场景切换操作,后续需要处理多场景切换、多场景实例等问题\n this.container.innerHTML = ''\n this.iEngine.sceneControl.destroy()\n }\n // 相机参数\n const cameraNode = scc?.nodes?.find(node => node.type === 'camera')\n const anov3D = new Anov3D({\n container: this.container,\n camera: cameraNode,\n })\n this.iEngine = anov3D\n\n storeManagement.set('container', this.container)\n }\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'scene.init',\n status: EMessageStatus.EventHandleFailed,\n })\n }\n }\n\n sendMessage(req: { name: string; id: string; params: any }) {\n // core.init 遗留逻辑\n if (req.name === 'Core.init' || req.name === 'core.init') {\n this.init(req.params, req.id)\n return\n }\n if (req.name === 'scene.init')\n this.initScene(req.params)\n\n if (!this.iEngine)\n throw new Error('please init first!')\n\n const fn = getFnByFnkey(this.iEngine, req.name, req.id) as any\n\n try {\n const res = fn(req.params)\n Promise.resolve(res).then((res) => {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.Success,\n id: req.id,\n }, res)\n })\n }\n catch (error: any) {\n console.error(error)\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.EventHandleFailed,\n id: req.id,\n }, {\n failMessage: error.message,\n })\n }\n }\n\n receiveMessage(eventName: string, cb: (params: any) => void) {\n utils.storeManagement.set(eventName, cb)\n }\n}\n\n/**\n * create an instance of Application\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions): Application => {\n return new Application(opts)\n}\n"],"mappings":"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"}
@@ -1,51 +1,46 @@
1
+ import { utils } from '@anov/3d-core';
1
2
  import { Observable, filter } from 'rxjs';
2
3
  /**
3
4
  * from Mitt Event , convert mitt to Observable
4
5
  * @param eventName
5
6
  * @returns
6
7
  */
7
- export var fromMittEvent = function fromMittEvent(eventName, sceneControl) {
8
+ export var fromMittEvent = function fromMittEvent(eventName) {
8
9
  return new Observable(function (subscriber) {
9
10
  var handler = function handler(data) {
10
11
  subscriber.next(data);
11
12
  };
12
- sceneControl.context.emitter.on(eventName, handler);
13
+ utils.emitter.on(eventName, handler);
13
14
  return function () {
14
- sceneControl.context.emitter.off(eventName, handler);
15
+ utils.emitter.off(eventName, handler);
15
16
  };
16
17
  });
17
18
  };
18
- // fixme 这可能是一个多余的设计,正常来说 emit 和 on 就可以了,没必要加入 rxjs
19
- // fixme 似乎 storeManagement 也不是必要的设计
20
- var registerHooks = function registerHooks(sceneControl) {
21
- var subscriptions = [];
22
- var sceneCompletedSub = fromMittEvent('scene-completed', sceneControl).subscribe({
19
+
20
+ /**
21
+ * some event hooks register
22
+ */
23
+ var registerHooks = function registerHooks() {
24
+ fromMittEvent('scene-completed').subscribe({
23
25
  next: function next(scene) {
24
26
  console.log('场景编译完成', scene);
25
27
  }
26
28
  });
27
- subscriptions.push(sceneCompletedSub);
28
- var eventFilterSub = fromMittEvent('event', sceneControl).pipe(filter(function (data) {
29
- var eventBus = sceneControl.context.storeManagement.get('event-bus');
29
+ fromMittEvent('event').pipe(filter(function (data) {
30
+ var eventBus = utils.storeManagement.get('event-bus');
30
31
  return eventBus && eventBus.eventMap.get(data.name) || !data.global;
31
32
  })).subscribe({
32
33
  next: function next(data) {
33
- sceneControl.context.emitter.emit('message', data);
34
+ utils.emitter.emit('message', data);
34
35
  }
35
36
  });
36
- subscriptions.push(eventFilterSub);
37
- var messageRoutingSub = fromMittEvent('message', sceneControl).subscribe({
37
+ fromMittEvent('message').subscribe({
38
38
  next: function next(data) {
39
- var messageCallback = sceneControl.context.storeManagement.get('message');
40
- messageCallback === null || messageCallback === void 0 || messageCallback(data);
39
+ var _utils$storeManagemen;
40
+ // @ts-ignore
41
+ (_utils$storeManagemen = utils.storeManagement.get('message')) === null || _utils$storeManagemen === void 0 || _utils$storeManagemen(data);
41
42
  }
42
43
  });
43
- subscriptions.push(messageRoutingSub);
44
- return function () {
45
- subscriptions.forEach(function (sub) {
46
- return sub.unsubscribe();
47
- });
48
- };
49
44
  };
50
45
  export default registerHooks;
51
46
  //# sourceMappingURL=hooksManager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Observable","filter","fromMittEvent","eventName","sceneControl","subscriber","handler","data","next","context","emitter","on","off","registerHooks","subscriptions","sceneCompletedSub","subscribe","scene","console","log","push","eventFilterSub","pipe","eventBus","storeManagement","get","eventMap","name","global","emit","messageRoutingSub","messageCallback","forEach","sub","unsubscribe"],"sources":["../src/hooksManager.ts"],"sourcesContent":["import { type SceneControl } from '@anov/3d-core'\nimport type { Subscription } from 'rxjs'\nimport { Observable, filter } from 'rxjs'\nimport type EventBus from './module/eventBus'\n\n/**\n * from Mitt Event , convert mitt to Observable\n * @param eventName\n * @returns\n */\nexport const fromMittEvent = (eventName: string, sceneControl: SceneControl): Observable<any> => {\n return new Observable((subscriber) => {\n const handler = (data) => {\n subscriber.next(data)\n }\n\n sceneControl.context.emitter.on(eventName, handler)\n\n return () => {\n sceneControl.context.emitter.off(eventName, handler)\n }\n })\n}\n// fixme 这可能是一个多余的设计,正常来说 emit on 就可以了,没必要加入 rxjs\n// fixme 似乎 storeManagement 也不是必要的设计\nconst registerHooks = (sceneControl: SceneControl): (() => void) => {\n const subscriptions: Subscription[] = []\n\n const sceneCompletedSub = fromMittEvent('scene-completed', sceneControl).subscribe({\n next: (scene) => {\n console.log('场景编译完成', scene)\n },\n })\n subscriptions.push(sceneCompletedSub)\n\n const eventFilterSub = fromMittEvent('event', sceneControl).pipe(\n filter((data) => {\n const eventBus = sceneControl.context.storeManagement.get<EventBus | undefined>('event-bus')\n return (eventBus && eventBus.eventMap.get(data.name)) || !data.global\n }),\n ).subscribe({\n next: (data: any) => {\n sceneControl.context.emitter.emit('message', data)\n },\n })\n subscriptions.push(eventFilterSub)\n\n const messageRoutingSub = fromMittEvent('message', sceneControl).subscribe({\n next: (data: any) => {\n const messageCallback = sceneControl.context.storeManagement.get<((data: any) => void) | undefined>('message')\n messageCallback?.(data)\n },\n })\n subscriptions.push(messageRoutingSub)\n\n return () => {\n subscriptions.forEach(sub => sub.unsubscribe())\n }\n}\n\nexport default registerHooks\n"],"mappings":"AAEA,SAASA,UAAU,EAAEC,MAAM,QAAQ,MAAM;AAGzC;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,SAAiB,EAAEC,YAA0B,EAAsB;EAC/F,OAAO,IAAIJ,UAAU,CAAC,UAACK,UAAU,EAAK;IACpC,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIC,IAAI,EAAK;MACxBF,UAAU,CAACG,IAAI,CAACD,IAAI,CAAC;IACvB,CAAC;IAEDH,YAAY,CAACK,OAAO,CAACC,OAAO,CAACC,EAAE,CAACR,SAAS,EAAEG,OAAO,CAAC;IAEnD,OAAO,YAAM;MACXF,YAAY,CAACK,OAAO,CAACC,OAAO,CAACE,GAAG,CAACT,SAAS,EAAEG,OAAO,CAAC;IACtD,CAAC;EACH,CAAC,CAAC;AACJ,CAAC;AACD;AACA;AACA,IAAMO,aAAa,GAAG,SAAhBA,aAAaA,CAAIT,YAA0B,EAAmB;EAClE,IAAMU,aAA6B,GAAG,EAAE;EAExC,IAAMC,iBAAiB,GAAGb,aAAa,CAAC,iBAAiB,EAAEE,YAAY,CAAC,CAACY,SAAS,CAAC;IACjFR,IAAI,EAAE,SAAAA,KAACS,KAAK,EAAK;MACfC,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEF,KAAK,CAAC;IAC9B;EACF,CAAC,CAAC;EACFH,aAAa,CAACM,IAAI,CAACL,iBAAiB,CAAC;EAErC,IAAMM,cAAc,GAAGnB,aAAa,CAAC,OAAO,EAAEE,YAAY,CAAC,CAACkB,IAAI,CAC9DrB,MAAM,CAAC,UAACM,IAAI,EAAK;IACf,IAAMgB,QAAQ,GAAGnB,YAAY,CAACK,OAAO,CAACe,eAAe,CAACC,GAAG,CAAuB,WAAW,CAAC;IAC5F,OAAQF,QAAQ,IAAIA,QAAQ,CAACG,QAAQ,CAACD,GAAG,CAAClB,IAAI,CAACoB,IAAI,CAAC,IAAK,CAACpB,IAAI,CAACqB,MAAM;EACvE,CAAC,CACH,CAAC,CAACZ,SAAS,CAAC;IACVR,IAAI,EAAE,SAAAA,KAACD,IAAS,EAAK;MACnBH,YAAY,CAACK,OAAO,CAACC,OAAO,CAACmB,IAAI,CAAC,SAAS,EAAEtB,IAAI,CAAC;IACpD;EACF,CAAC,CAAC;EACFO,aAAa,CAACM,IAAI,CAACC,cAAc,CAAC;EAElC,IAAMS,iBAAiB,GAAG5B,aAAa,CAAC,SAAS,EAAEE,YAAY,CAAC,CAACY,SAAS,CAAC;IACzER,IAAI,EAAE,SAAAA,KAACD,IAAS,EAAK;MACnB,IAAMwB,eAAe,GAAG3B,YAAY,CAACK,OAAO,CAACe,eAAe,CAACC,GAAG,CAAoC,SAAS,CAAC;MAC9GM,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAGxB,IAAI,CAAC;IACzB;EACF,CAAC,CAAC;EACFO,aAAa,CAACM,IAAI,CAACU,iBAAiB,CAAC;EAErC,OAAO,YAAM;IACXhB,aAAa,CAACkB,OAAO,CAAC,UAAAC,GAAG;MAAA,OAAIA,GAAG,CAACC,WAAW,CAAC,CAAC;IAAA,EAAC;EACjD,CAAC;AACH,CAAC;AAED,eAAerB,aAAa"}
1
+ {"version":3,"names":["utils","Observable","filter","fromMittEvent","eventName","subscriber","handler","data","next","emitter","on","off","registerHooks","subscribe","scene","console","log","pipe","eventBus","storeManagement","get","eventMap","name","global","emit","_utils$storeManagemen"],"sources":["../src/hooksManager.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { Observable, filter } from 'rxjs'\nimport type EventBus from './module/eventBus'\n\n/**\n * from Mitt Event , convert mitt to Observable\n * @param eventName\n * @returns\n */\nexport const fromMittEvent = (eventName: string): Observable<any> => {\n return new Observable((subscriber) => {\n const handler = (data) => {\n subscriber.next(data)\n }\n\n utils.emitter.on(eventName, handler)\n\n return () => {\n utils.emitter.off(eventName, handler)\n }\n })\n}\n\n/**\n * some event hooks register\n */\nconst registerHooks = () => {\n fromMittEvent('scene-completed').subscribe({\n next: (scene) => {\n console.log('场景编译完成', scene)\n },\n })\n\n fromMittEvent('event').pipe(\n filter((data) => {\n const eventBus = utils.storeManagement.get<EventBus | undefined>('event-bus')\n return (eventBus && eventBus.eventMap.get(data.name)) || !data.global\n }),\n ).subscribe(\n {\n next: (data: any) => {\n utils.emitter.emit('message', data)\n },\n })\n\n fromMittEvent('message').subscribe({\n next: (data: any) => {\n // @ts-ignore\n utils.storeManagement.get('message')?.(data)\n },\n })\n}\n\nexport default registerHooks\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,eAAe;AACrC,SAASC,UAAU,EAAEC,MAAM,QAAQ,MAAM;AAGzC;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,SAAiB,EAAsB;EACnE,OAAO,IAAIH,UAAU,CAAC,UAACI,UAAU,EAAK;IACpC,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIC,IAAI,EAAK;MACxBF,UAAU,CAACG,IAAI,CAACD,IAAI,CAAC;IACvB,CAAC;IAEDP,KAAK,CAACS,OAAO,CAACC,EAAE,CAACN,SAAS,EAAEE,OAAO,CAAC;IAEpC,OAAO,YAAM;MACXN,KAAK,CAACS,OAAO,CAACE,GAAG,CAACP,SAAS,EAAEE,OAAO,CAAC;IACvC,CAAC;EACH,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAS;EAC1BT,aAAa,CAAC,iBAAiB,CAAC,CAACU,SAAS,CAAC;IACzCL,IAAI,EAAE,SAAAA,KAACM,KAAK,EAAK;MACfC,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEF,KAAK,CAAC;IAC9B;EACF,CAAC,CAAC;EAEFX,aAAa,CAAC,OAAO,CAAC,CAACc,IAAI,CACzBf,MAAM,CAAC,UAACK,IAAI,EAAK;IACf,IAAMW,QAAQ,GAAGlB,KAAK,CAACmB,eAAe,CAACC,GAAG,CAAuB,WAAW,CAAC;IAC7E,OAAQF,QAAQ,IAAIA,QAAQ,CAACG,QAAQ,CAACD,GAAG,CAACb,IAAI,CAACe,IAAI,CAAC,IAAK,CAACf,IAAI,CAACgB,MAAM;EACvE,CAAC,CACH,CAAC,CAACV,SAAS,CACT;IACEL,IAAI,EAAE,SAAAA,KAACD,IAAS,EAAK;MACnBP,KAAK,CAACS,OAAO,CAACe,IAAI,CAAC,SAAS,EAAEjB,IAAI,CAAC;IACrC;EACF,CAAC,CAAC;EAEJJ,aAAa,CAAC,SAAS,CAAC,CAACU,SAAS,CAAC;IACjCL,IAAI,EAAE,SAAAA,KAACD,IAAS,EAAK;MAAA,IAAAkB,qBAAA;MACnB;MACA,CAAAA,qBAAA,GAAAzB,KAAK,CAACmB,eAAe,CAACC,GAAG,CAAC,SAAS,CAAC,cAAAK,qBAAA,eAApCA,qBAAA,CAAuClB,IAAI,CAAC;IAC9C;EACF,CAAC,CAAC;AACJ,CAAC;AAED,eAAeK,aAAa"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import packageJSON from "../package.json";
2
+ import registerHooks from "./hooksManager";
2
3
  import Anov3D from "./sdkEntry";
3
4
  export var defaultCameraParams = {
4
5
  fov: 75,
@@ -15,9 +16,7 @@ export var defaultCameraParams = {
15
16
  z: 0
16
17
  }
17
18
  };
18
-
19
- // registerHooks()
20
-
19
+ registerHooks();
21
20
  console.log('Anov3D', packageJSON.version);
22
21
  export { createInstance } from "./applicationApi";
23
22
  export default Anov3D;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["packageJSON","Anov3D","defaultCameraParams","fov","near","far","position","x","y","z","lookAt","console","log","version","createInstance"],"sources":["../src/index.ts"],"sourcesContent":["import packageJSON from '../package.json'\nimport Anov3D from './sdkEntry'\n\nexport const defaultCameraParams = {\n fov: 75,\n near: 0.1,\n far: 1000000,\n position: { x: 0, y: 100, z: 200 },\n lookAt: { x: 0, y: 0, z: 0 },\n}\n\n// registerHooks()\n\nconsole.log('Anov3D', packageJSON.version)\n\nexport { createInstance } from './applicationApi'\nexport default Anov3D\n"],"mappings":"AAAA,OAAOA,WAAW;AAClB,OAAOC,MAAM;AAEb,OAAO,IAAMC,mBAAmB,GAAG;EACjCC,GAAG,EAAE,EAAE;EACPC,IAAI,EAAE,GAAG;EACTC,GAAG,EAAE,OAAO;EACZC,QAAQ,EAAE;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,GAAG;IAAEC,CAAC,EAAE;EAAI,CAAC;EAClCC,MAAM,EAAE;IAAEH,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE;AAC7B,CAAC;;AAED;;AAEAE,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEZ,WAAW,CAACa,OAAO,CAAC;AAE1C,SAASC,cAAc;AACvB,eAAeb,MAAM"}
1
+ {"version":3,"names":["packageJSON","registerHooks","Anov3D","defaultCameraParams","fov","near","far","position","x","y","z","lookAt","console","log","version","createInstance"],"sources":["../src/index.ts"],"sourcesContent":["import packageJSON from '../package.json'\nimport registerHooks from './hooksManager'\nimport Anov3D from './sdkEntry'\n\nexport const defaultCameraParams = {\n fov: 75,\n near: 0.1,\n far: 1000000,\n position: { x: 0, y: 100, z: 200 },\n lookAt: { x: 0, y: 0, z: 0 },\n}\n\nregisterHooks()\n\nconsole.log('Anov3D', packageJSON.version)\n\nexport { createInstance } from './applicationApi'\nexport default Anov3D\n"],"mappings":"AAAA,OAAOA,WAAW;AAClB,OAAOC,aAAa;AACpB,OAAOC,MAAM;AAEb,OAAO,IAAMC,mBAAmB,GAAG;EACjCC,GAAG,EAAE,EAAE;EACPC,IAAI,EAAE,GAAG;EACTC,GAAG,EAAE,OAAO;EACZC,QAAQ,EAAE;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,GAAG;IAAEC,CAAC,EAAE;EAAI,CAAC;EAClCC,MAAM,EAAE;IAAEH,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE;AAC7B,CAAC;AAEDT,aAAa,CAAC,CAAC;AAEfW,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEb,WAAW,CAACc,OAAO,CAAC;AAE1C,SAASC,cAAc;AACvB,eAAeb,MAAM"}
@@ -51,12 +51,14 @@ var Motion = /*#__PURE__*/function () {
51
51
  path = [[x, y, z], position];
52
52
  }
53
53
  if (!path) throw new Error('path not exist');
54
- this.animationMotion = new AnimationMotion(entity, path, _objectSpread({}, json.vars), this.app.sceneControl);
54
+ this.animationMotion = new AnimationMotion(entity, path, _objectSpread({}, json.vars));
55
55
  }
56
56
  }, {
57
57
  key: "findTubeGeometry",
58
58
  value: function findTubeGeometry(object) {
59
- if (object.type === 'Mesh' && object.geometry.type === 'TubeGeometry') return object.geometry;
59
+ if (object.type === 'Mesh' && object.geometry.type === "TubeGeometry") {
60
+ return object.geometry;
61
+ }
60
62
  var _iterator = _createForOfIteratorHelper(object.children),
61
63
  _step;
62
64
  try {