@anov/3d 0.0.322 → 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 +16 -50
  4. package/dist/applicationApi.js.map +1 -1
  5. package/dist/applicationApiType.js.map +1 -1
  6. package/dist/hooksManager.js +35 -43
  7. package/dist/hooksManager.js.map +1 -1
  8. package/dist/index.js +2 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/module/animation/motion/index.js +4 -2
  11. package/dist/module/animation/motion/index.js.map +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 +12 -13
  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 +1 -1
  36. package/dist/module/entity/model/load/loadFbx.js.map +1 -1
  37. package/dist/module/entity/model/load/loadGlb.js +11 -6
  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 +4 -3
  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 +16 -21
  61. package/dist/module/scene/fileParse.js.map +1 -1
  62. package/dist/module/scene/index.js +10 -9
  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/messageFn.js +11 -21
  67. package/dist/utils/messageFn.js.map +1 -1
  68. package/package.json +4 -5
  69. package/dist/__mocks__/ability-mock.js +0 -124
  70. package/dist/__mocks__/ability-mock.js.map +0 -1
  71. package/dist/__mocks__/geo-3d-mock.js +0 -10
  72. package/dist/__mocks__/geo-3d-mock.js.map +0 -1
  73. package/dist/module/message/hub.js +0 -178
  74. package/dist/module/message/hub.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 { initGlobalHooks } from "./hooksManager";
18
- import { setGlobalScene, emitterLikeMitt, notify } from "./module/message/hub";
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;
@@ -46,9 +30,7 @@ var Anov3D = /*#__PURE__*/function () {
46
30
  camera = _opts$camera === void 0 ? {} : _opts$camera,
47
31
  _opts$container = opts.container,
48
32
  clientWidth = _opts$container.clientWidth,
49
- clientHeight = _opts$container.clientHeight,
50
- _opts$decoderPath = opts.decoderPath,
51
- decoderPath = _opts$decoderPath === void 0 ? '/draco/' : _opts$decoderPath;
33
+ clientHeight = _opts$container.clientHeight;
52
34
  var defaultPosition = defaultCameraParams.position,
53
35
  defaultRest = _objectWithoutProperties(defaultCameraParams, _excluded);
54
36
 
@@ -70,10 +52,7 @@ var Anov3D = /*#__PURE__*/function () {
70
52
  limit: cameraParams.limit,
71
53
  target: cameraParams.target || [0, 0, 0]
72
54
  }; // 控制器参数
73
-
74
- initGlobalHooks();
75
55
  var scene = new SceneControl({
76
- emitter: emitterLikeMitt,
77
56
  defCameraOps: _objectSpread(_objectSpread({}, cameraParams), {}, {
78
57
  aspect: clientWidth / clientHeight
79
58
  }),
@@ -86,48 +65,19 @@ var Anov3D = /*#__PURE__*/function () {
86
65
  css3DRenderer: true,
87
66
  ambientLight: true
88
67
  });
89
- setGlobalScene(scene);
90
- scene.context.storeManagement.set('decoderPath', decoderPath);
91
68
  scene.render(opts.container);
92
- initPostEffects(scene.scene, scene.renderer, scene.camera, undefined, scene);
93
- notify('scene-completed', scene);
94
69
  // scene.controls.target!.copy(new Vector3().fromArray(cameraParams.target! || [0, 0, 0]))
95
70
  // this.logInfo(scene)
71
+ initPostEffects(scene.scene, scene.renderer, scene.camera);
72
+ utils.emitter.emit('scene-completed', scene);
96
73
 
74
+ // 不考虑 tree-shaking
97
75
  this.sceneControl = scene;
98
76
  this.eventBus = new EventBus(this);
99
- scene.context.storeManagement.set('event-bus', this.eventBus);
77
+ utils.storeManagement.set('event-bus', this.eventBus);
78
+ utils.emitter.emit('instantiation-completed', this);
100
79
  }
101
80
  _createClass(Anov3D, [{
102
- key: "storeManagement",
103
- get: function get() {
104
- return this.sceneControl.context.storeManagement;
105
- }
106
- }, {
107
- key: "on",
108
- value: function on() {
109
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
110
- args[_key] = arguments[_key];
111
- }
112
- this.sceneControl.context.emitter.on.apply(this.sceneControl.context.emitter, args);
113
- }
114
- }, {
115
- key: "off",
116
- value: function off() {
117
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
118
- args[_key2] = arguments[_key2];
119
- }
120
- this.sceneControl.context.emitter.off.apply(this.sceneControl.context.emitter, args);
121
- }
122
- }, {
123
- key: "emit",
124
- value: function emit() {
125
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
126
- args[_key3] = arguments[_key3];
127
- }
128
- this.sceneControl.context.emitter.emit.apply(this.sceneControl.context.emitter, args);
129
- }
130
- }, {
131
81
  key: "logInfo",
132
82
  value: function logInfo(scene) {
133
83
  var TEX_SLOTS = ['map', 'normalMap', 'roughnessMap', 'metalnessMap', 'aoMap', 'emissiveMap', 'alphaMap', 'lightMap'];
@@ -182,12 +132,6 @@ var Anov3D = /*#__PURE__*/function () {
182
132
  }
183
133
  return orbitControls;
184
134
  }
185
- }, {
186
- key: "destroy",
187
- value: function destroy() {
188
- var _this$sceneControl;
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","initGlobalHooks","setGlobalScene","emitterLikeMitt","notify","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","emitter","defCameraOps","aspect","rendererOps","shadowMap","reset","css2DRenderer","css3DRenderer","ambientLight","context","storeManagement","set","render","renderer","undefined","sceneControl","eventBus","_createClass","key","get","value","on","_len","arguments","length","args","Array","_key","apply","off","_len2","_key2","emit","_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$sceneControl"],"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'\nimport { initGlobalHooks } from './hooksManager'\nimport { setGlobalScene, emitterLikeMitt, notify } from './module/message/hub'\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\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 \n initGlobalHooks()\n\n const scene = new SceneControl({\n emitter: emitterLikeMitt,\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 setGlobalScene(scene)\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 notify('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 }\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.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,22 +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 { callbackRegistry } from "./module/message/hub";
17
+ import Anov3D from "./index";
18
+ var storeManagement = utils.storeManagement;
18
19
  var Application = /*#__PURE__*/function () {
19
20
  function Application(opts) {
20
21
  _classCallCheck(this, Application);
21
22
  _defineProperty(this, "container", void 0);
22
23
  _defineProperty(this, "iEngine", void 0);
23
- _defineProperty(this, "decoderPath", void 0);
24
24
  this.container = opts.el;
25
- 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
+ });
26
31
  }
27
-
28
- // fixme: 为什么要单独 init,为什么不直接在 constructor 中初始化
29
32
  _createClass(Application, [{
30
33
  key: "init",
31
34
  value: function init(params, id) {
@@ -40,23 +43,11 @@ var Application = /*#__PURE__*/function () {
40
43
  };
41
44
  var anov3D = new Anov3D({
42
45
  container: this.container,
43
- camera: _objectSpread({}, cameraParams),
44
- decoderPath: this.decoderPath
46
+ camera: _objectSpread({}, cameraParams)
45
47
  });
46
48
  this.iEngine = anov3D;
47
49
  this.iEngine.zoomRatio = (_set$zoomRatio = set === null || set === void 0 ? void 0 : set.zoomRatio) !== null && _set$zoomRatio !== void 0 ? _set$zoomRatio : 1;
48
- var storeManagement = this.iEngine.sceneControl.context.storeManagement;
49
50
  storeManagement.set('container', this.container);
50
-
51
- // 同步 callbackRegistry 中的所有预注册事件
52
- callbackRegistry.forEach(function (value, key) {
53
- storeManagement.set(key, value);
54
- });
55
- sendToMessage({
56
- messageType: MessageType.Api,
57
- messageName: 'engineReady',
58
- status: EMessageStatus.Success
59
- });
60
51
  sendToMessage({
61
52
  messageType: MessageType.Api,
62
53
  messageName: 'core.init',
@@ -73,18 +64,11 @@ var Application = /*#__PURE__*/function () {
73
64
  console.error(error);
74
65
  }
75
66
  }
76
-
77
- // 暴露 storeManagement
78
- }, {
79
- key: "storeManagement",
80
- get: function get() {
81
- return this.iEngine.storeManagement;
82
- }
83
67
  }, {
84
68
  key: "initScene",
85
69
  value: function () {
86
70
  var _initScene = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
87
- var _scc$nodes, scc, cameraNode, anov3D, storeManagement;
71
+ var _scc$nodes, scc, cameraNode, anov3D;
88
72
  return _regeneratorRuntime().wrap(function _callee$(_context) {
89
73
  while (1) switch (_context.prev = _context.next) {
90
74
  case 0:
@@ -101,17 +85,10 @@ var Application = /*#__PURE__*/function () {
101
85
  });
102
86
  anov3D = new Anov3D({
103
87
  container: this.container,
104
- camera: cameraNode,
105
- decoderPath: this.decoderPath
88
+ camera: cameraNode
106
89
  });
107
90
  this.iEngine = anov3D;
108
- storeManagement = this.iEngine.sceneControl.context.storeManagement;
109
91
  storeManagement.set('container', this.container);
110
-
111
- // 同步 callbackRegistry 中的所有预注册事件
112
- callbackRegistry.forEach(function (value, key) {
113
- storeManagement.set(key, value);
114
- });
115
92
  } catch (error) {
116
93
  sendToMessage({
117
94
  messageType: MessageType.Api,
@@ -138,14 +115,8 @@ var Application = /*#__PURE__*/function () {
138
115
  this.init(req.params, req.id);
139
116
  return;
140
117
  }
141
- if (req.name === 'scene.init') {
142
- this.initScene(req.params);
143
- // return // fixme: 我没有理解,为什么不返回,而是继续执行后续的任务
144
- }
145
- if (!this.iEngine) {
146
- var error = new Error('please init first!');
147
- throw error;
148
- }
118
+ if (req.name === 'scene.init') this.initScene(req.params);
119
+ if (!this.iEngine) throw new Error('please init first!');
149
120
  var fn = getFnByFnkey(this.iEngine, req.name, req.id);
150
121
  try {
151
122
  var res = fn(req.params);
@@ -158,6 +129,7 @@ var Application = /*#__PURE__*/function () {
158
129
  }, res);
159
130
  });
160
131
  } catch (error) {
132
+ console.error(error);
161
133
  sendToMessage({
162
134
  messageType: MessageType.Api,
163
135
  messageName: req.name,
@@ -171,13 +143,7 @@ var Application = /*#__PURE__*/function () {
171
143
  }, {
172
144
  key: "receiveMessage",
173
145
  value: function receiveMessage(eventName, cb) {
174
- // 立即存入全局存储,不再依赖 iEngine 状态
175
- callbackRegistry.set(eventName, cb);
176
-
177
- // 如果 iEngine 已实例化,则同步一份到其内部存储
178
- if (this.iEngine) {
179
- this.iEngine.sceneControl.context.storeManagement.set(eventName, cb);
180
- }
146
+ utils.storeManagement.set(eventName, cb);
181
147
  }
182
148
  }]);
183
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","callbackRegistry","Application","opts","container","el","decoderPath","init","params","id","_set$zoomRatio","_ref","_ref$camera","camera","set","cameraParams","position","anov3D","iEngine","zoomRatio","storeManagement","sceneControl","context","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","res","failMessage","message","receiveMessage","eventName","cb","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'\nimport { callbackRegistry } from './module/message/hub'\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 const storeManagement = this.iEngine.sceneControl.context.storeManagement\n storeManagement.set('container', this.container)\n\n // 同步 callbackRegistry 中的所有预注册事件\n callbackRegistry.forEach((value, key) => {\n storeManagement.set(key, value)\n })\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\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 // 暴露 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 const storeManagement = this.iEngine.sceneControl.context.storeManagement\n storeManagement.set('container', this.container)\n\n // 同步 callbackRegistry 中的所有预注册事件\n callbackRegistry.forEach((value, key) => {\n storeManagement.set(key, value)\n })\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 // 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({\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({\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 // 立即存入全局存储,不再依赖 iEngine 状态\n callbackRegistry.set(eventName, cb)\n\n // 如果 iEngine 已实例化,则同步一份到其内部存储\n if (this.iEngine) {\n this.iEngine.sceneControl.context.storeManagement.set(eventName, cb)\n }\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 +1 @@
1
- {"version":3,"names":[],"sources":["../src/applicationApiType.ts"],"sourcesContent":["export type InitOptions = {\n camera?: {\n position?: [\n number,\n number,\n number,\n ]\n limit?: {\n pitch?: [number, number]\n distance?: [number, number]\n }\n target?: [\n number,\n number,\n number,\n ]\n }\n set?: {\n zoomRatio?: number\n }\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../src/applicationApiType.ts"],"sourcesContent":["export type InitOptions = {\n camera?: {\n position?: [\n number,\n number,\n number,\n ]\n limit?: {\n pitch?: [number, number]\n distance?: [number, number]\n }\n }\n set?: {\n zoomRatio?: number\n }\n}\n"],"mappings":""}
@@ -1,54 +1,46 @@
1
- import { messageHub, getGlobalScene, callbackRegistry } from "./module/message/hub";
1
+ import { utils } from '@anov/3d-core';
2
+ import { Observable, filter } from 'rxjs';
2
3
  /**
3
- * 初始化全局业务钩子
4
- * 在场景实例化之前就可以调用
4
+ * from Mitt Event , convert mitt to Observable
5
+ * @param eventName
6
+ * @returns
5
7
  */
6
- export var initGlobalHooks = function initGlobalHooks() {
7
- // 1. 场景完成监听
8
- messageHub.onNotification('scene-completed', function (scene) {
9
- console.log('场景编译完成', scene);
8
+ export var fromMittEvent = function fromMittEvent(eventName) {
9
+ return new Observable(function (subscriber) {
10
+ var handler = function handler(data) {
11
+ subscriber.next(data);
12
+ };
13
+ utils.emitter.on(eventName, handler);
14
+ return function () {
15
+ utils.emitter.off(eventName, handler);
16
+ };
10
17
  });
18
+ };
11
19
 
12
- // 2. 事件过滤与消息转发
13
- messageHub.onNotification('event', function (data) {
14
- console.log("🚀 ~ initGlobalHooks ~ event:", data);
15
- var sceneControl = getGlobalScene();
16
-
17
- // 如果有 event-bus,检查是否需要转发;否则对于非全局事件默认转发
18
- var eventBus = sceneControl === null || sceneControl === void 0 ? void 0 : sceneControl.context.storeManagement.get('event-bus');
19
- var shouldForward = eventBus && eventBus.eventMap.get(data.name) || !data.global;
20
- if (shouldForward) {
21
- messageHub.notify({
22
- method: 'message',
23
- params: data
24
- });
20
+ /**
21
+ * some event hooks register
22
+ */
23
+ var registerHooks = function registerHooks() {
24
+ fromMittEvent('scene-completed').subscribe({
25
+ next: function next(scene) {
26
+ console.log('场景编译完成', scene);
25
27
  }
26
28
  });
27
-
28
- // 3. 消息路由
29
- messageHub.onNotification('message', function (data) {
30
- var _messageCallback;
31
- console.log("🚀 ~ initGlobalHooks ~ message:", data);
32
- var sceneControl = getGlobalScene();
33
-
34
- // 优先从 callbackRegistry 获取回调,这是解耦的关键
35
- var messageCallback = callbackRegistry.get('message');
36
-
37
- // 兜底逻辑:尝试从旧的 storeManagement 获取 (兼容性考虑)
38
- if (!messageCallback && sceneControl) {
39
- messageCallback = sceneControl.context.storeManagement.get('message');
29
+ fromMittEvent('event').pipe(filter(function (data) {
30
+ var eventBus = utils.storeManagement.get('event-bus');
31
+ return eventBus && eventBus.eventMap.get(data.name) || !data.global;
32
+ })).subscribe({
33
+ next: function next(data) {
34
+ utils.emitter.emit('message', data);
35
+ }
36
+ });
37
+ fromMittEvent('message').subscribe({
38
+ next: function next(data) {
39
+ var _utils$storeManagemen;
40
+ // @ts-ignore
41
+ (_utils$storeManagemen = utils.storeManagement.get('message')) === null || _utils$storeManagemen === void 0 || _utils$storeManagemen(data);
40
42
  }
41
- (_messageCallback = messageCallback) === null || _messageCallback === void 0 || _messageCallback(data);
42
43
  });
43
- };
44
-
45
- /**
46
- * 历史兼容:如果还有地方调用 registerHooks,返回一个空函数或做最简适配
47
- */
48
- var registerHooks = function registerHooks(sceneControl) {
49
- return function () {
50
- // 清理逻辑现在由 messageHub.destroy() 处理
51
- };
52
44
  };
53
45
  export default registerHooks;
54
46
  //# sourceMappingURL=hooksManager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["messageHub","getGlobalScene","callbackRegistry","initGlobalHooks","onNotification","scene","console","log","data","sceneControl","eventBus","context","storeManagement","get","shouldForward","eventMap","name","global","notify","method","params","_messageCallback","messageCallback","registerHooks"],"sources":["../src/hooksManager.ts"],"sourcesContent":["import { messageHub, getGlobalScene, callbackRegistry } from './module/message/hub'\nimport type EventBus from './module/eventBus'\n\n/**\n * 初始化全局业务钩子\n * 在场景实例化之前就可以调用\n */\nexport const initGlobalHooks = () => {\n // 1. 场景完成监听\n messageHub.onNotification('scene-completed', (scene) => {\n console.log('场景编译完成', scene)\n })\n\n // 2. 事件过滤与消息转发\n messageHub.onNotification('event', (data) => {\n console.log(\"🚀 ~ initGlobalHooks ~ event:\", data)\n const sceneControl = getGlobalScene()\n \n // 如果有 event-bus,检查是否需要转发;否则对于非全局事件默认转发\n const eventBus = sceneControl?.context.storeManagement.get<EventBus | undefined>('event-bus')\n const shouldForward = (eventBus && eventBus.eventMap.get(data.name)) || !data.global\n \n if (shouldForward) {\n messageHub.notify({\n method: 'message',\n params: data,\n })\n }\n })\n\n // 3. 消息路由\n messageHub.onNotification('message', (data) => {\n console.log(\"🚀 ~ initGlobalHooks ~ message:\", data)\n const sceneControl = getGlobalScene()\n \n // 优先从 callbackRegistry 获取回调,这是解耦的关键\n let messageCallback = callbackRegistry.get<((data: any) => void) | undefined>('message')\n \n // 兜底逻辑:尝试从旧的 storeManagement 获取 (兼容性考虑)\n if (!messageCallback && sceneControl) {\n messageCallback = sceneControl.context.storeManagement.get<((data: any) => void) | undefined>('message')\n }\n\n messageCallback?.(data)\n })\n}\n\n/**\n * 历史兼容:如果还有地方调用 registerHooks,返回一个空函数或做最简适配\n */\nconst registerHooks = (sceneControl: any): (() => void) => {\n return () => {\n // 清理逻辑现在由 messageHub.destroy() 处理\n }\n}\n\nexport default registerHooks\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,cAAc,EAAEC,gBAAgB;AAGrD;AACA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;EACnC;EACAH,UAAU,CAACI,cAAc,CAAC,iBAAiB,EAAE,UAACC,KAAK,EAAK;IACtDC,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAEF,KAAK,CAAC;EAC9B,CAAC,CAAC;;EAEF;EACAL,UAAU,CAACI,cAAc,CAAC,OAAO,EAAE,UAACI,IAAI,EAAK;IAC3CF,OAAO,CAACC,GAAG,CAAC,+BAA+B,EAAEC,IAAI,CAAC;IAClD,IAAMC,YAAY,GAAGR,cAAc,CAAC,CAAC;;IAErC;IACA,IAAMS,QAAQ,GAAGD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,OAAO,CAACC,eAAe,CAACC,GAAG,CAAuB,WAAW,CAAC;IAC7F,IAAMC,aAAa,GAAIJ,QAAQ,IAAIA,QAAQ,CAACK,QAAQ,CAACF,GAAG,CAACL,IAAI,CAACQ,IAAI,CAAC,IAAK,CAACR,IAAI,CAACS,MAAM;IAEpF,IAAIH,aAAa,EAAE;MACjBd,UAAU,CAACkB,MAAM,CAAC;QAChBC,MAAM,EAAE,SAAS;QACjBC,MAAM,EAAEZ;MACV,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;;EAEF;EACAR,UAAU,CAACI,cAAc,CAAC,SAAS,EAAE,UAACI,IAAI,EAAK;IAAA,IAAAa,gBAAA;IAC7Cf,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAAEC,IAAI,CAAC;IACpD,IAAMC,YAAY,GAAGR,cAAc,CAAC,CAAC;;IAErC;IACA,IAAIqB,eAAe,GAAGpB,gBAAgB,CAACW,GAAG,CAAoC,SAAS,CAAC;;IAExF;IACA,IAAI,CAACS,eAAe,IAAIb,YAAY,EAAE;MACpCa,eAAe,GAAGb,YAAY,CAACE,OAAO,CAACC,eAAe,CAACC,GAAG,CAAoC,SAAS,CAAC;IAC1G;IAEA,CAAAQ,gBAAA,GAAAC,eAAe,cAAAD,gBAAA,eAAfA,gBAAA,CAAkBb,IAAI,CAAC;EACzB,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA,IAAMe,aAAa,GAAG,SAAhBA,aAAaA,CAAId,YAAiB,EAAmB;EACzD,OAAO,YAAM;IACX;EAAA,CACD;AACH,CAAC;AAED,eAAec,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 {