@anov/3d-ability 0.0.94 → 0.0.98

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.
@@ -54,13 +54,23 @@ declare class HeatMap extends Object3D implements HeatMapnterface {
54
54
  */
55
55
  private calDataMaxMin;
56
56
  /**
57
- * handle range data filter
57
+ * generateAsitePoints
58
58
  * @param data
59
+ */
60
+ private generateAsitePoints;
61
+ /**
62
+ * generate new origin
59
63
  * @returns
60
64
  */
61
- private handleRandeDataFilter;
65
+ private get newOrigin();
62
66
  /**
63
- * coordinate transformation
67
+ * coordinate 3D transformation
68
+ * @param data
69
+ * @returns
70
+ */
71
+ private coordinate3DTransformation;
72
+ /**
73
+ * coordinate transformation, to canvas coordinate
64
74
  * @param data
65
75
  * @returns
66
76
  */
@@ -82,13 +92,6 @@ declare class HeatMap extends Object3D implements HeatMapnterface {
82
92
  * @returns
83
93
  */
84
94
  private calResolutionScale;
85
- /**
86
- * handle resolution canvas
87
- * @param canvas
88
- * @param scale
89
- * @returns
90
- */
91
- private handleResolutionCanvas;
92
95
  /**
93
96
  * create attachment mesh
94
97
  */
@@ -1,4 +1,6 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2
4
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
5
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
6
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -30,17 +32,6 @@ var defaultGradient = {
30
32
  0.85: 'yellow',
31
33
  1.0: 'rgb(255,0,0)'
32
34
  };
33
- var defaultData = [{
34
- x: -1000,
35
- y: 0,
36
- z: -1000,
37
- value: 0
38
- }, {
39
- x: -1000,
40
- y: 0,
41
- z: 1000,
42
- value: 0
43
- }];
44
35
 
45
36
  /**
46
37
  * 区域热力图
@@ -152,6 +143,7 @@ var HeatMap = /*#__PURE__*/function (_Object3D) {
152
143
  }, {
153
144
  key: "calDataMaxMin",
154
145
  value: function calDataMaxMin() {
146
+ var _this2 = this;
155
147
  var maxX = Math.max.apply(Math, _toConsumableArray(this.data.map(function (item) {
156
148
  return item.x;
157
149
  })));
@@ -165,6 +157,10 @@ var HeatMap = /*#__PURE__*/function (_Object3D) {
165
157
  return item.z;
166
158
  })));
167
159
  var max = Math.max(Math.abs(Math.ceil(maxX)), Math.abs(Math.ceil(minX)), Math.abs(Math.ceil(maxZ)), Math.abs(Math.ceil(minZ)), 60);
160
+ var maxRadius = Math.max.apply(Math, _toConsumableArray(this.data.map(function (item) {
161
+ var _item$radius;
162
+ return (_item$radius = item.radius) !== null && _item$radius !== void 0 ? _item$radius : _this2._radius;
163
+ })).concat([this._radius]));
168
164
  var width = max * 2;
169
165
  var height = max * 2;
170
166
  var realShowWidth = maxX - minX;
@@ -178,50 +174,147 @@ var HeatMap = /*#__PURE__*/function (_Object3D) {
178
174
  minZ: minZ,
179
175
  maxX: maxX,
180
176
  maxZ: maxZ,
181
- realShowMax: realShowMax
177
+ realShowMax: realShowMax,
178
+ realShowWidth: realShowWidth,
179
+ realShowHeight: realShowHeight,
180
+ maxRadius: maxRadius
182
181
  };
183
182
  }
184
183
 
185
184
  /**
186
- * handle range data filter
185
+ * generateAsitePoints
187
186
  * @param data
187
+ */
188
+ }, {
189
+ key: "generateAsitePoints",
190
+ value: function generateAsitePoints(data) {
191
+ var _this3 = this;
192
+ var maxX = Math.max.apply(Math, _toConsumableArray(data.map(function (item) {
193
+ return item.x;
194
+ })));
195
+ var minX = Math.min.apply(Math, _toConsumableArray(data.map(function (item) {
196
+ return item.x;
197
+ })));
198
+ var maxZ = Math.max.apply(Math, _toConsumableArray(data.map(function (item) {
199
+ return item.z;
200
+ })));
201
+ var minZ = Math.min.apply(Math, _toConsumableArray(data.map(function (item) {
202
+ return item.z;
203
+ })));
204
+ var maxRadius = Math.max.apply(Math, _toConsumableArray(data.map(function (item) {
205
+ var _item$radius2;
206
+ return (_item$radius2 = item.radius) !== null && _item$radius2 !== void 0 ? _item$radius2 : _this3._radius;
207
+ })).concat([this._radius]));
208
+ var boundaryPoints = [{
209
+ x: minX - maxRadius,
210
+ z: minZ - maxRadius,
211
+ value: 0,
212
+ y: 0,
213
+ isBoundary: true,
214
+ radius: 0.001
215
+ }, {
216
+ x: maxX + maxRadius,
217
+ z: minZ - maxRadius,
218
+ value: 0,
219
+ y: 0,
220
+ isBoundary: true,
221
+ radius: 0.001
222
+ }, {
223
+ x: minX - maxRadius,
224
+ z: maxZ + maxRadius,
225
+ value: 0,
226
+ y: 0,
227
+ isBoundary: true,
228
+ radius: 0.001
229
+ }, {
230
+ x: maxX + maxRadius,
231
+ z: maxZ + maxRadius,
232
+ value: 0,
233
+ y: 0,
234
+ isBoundary: true,
235
+ radius: 0.001
236
+ }];
237
+ return {
238
+ boundaryPoints: boundaryPoints,
239
+ maxRadius: maxRadius
240
+ };
241
+ }
242
+
243
+ /**
244
+ * generate new origin
188
245
  * @returns
189
246
  */
190
247
  }, {
191
- key: "handleRandeDataFilter",
192
- value: function handleRandeDataFilter(data) {
193
- var _this2 = this;
194
- if (this._range) {
195
- return data.filter(function (item) {
196
- return item.x >= _this2._range.min && item.x <= _this2._range.max && item.z >= _this2._range.min && item.z <= _this2._range.max;
248
+ key: "newOrigin",
249
+ get: function get() {
250
+ // need to consider one point and multiple points
251
+ var _this$calDataMaxMin2 = this.calDataMaxMin(),
252
+ minX = _this$calDataMaxMin2.minX,
253
+ minZ = _this$calDataMaxMin2.minZ,
254
+ maxX = _this$calDataMaxMin2.maxX,
255
+ maxZ = _this$calDataMaxMin2.maxZ;
256
+ return {
257
+ x: (maxX + minX) / 2,
258
+ z: (maxZ + minZ) / 2
259
+ };
260
+ }
261
+
262
+ /**
263
+ * coordinate 3D transformation
264
+ * @param data
265
+ * @returns
266
+ */
267
+ }, {
268
+ key: "coordinate3DTransformation",
269
+ value: function coordinate3DTransformation(data) {
270
+ var _this4 = this;
271
+ var _this$newOrigin = this.newOrigin,
272
+ x = _this$newOrigin.x,
273
+ z = _this$newOrigin.z;
274
+ return data.map(function (item) {
275
+ var _item$radius3;
276
+ return _objectSpread(_objectSpread({}, item), {}, {
277
+ x: item.x - x,
278
+ z: item.z - z,
279
+ radius: (_item$radius3 = item.radius) !== null && _item$radius3 !== void 0 ? _item$radius3 : _this4._radius
197
280
  });
198
- }
199
- return data;
281
+ });
200
282
  }
201
283
 
202
284
  /**
203
- * coordinate transformation
285
+ * coordinate transformation, to canvas coordinate
204
286
  * @param data
205
287
  * @returns
206
288
  */
207
289
  }, {
208
290
  key: "coordinateTransformation",
209
291
  value: function coordinateTransformation(data) {
210
- var _this3 = this;
211
- var hanldeData = data;
212
- var _this$calDataMaxMin2 = this.calDataMaxMin(),
213
- width = _this$calDataMaxMin2.width,
214
- height = _this$calDataMaxMin2.height,
215
- max = _this$calDataMaxMin2.max;
292
+ var _this5 = this;
293
+ var hanldeData = this.coordinate3DTransformation(data);
294
+ var _this$calDataMaxMin3 = this.calDataMaxMin(),
295
+ width = _this$calDataMaxMin3.width,
296
+ height = _this$calDataMaxMin3.height,
297
+ realShowWidth = _this$calDataMaxMin3.realShowWidth,
298
+ realShowHeight = _this$calDataMaxMin3.realShowHeight;
299
+ var resolutionScale = this.calResolutionScale();
216
300
  var result = hanldeData.map(function (item) {
217
- var _item$radius;
301
+ var _item$radius4;
218
302
  return {
219
- x: Math.floor((item.x - -max) / (max - -max) * width),
220
- y: Math.floor((item.z - -max) / (max - -max) * height),
303
+ x: Math.floor((item.x - -realShowWidth / 2) / (realShowWidth / 2 - -realShowWidth / 2) * width) * resolutionScale,
304
+ y: Math.floor((item.z - -realShowHeight / 2) / (realShowHeight / 2 - -realShowHeight / 2) * height) * resolutionScale,
221
305
  value: item.value,
222
- radius: Math.max(2, (_item$radius = item.radius) !== null && _item$radius !== void 0 ? _item$radius : _this3._radius)
306
+ radius: ((_item$radius4 = item.radius) !== null && _item$radius4 !== void 0 ? _item$radius4 : _this5._radius) * resolutionScale * 2,
307
+ // @ts-ignore
308
+ isBoundary: item === null || item === void 0 ? void 0 : item.isBoundary
223
309
  };
224
310
  });
311
+
312
+ // console.log('原始', data, realShowWidth, realShowHeight)
313
+ // console.log('newOrigin', this.newOrigin)
314
+ // console.log('hanldeData', hanldeData)
315
+ // console.log('结果', result)
316
+ // console.log('resolutionScale', resolutionScale, realShowWidth, realShowHeight, realShowWidth * resolutionScale, realShowHeight * resolutionScale)
317
+
225
318
  return result;
226
319
  }
227
320
 
@@ -249,10 +342,7 @@ var HeatMap = /*#__PURE__*/function (_Object3D) {
249
342
  */
250
343
  }, {
251
344
  key: "createCanvas",
252
- value: function createCanvas() {
253
- var _this$calDataMaxMin3 = this.calDataMaxMin(),
254
- width = _this$calDataMaxMin3.width,
255
- height = _this$calDataMaxMin3.height;
345
+ value: function createCanvas(width, height) {
256
346
  var canvasBox = document.createElement('div');
257
347
  canvasBox.style.width = "".concat(width, "px");
258
348
  canvasBox.style.height = "".concat(height, "px");
@@ -269,26 +359,40 @@ var HeatMap = /*#__PURE__*/function (_Object3D) {
269
359
  */
270
360
  }, {
271
361
  key: "calResolutionScale",
272
- value: function calResolutionScale(width) {
273
- return Math.max(1, Math.min(10, 10 - width * 9 / 2000));
274
- }
275
-
276
- /**
277
- * handle resolution canvas
278
- * @param canvas
279
- * @param scale
280
- * @returns
281
- */
282
- }, {
283
- key: "handleResolutionCanvas",
284
- value: function handleResolutionCanvas(canvas, scale) {
285
- var finalCanvas = document.createElement('canvas');
286
- finalCanvas.width = canvas.width * scale;
287
- finalCanvas.height = canvas.height * scale;
288
- var ctx = finalCanvas.getContext('2d');
289
- ctx.scale(scale, scale);
290
- ctx.drawImage(canvas, 0, 0);
291
- return finalCanvas;
362
+ value: function calResolutionScale() {
363
+ var hanldeData = this.coordinate3DTransformation(this.data);
364
+ var _this$calDataMaxMin4 = this.calDataMaxMin(),
365
+ width = _this$calDataMaxMin4.width,
366
+ height = _this$calDataMaxMin4.height,
367
+ realShowWidth = _this$calDataMaxMin4.realShowWidth,
368
+ realShowHeight = _this$calDataMaxMin4.realShowHeight;
369
+ var result = hanldeData.map(function (item) {
370
+ return {
371
+ x: Math.floor((item.x - -realShowWidth / 2) / (realShowWidth / 2 - -realShowWidth / 2) * width),
372
+ y: Math.floor((item.z - -realShowHeight / 2) / (realShowHeight / 2 - -realShowHeight / 2) * height),
373
+ value: item.value,
374
+ radius: item.radius * 2
375
+ };
376
+ });
377
+ var maxRadius = Math.max.apply(Math, _toConsumableArray(result.map(function (item) {
378
+ return item.radius;
379
+ })));
380
+ var maxX = Math.max.apply(Math, _toConsumableArray(result.map(function (item) {
381
+ return item.x;
382
+ })));
383
+ var maxY = Math.max.apply(Math, _toConsumableArray(result.map(function (item) {
384
+ return item.y;
385
+ })));
386
+ var max = Math.max(maxX, maxY);
387
+ if (max <= 1000) {
388
+ var scale = (1000 - max) / 1000 * 15 + 1;
389
+ return Math.floor(maxRadius < 40 ? scale : 1);
390
+ }
391
+ if (max <= 5000) {
392
+ var _scale = (5000 - max) / 5000 * 5 + 1;
393
+ return Math.floor(maxRadius < 40 ? _scale : 1);
394
+ }
395
+ return 1;
292
396
  }
293
397
 
294
398
  /**
@@ -297,17 +401,14 @@ var HeatMap = /*#__PURE__*/function (_Object3D) {
297
401
  }, {
298
402
  key: "createAttachmentMesh",
299
403
  value: function createAttachmentMesh() {
300
- var _this$_range$min, _this$_range, _this$_range$max, _this$_range2;
301
404
  if (this._attachmentMesh) this.remove(this._attachmentMesh);
302
- var _this$calDataMaxMin4 = this.calDataMaxMin(),
303
- width = _this$calDataMaxMin4.width,
304
- height = _this$calDataMaxMin4.height,
305
- realShowMax = _this$calDataMaxMin4.realShowMax,
306
- max = _this$calDataMaxMin4.max;
405
+ var _this$calDataMaxMin5 = this.calDataMaxMin(),
406
+ realShowMax = _this$calDataMaxMin5.realShowMax,
407
+ max = _this$calDataMaxMin5.max,
408
+ realShowWidth = _this$calDataMaxMin5.realShowWidth,
409
+ realShowHeight = _this$calDataMaxMin5.realShowHeight;
307
410
  var canvas = this._heatmap._renderer.canvas;
308
- var scale = this.calResolutionScale(canvas.width);
309
- var canvas2 = this.handleResolutionCanvas(canvas, scale);
310
- var texture = new CanvasTexture(canvas2);
411
+ var texture = new CanvasTexture(canvas);
311
412
  texture.minFilter = NearestFilter;
312
413
  texture.magFilter = NearestFilter;
313
414
  this._url = canvas.toDataURL('image/png');
@@ -333,7 +434,7 @@ var HeatMap = /*#__PURE__*/function (_Object3D) {
333
434
  value: this._isPixel
334
435
  },
335
436
  uRange: {
336
- value: new Vector2((_this$_range$min = (_this$_range = this._range) === null || _this$_range === void 0 ? void 0 : _this$_range.min) !== null && _this$_range$min !== void 0 ? _this$_range$min : -max, (_this$_range$max = (_this$_range2 = this._range) === null || _this$_range2 === void 0 ? void 0 : _this$_range2.max) !== null && _this$_range$max !== void 0 ? _this$_range$max : max)
437
+ value: new Vector2(-max, max)
337
438
  }
338
439
  },
339
440
  vertexShader: heightVertexShader,
@@ -342,9 +443,12 @@ var HeatMap = /*#__PURE__*/function (_Object3D) {
342
443
  side: DoubleSide,
343
444
  depthTest: false
344
445
  });
345
- var mesh = new Mesh(new PlaneGeometry(width, height, 500, 500), shaderMaterial);
446
+ var mesh = new Mesh(new PlaneGeometry(realShowWidth, realShowHeight, 500, 500), shaderMaterial);
447
+ var _this$newOrigin2 = this.newOrigin,
448
+ x = _this$newOrigin2.x,
449
+ z = _this$newOrigin2.z;
346
450
  mesh.rotation.x = -Math.PI / 2;
347
- mesh.position.set(0, 0, 0);
451
+ mesh.position.set(x, 0, z);
348
452
  mesh.renderOrder = 1000;
349
453
  this._attachmentMesh = mesh;
350
454
  this.add(mesh);
@@ -357,13 +461,24 @@ var HeatMap = /*#__PURE__*/function (_Object3D) {
357
461
  }, {
358
462
  key: "setData",
359
463
  value: function setData(data) {
360
- this.data = [].concat(defaultData, _toConsumableArray(data));
464
+ var _this$_range$max, _this$_range, _this$_range$min, _this$_range2;
465
+ var _this$generateAsitePo = this.generateAsitePoints(data),
466
+ boundaryPoints = _this$generateAsitePo.boundaryPoints;
467
+ this.data = [].concat(_toConsumableArray(boundaryPoints), _toConsumableArray(data));
468
+ var heatmapData = this.coordinateTransformation(this.data);
361
469
  this._canvasBox && use.useScene().domElement.parentElement.removeChild(this._canvasBox);
362
- this._canvasBox = this.createCanvas();
470
+ this._canvasBox = this.createCanvas(Math.max.apply(Math, _toConsumableArray(heatmapData.map(function (item) {
471
+ return item.x;
472
+ }))), Math.max.apply(Math, _toConsumableArray(heatmapData.map(function (item) {
473
+ return item.y;
474
+ }))));
363
475
  this._heatmap = this.createHeatmapTool();
364
476
  this._heatmap.setData({
365
- data: this.coordinateTransformation(data),
366
- max: this.defaultMax
477
+ data: heatmapData.filter(function (item) {
478
+ return !item.isBoundary;
479
+ }),
480
+ max: (_this$_range$max = (_this$_range = this._range) === null || _this$_range === void 0 ? void 0 : _this$_range.max) !== null && _this$_range$max !== void 0 ? _this$_range$max : this.defaultMax,
481
+ min: (_this$_range$min = (_this$_range2 = this._range) === null || _this$_range2 === void 0 ? void 0 : _this$_range2.min) !== null && _this$_range$min !== void 0 ? _this$_range$min : 0
367
482
  });
368
483
  this.createAttachmentMesh();
369
484
 
@@ -1 +1 @@
1
- {"version":3,"names":["CanvasTexture","DoubleSide","Mesh","NearestFilter","Object3D","PlaneGeometry","ShaderMaterial","Vector2","use","h","Supercluster","heightFragmentShader","heightVertexShader","defaultGradient","defaultData","x","y","z","value","HeatMap","_Object3D","_inherits","_super","_createSuper","options","_options$radius","_options$height","_options$isPixel","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","_colorMap","colorMap","_radius","radius","_height","height","_isPixel","isPixel","_range","range","_createClass","key","get","Math","max","apply","_toConsumableArray","data","map","item","_url","initSupercluster","_supercluster","minZoom","maxZoom","setSuperclusterData","featuresPoints","type","properties","geometry","coordinates","console","log","length","load","getZoomLevel","camera","minHeight","maxHeight","min","position","getSuperclusterData","_this$calDataMaxMin","calDataMaxMin","zoom","useScene","clusters","getClusters","maxX","minX","maxZ","minZ","abs","ceil","width","realShowWidth","realShowHeight","realShowMax","handleRandeDataFilter","_this2","filter","coordinateTransformation","_this3","hanldeData","_this$calDataMaxMin2","result","_item$radius","floor","createHeatmapTool","heatmap","create","container","_canvasBox","gradient","maxOpacity","minOpacity","createCanvas","_this$calDataMaxMin3","canvasBox","document","createElement","style","concat","top","right","domElement","parentElement","appendChild","calResolutionScale","handleResolutionCanvas","canvas","scale","finalCanvas","ctx","getContext","drawImage","createAttachmentMesh","_this$_range$min","_this$_range","_this$_range$max","_this$_range2","_attachmentMesh","remove","_this$calDataMaxMin4","_heatmap","_renderer","canvas2","texture","minFilter","magFilter","toDataURL","threshold","shaderMaterial","uniforms","granularity","uOpacity","uHeight","uRange","vertexShader","fragmentShader","transparent","side","depthTest","mesh","rotation","PI","set","renderOrder","add","setData","removeChild","defaultMax","removeFromParent","_this$_attachmentMesh","_get","_getPrototypeOf","prototype","material","dispose"],"sources":["../../../src/business/HeatMap/HeatMap.ts"],"sourcesContent":["import type { PerspectiveCamera } from '@anov/3d-core'\nimport { CanvasTexture, DoubleSide, Mesh, NearestFilter, Object3D, PlaneGeometry, ShaderMaterial, Vector2, use } from '@anov/3d-core'\nimport h from 'anov-heat-map'\nimport type { AnyProps } from 'supercluster'\nimport Supercluster from 'supercluster'\nimport { heightFragmentShader, heightVertexShader } from './shader'\nimport type { HeatMapData, HeatMapnterface } from './index'\n\ntype RangeType = {\n min: number\n max: number\n}\n\ntype HeatMapOptions = {\n colorMap?: {\n [key: number]: string\n }\n max?: number\n radius?: number\n height?: number\n isPixel?: boolean\n range?: RangeType\n}\n\nconst defaultGradient = { 0.25: 'rgb(0,0,255)', 0.55: 'rgb(0,255,0)', 0.85: 'yellow', 1.0: 'rgb(255,0,0)' }\n\nconst defaultData = [\n {\n x: -1000,\n y: 0,\n z: -1000,\n value: 0,\n },\n {\n x: -1000,\n y: 0,\n z: 1000,\n value: 0,\n },\n]\n\n/**\n * 区域热力图\n */\n\nclass HeatMap extends Object3D implements HeatMapnterface {\n public data: HeatMapData[] = []\n\n private _height: number\n private _radius: number\n private _heatmap: any\n private _url: string\n private _colorMap: {\n [key: number]: string\n }\n\n private _isPixel: boolean\n private _canvasBox: HTMLDivElement | undefined\n private _attachmentMesh: Mesh | undefined\n private _supercluster: Supercluster\n private _range: RangeType | undefined\n\n private get defaultMax() {\n return Math.max(...this.data.map(item => item.value))\n }\n\n public get url() {\n return this._url\n }\n\n constructor(options: HeatMapOptions) {\n super()\n\n this._colorMap = options.colorMap || defaultGradient\n this._radius = options.radius ?? 40\n this._height = options.height ?? 70\n this._isPixel = options.isPixel ?? false\n this._range = options.range\n\n // this.initSupercluster()\n }\n\n private initSupercluster() {\n this._supercluster = new Supercluster({\n radius: 40,\n minZoom: 1,\n maxZoom: 16,\n })\n }\n\n /**\n * set supercluster data\n */\n private setSuperclusterData() {\n const featuresPoints = this.data.map((item) => {\n return {\n type: 'Feature',\n properties: {},\n geometry: {\n type: 'Point',\n coordinates: [item.x, item.z],\n },\n }\n })\n\n console.log('正在加载点数据到supercluster:', featuresPoints.length)\n this._supercluster.load(featuresPoints as Supercluster.PointFeature<AnyProps>[])\n }\n\n /**\n * get zoom level\n * @param camera\n * @returns\n */\n private getZoomLevel(camera: PerspectiveCamera) {\n const minZoom = 10\n const maxZoom = 16\n const minHeight = 10\n const maxHeight = 1000\n\n return Math.max(minZoom, Math.min(maxZoom,\n ((maxHeight - camera.position.y) / (maxHeight - minHeight)) * (maxZoom - minZoom) + minZoom,\n ))\n }\n\n /**\n * get supercluster data\n * @returns\n */\n private getSuperclusterData() {\n const { max } = this.calDataMaxMin()\n const zoom = this.getZoomLevel(use.useScene().camera)\n const clusters = this._supercluster.getClusters([-max, -max, max, max], zoom)\n\n console.log('当前缩放级别:', zoom, '输入点数量:', this.data.length, '聚类后点数量:', clusters.length)\n\n return clusters\n }\n\n /**\n * calculate data max and min\n * @returns\n */\n private calDataMaxMin() {\n const maxX = Math.max(...this.data.map(item => item.x))\n const minX = Math.min(...this.data.map(item => item.x))\n const maxZ = Math.max(...this.data.map(item => item.z))\n const minZ = Math.min(...this.data.map(item => item.z))\n\n const max = Math.max(Math.abs(Math.ceil(maxX)), Math.abs(Math.ceil(minX)), Math.abs(Math.ceil(maxZ)), Math.abs(Math.ceil(minZ)), 60)\n\n const width = max * 2\n const height = max * 2\n\n const realShowWidth = maxX - minX\n const realShowHeight = maxZ - minZ\n const realShowMax = Math.max(Math.ceil(realShowWidth), Math.ceil(realShowHeight), 60)\n\n return { width, height, max, minX, minZ, maxX, maxZ, realShowMax }\n }\n\n /**\n * handle range data filter\n * @param data\n * @returns\n */\n private handleRandeDataFilter(data: HeatMapData[]) {\n if (this._range) {\n return data.filter((item) => {\n return item.x >= this._range.min && item.x <= this._range.max && item.z >= this._range.min && item.z <= this._range.max\n })\n }\n\n return data\n }\n\n /**\n * coordinate transformation\n * @param data\n * @returns\n */\n private coordinateTransformation(data: HeatMapData[]) {\n const hanldeData = data\n const { width, height, max } = this.calDataMaxMin()\n\n const result = hanldeData.map(item => ({\n x: Math.floor((item.x - (-max)) / (max - (-max)) * width),\n y: Math.floor((item.z - (-max)) / (max - (-max)) * height),\n value: item.value,\n radius: Math.max(2, (item.radius ?? this._radius)),\n }))\n\n return result\n }\n\n /**\n * generate heatmap texture\n * @param canvasBox\n * @returns\n */\n private createHeatmapTool() {\n const heatmap = h.create({\n container: this._canvasBox,\n radius: this._radius,\n gradient: this._colorMap,\n maxOpacity: 1,\n minOpacity: 0,\n })\n\n return heatmap\n }\n\n /**\n * create heatmap container canvas\n * @returns\n */\n private createCanvas() {\n const { width, height } = this.calDataMaxMin()\n const canvasBox = document.createElement('div')\n\n canvasBox.style.width = `${width}px`\n canvasBox.style.height = `${height}px`\n canvasBox.style.top = '0'\n canvasBox.style.right = '0'\n\n use.useScene().domElement.parentElement.appendChild(canvasBox)\n\n return canvasBox\n }\n\n /**\n * calculate resolution scale\n * @param width\n * @returns\n */\n private calResolutionScale(width: number) {\n return Math.max(1, Math.min(10, 10 - (width * 9) / 2000))\n }\n\n /**\n * handle resolution canvas\n * @param canvas\n * @param scale\n * @returns\n */\n private handleResolutionCanvas(canvas: HTMLCanvasElement, scale: number) {\n const finalCanvas = document.createElement('canvas')\n finalCanvas.width = canvas.width * scale\n finalCanvas.height = canvas.height * scale\n const ctx = finalCanvas.getContext('2d')\n ctx.scale(scale, scale)\n ctx.drawImage(canvas, 0, 0)\n\n return finalCanvas\n }\n\n /**\n * create attachment mesh\n */\n private createAttachmentMesh() {\n if (this._attachmentMesh)\n this.remove(this._attachmentMesh)\n\n const { width, height, realShowMax, max } = this.calDataMaxMin()\n const canvas = this._heatmap._renderer.canvas\n const scale = this.calResolutionScale(canvas.width)\n const canvas2 = this.handleResolutionCanvas(canvas, scale)\n const texture = new CanvasTexture(canvas2)\n\n texture.minFilter = NearestFilter\n texture.magFilter = NearestFilter\n\n this._url = canvas.toDataURL('image/png')\n\n const threshold = (0.3 / 1000 * realShowMax)\n const shaderMaterial = new ShaderMaterial({\n uniforms: {\n map: { value: texture },\n granularity: { value: realShowMax / 3 < 300 ? 300 : realShowMax / 3 },\n threshold: { value: threshold > 0.6 ? 0.6 : threshold < 0.25 ? 0.25 : threshold },\n uOpacity: { value: 2.0 },\n uHeight: { value: this._height },\n isPixel: { value: this._isPixel },\n uRange: { value: new Vector2(this._range?.min ?? -max, this._range?.max ?? max) },\n\n },\n vertexShader: heightVertexShader,\n fragmentShader: heightFragmentShader,\n transparent: true,\n side: DoubleSide,\n depthTest: false,\n })\n\n const mesh = new Mesh(new PlaneGeometry(width, height, 500, 500), shaderMaterial)\n\n mesh.rotation.x = -Math.PI / 2\n mesh.position.set(0, 0, 0)\n mesh.renderOrder = 1000\n\n this._attachmentMesh = mesh\n this.add(mesh)\n }\n\n /**\n * set heatmap data\n * @param data\n */\n public setData(data: HeatMapData[]) {\n this.data = [...defaultData, ...data]\n this._canvasBox && use.useScene().domElement.parentElement.removeChild(this._canvasBox)\n this._canvasBox = this.createCanvas()\n this._heatmap = this.createHeatmapTool()\n\n this._heatmap.setData({\n data: this.coordinateTransformation(data),\n max: this.defaultMax,\n })\n\n this.createAttachmentMesh()\n\n // 聚类暂时不实现\n // this.setSuperclusterData()\n // use.useScene().orbitControls.addEventListener('change', () => {\n // const clusters = this.getSuperclusterData()\n // console.log(clusters)\n // })\n }\n\n override removeFromParent(): this {\n super.removeFromParent()\n use.useScene().domElement.parentElement.removeChild(this._canvasBox)\n\n // @ts-ignore\n this._attachmentMesh?.material.dispose()\n\n return this\n }\n}\n\nexport default HeatMap"],"mappings":"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"}
1
+ {"version":3,"names":["CanvasTexture","DoubleSide","Mesh","NearestFilter","Object3D","PlaneGeometry","ShaderMaterial","Vector2","use","h","Supercluster","heightFragmentShader","heightVertexShader","defaultGradient","HeatMap","_Object3D","_inherits","_super","_createSuper","options","_options$radius","_options$height","_options$isPixel","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","_colorMap","colorMap","_radius","radius","_height","height","_isPixel","isPixel","_range","range","_createClass","key","get","Math","max","apply","_toConsumableArray","data","map","item","value","_url","initSupercluster","_supercluster","minZoom","maxZoom","setSuperclusterData","featuresPoints","type","properties","geometry","coordinates","x","z","console","log","length","load","getZoomLevel","camera","minHeight","maxHeight","min","position","y","getSuperclusterData","_this$calDataMaxMin","calDataMaxMin","zoom","useScene","clusters","getClusters","_this2","maxX","minX","maxZ","minZ","abs","ceil","maxRadius","_item$radius","concat","width","realShowWidth","realShowHeight","realShowMax","generateAsitePoints","_this3","_item$radius2","boundaryPoints","isBoundary","_this$calDataMaxMin2","coordinate3DTransformation","_this4","_this$newOrigin","newOrigin","_item$radius3","_objectSpread","coordinateTransformation","_this5","hanldeData","_this$calDataMaxMin3","resolutionScale","calResolutionScale","result","_item$radius4","floor","createHeatmapTool","heatmap","create","container","_canvasBox","gradient","maxOpacity","minOpacity","createCanvas","canvasBox","document","createElement","style","top","right","domElement","parentElement","appendChild","_this$calDataMaxMin4","maxY","scale","createAttachmentMesh","_attachmentMesh","remove","_this$calDataMaxMin5","canvas","_heatmap","_renderer","texture","minFilter","magFilter","toDataURL","threshold","shaderMaterial","uniforms","granularity","uOpacity","uHeight","uRange","vertexShader","fragmentShader","transparent","side","depthTest","mesh","_this$newOrigin2","rotation","PI","set","renderOrder","add","setData","_this$_range$max","_this$_range","_this$_range$min","_this$_range2","_this$generateAsitePo","heatmapData","removeChild","filter","defaultMax","removeFromParent","_this$_attachmentMesh","_get","_getPrototypeOf","prototype","material","dispose"],"sources":["../../../src/business/HeatMap/HeatMap.ts"],"sourcesContent":["import type { PerspectiveCamera } from '@anov/3d-core'\nimport { CanvasTexture, DoubleSide, Mesh, NearestFilter, Object3D, PlaneGeometry, ShaderMaterial, Vector2, use } from '@anov/3d-core'\nimport h from 'anov-heat-map'\nimport type { AnyProps } from 'supercluster'\nimport Supercluster from 'supercluster'\nimport { heightFragmentShader, heightVertexShader } from './shader'\nimport type { HeatMapData, HeatMapnterface } from './index'\n\ntype RangeType = {\n min: number\n max: number\n}\n\ntype HeatMapOptions = {\n colorMap?: {\n [key: number]: string\n }\n max?: number\n radius?: number\n height?: number\n isPixel?: boolean\n range?: RangeType\n}\n\nconst defaultGradient = { 0.25: 'rgb(0,0,255)', 0.55: 'rgb(0,255,0)', 0.85: 'yellow', 1.0: 'rgb(255,0,0)' }\n\n/**\n * 区域热力图\n */\n\nclass HeatMap extends Object3D implements HeatMapnterface {\n public data: HeatMapData[] = []\n\n private _height: number\n private _radius: number\n private _heatmap: any\n private _url: string\n private _colorMap: {\n [key: number]: string\n }\n\n private _isPixel: boolean\n private _canvasBox: HTMLDivElement | undefined\n private _attachmentMesh: Mesh | undefined\n private _supercluster: Supercluster\n private _range: RangeType | undefined\n\n private get defaultMax() {\n return Math.max(...this.data.map(item => item.value))\n }\n\n public get url() {\n return this._url\n }\n\n constructor(options: HeatMapOptions) {\n super()\n\n this._colorMap = options.colorMap || defaultGradient\n this._radius = options.radius ?? 40\n this._height = options.height ?? 70\n this._isPixel = options.isPixel ?? false\n this._range = options.range\n\n // this.initSupercluster()\n }\n\n private initSupercluster() {\n this._supercluster = new Supercluster({\n radius: 40,\n minZoom: 1,\n maxZoom: 16,\n })\n }\n\n /**\n * set supercluster data\n */\n private setSuperclusterData() {\n const featuresPoints = this.data.map((item) => {\n return {\n type: 'Feature',\n properties: {},\n geometry: {\n type: 'Point',\n coordinates: [item.x, item.z],\n },\n }\n })\n\n console.log('正在加载点数据到supercluster:', featuresPoints.length)\n this._supercluster.load(featuresPoints as Supercluster.PointFeature<AnyProps>[])\n }\n\n /**\n * get zoom level\n * @param camera\n * @returns\n */\n private getZoomLevel(camera: PerspectiveCamera) {\n const minZoom = 10\n const maxZoom = 16\n const minHeight = 10\n const maxHeight = 1000\n\n return Math.max(minZoom, Math.min(maxZoom,\n ((maxHeight - camera.position.y) / (maxHeight - minHeight)) * (maxZoom - minZoom) + minZoom,\n ))\n }\n\n /**\n * get supercluster data\n * @returns\n */\n private getSuperclusterData() {\n const { max } = this.calDataMaxMin()\n const zoom = this.getZoomLevel(use.useScene().camera)\n const clusters = this._supercluster.getClusters([-max, -max, max, max], zoom)\n\n console.log('当前缩放级别:', zoom, '输入点数量:', this.data.length, '聚类后点数量:', clusters.length)\n\n return clusters\n }\n\n /**\n * calculate data max and min\n * @returns\n */\n private calDataMaxMin() {\n const maxX = Math.max(...this.data.map(item => item.x))\n const minX = Math.min(...this.data.map(item => item.x))\n const maxZ = Math.max(...this.data.map(item => item.z))\n const minZ = Math.min(...this.data.map(item => item.z))\n\n const max = Math.max(Math.abs(Math.ceil(maxX)), Math.abs(Math.ceil(minX)), Math.abs(Math.ceil(maxZ)), Math.abs(Math.ceil(minZ)), 60)\n const maxRadius = Math.max(...this.data.map(item => item.radius ?? this._radius), this._radius)\n\n const width = max * 2\n const height = max * 2\n\n const realShowWidth = maxX - minX\n const realShowHeight = maxZ - minZ\n\n const realShowMax = Math.max(Math.ceil(realShowWidth), Math.ceil(realShowHeight), 60)\n\n return { width, height, max, minX, minZ, maxX, maxZ, realShowMax, realShowWidth, realShowHeight, maxRadius }\n }\n\n /**\n * generateAsitePoints\n * @param data\n */\n private generateAsitePoints(data: HeatMapData[]) {\n const maxX = Math.max(...data.map(item => item.x))\n const minX = Math.min(...data.map(item => item.x))\n const maxZ = Math.max(...data.map(item => item.z))\n const minZ = Math.min(...data.map(item => item.z))\n\n const maxRadius = Math.max(...data.map(item => item.radius ?? this._radius), this._radius)\n\n const boundaryPoints = [\n { x: minX - maxRadius, z: minZ - maxRadius, value: 0, y: 0, isBoundary: true, radius: 0.001 },\n { x: maxX + maxRadius, z: minZ - maxRadius, value: 0, y: 0, isBoundary: true, radius: 0.001 },\n { x: minX - maxRadius, z: maxZ + maxRadius, value: 0, y: 0, isBoundary: true, radius: 0.001 },\n { x: maxX + maxRadius, z: maxZ + maxRadius, value: 0, y: 0, isBoundary: true, radius: 0.001 },\n ]\n\n return { boundaryPoints, maxRadius }\n }\n\n /**\n * generate new origin\n * @returns\n */\n private get newOrigin() {\n // need to consider one point and multiple points\n const { minX, minZ, maxX, maxZ } = this.calDataMaxMin()\n\n return {\n x: (maxX + minX) / 2,\n z: (maxZ + minZ) / 2,\n }\n }\n\n /**\n * coordinate 3D transformation\n * @param data\n * @returns\n */\n private coordinate3DTransformation(data: HeatMapData[]) {\n const { x, z } = this.newOrigin\n return data.map(item => ({\n ...item,\n x: item.x - x,\n z: item.z - z,\n radius: item.radius ?? this._radius,\n }))\n }\n\n /**\n * coordinate transformation, to canvas coordinate\n * @param data\n * @returns\n */\n private coordinateTransformation(data: HeatMapData[]) {\n const hanldeData = this.coordinate3DTransformation(data)\n const { width, height, realShowWidth, realShowHeight } = this.calDataMaxMin()\n const resolutionScale = this.calResolutionScale()\n\n const result = hanldeData.map(item => ({\n x: Math.floor((item.x - (-realShowWidth / 2)) / (realShowWidth / 2 - (-realShowWidth / 2)) * width) * resolutionScale,\n y: Math.floor((item.z - (-realShowHeight / 2)) / (realShowHeight / 2 - (-realShowHeight / 2)) * height) * resolutionScale,\n value: item.value,\n radius: (item.radius ?? this._radius) * resolutionScale * 2,\n // @ts-ignore\n isBoundary: item?.isBoundary,\n }))\n\n // console.log('原始', data, realShowWidth, realShowHeight)\n // console.log('newOrigin', this.newOrigin)\n // console.log('hanldeData', hanldeData)\n // console.log('结果', result)\n // console.log('resolutionScale', resolutionScale, realShowWidth, realShowHeight, realShowWidth * resolutionScale, realShowHeight * resolutionScale)\n\n return result\n }\n\n /**\n * generate heatmap texture\n * @param canvasBox\n * @returns\n */\n private createHeatmapTool() {\n const heatmap = h.create({\n container: this._canvasBox,\n radius: this._radius,\n gradient: this._colorMap,\n maxOpacity: 1,\n minOpacity: 0,\n })\n\n return heatmap\n }\n\n /**\n * create heatmap container canvas\n * @returns\n */\n private createCanvas(width: number, height: number) {\n const canvasBox = document.createElement('div')\n\n canvasBox.style.width = `${width}px`\n canvasBox.style.height = `${height}px`\n canvasBox.style.top = '0'\n canvasBox.style.right = '0'\n\n use.useScene().domElement.parentElement.appendChild(canvasBox)\n\n return canvasBox\n }\n\n /**\n * calculate resolution scale\n * @param width\n * @returns\n */\n private calResolutionScale() {\n const hanldeData = this.coordinate3DTransformation(this.data)\n const { width, height, realShowWidth, realShowHeight } = this.calDataMaxMin()\n const result = hanldeData.map(item => ({\n x: Math.floor((item.x - (-realShowWidth / 2)) / (realShowWidth / 2 - (-realShowWidth / 2)) * width),\n y: Math.floor((item.z - (-realShowHeight / 2)) / (realShowHeight / 2 - (-realShowHeight / 2)) * height),\n value: item.value,\n radius: item.radius * 2,\n }))\n\n const maxRadius = Math.max(...result.map(item => item.radius))\n const maxX = Math.max(...result.map(item => item.x))\n const maxY = Math.max(...result.map(item => item.y))\n const max = Math.max(maxX, maxY)\n\n if (max <= 1000) {\n const scale = (1000 - max) / 1000 * 15 + 1\n return Math.floor(maxRadius < 40 ? scale : 1)\n }\n\n if (max <= 5000) {\n const scale = (5000 - max) / 5000 * 5 + 1\n return Math.floor(maxRadius < 40 ? scale : 1)\n }\n\n return 1\n }\n\n /**\n * create attachment mesh\n */\n private createAttachmentMesh() {\n if (this._attachmentMesh)\n this.remove(this._attachmentMesh)\n\n const { realShowMax, max, realShowWidth, realShowHeight } = this.calDataMaxMin()\n const canvas = this._heatmap._renderer.canvas\n const texture = new CanvasTexture(canvas)\n\n texture.minFilter = NearestFilter\n texture.magFilter = NearestFilter\n\n this._url = canvas.toDataURL('image/png')\n\n const threshold = (0.3 / 1000 * realShowMax)\n const shaderMaterial = new ShaderMaterial({\n uniforms: {\n map: { value: texture },\n granularity: { value: realShowMax / 3 < 300 ? 300 : realShowMax / 3 },\n threshold: { value: threshold > 0.6 ? 0.6 : threshold < 0.25 ? 0.25 : threshold },\n uOpacity: { value: 2.0 },\n uHeight: { value: this._height },\n isPixel: { value: this._isPixel },\n uRange: { value: new Vector2(-max, max) },\n\n },\n vertexShader: heightVertexShader,\n fragmentShader: heightFragmentShader,\n transparent: true,\n side: DoubleSide,\n depthTest: false,\n })\n\n const mesh = new Mesh(new PlaneGeometry(realShowWidth, realShowHeight, 500, 500), shaderMaterial)\n const { x, z } = this.newOrigin\n\n mesh.rotation.x = -Math.PI / 2\n mesh.position.set(x, 0, z)\n mesh.renderOrder = 1000\n\n this._attachmentMesh = mesh\n this.add(mesh)\n }\n\n /**\n * set heatmap data\n * @param data\n */\n public setData(data: HeatMapData[]) {\n const { boundaryPoints } = this.generateAsitePoints(data)\n this.data = [...boundaryPoints, ...data]\n\n const heatmapData = this.coordinateTransformation(this.data)\n this._canvasBox && use.useScene().domElement.parentElement.removeChild(this._canvasBox)\n this._canvasBox = this.createCanvas(Math.max(...heatmapData.map(item => item.x)), Math.max(...heatmapData.map(item => item.y)))\n this._heatmap = this.createHeatmapTool()\n\n this._heatmap.setData({\n data: heatmapData.filter(item => !item.isBoundary),\n max: this._range?.max ?? this.defaultMax,\n min: this._range?.min ?? 0,\n })\n\n this.createAttachmentMesh()\n\n // 聚类暂时不实现\n // this.setSuperclusterData()\n // use.useScene().orbitControls.addEventListener('change', () => {\n // const clusters = this.getSuperclusterData()\n // console.log(clusters)\n // })\n }\n\n override removeFromParent(): this {\n super.removeFromParent()\n use.useScene().domElement.parentElement.removeChild(this._canvasBox)\n\n // @ts-ignore\n this._attachmentMesh?.material.dispose()\n\n return this\n }\n}\n\nexport default HeatMap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,SAASA,aAAa,EAAEC,UAAU,EAAEC,IAAI,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,aAAa,EAAEC,cAAc,EAAEC,OAAO,EAAEC,GAAG,QAAQ,eAAe;AACrI,OAAOC,CAAC,MAAM,eAAe;AAE7B,OAAOC,YAAY,MAAM,cAAc;AACvC,SAASC,oBAAoB,EAAEC,kBAAkB;AAmBjD,IAAMC,eAAe,GAAG;EAAE,IAAI,EAAE,cAAc;EAAE,IAAI,EAAE,cAAc;EAAE,IAAI,EAAE,QAAQ;EAAE,GAAG,EAAE;AAAe,CAAC;;AAE3G;AACA;AACA;AAFA,IAIMC,OAAO,0BAAAC,SAAA;EAAAC,SAAA,CAAAF,OAAA,EAAAC,SAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,OAAA;EAyBX,SAAAA,QAAYK,OAAuB,EAAE;IAAA,IAAAC,eAAA,EAAAC,eAAA,EAAAC,gBAAA;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAV,OAAA;IACnCS,KAAA,GAAAN,MAAA,CAAAQ,IAAA;IAAOC,eAAA,CAAAC,sBAAA,CAAAJ,KAAA,WAzBoB,EAAE;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IAAAG,eAAA,CAAAC,sBAAA,CAAAJ,KAAA;IA2B7BA,KAAA,CAAKK,SAAS,GAAGT,OAAO,CAACU,QAAQ,IAAIhB,eAAe;IACpDU,KAAA,CAAKO,OAAO,IAAAV,eAAA,GAAGD,OAAO,CAACY,MAAM,cAAAX,eAAA,cAAAA,eAAA,GAAI,EAAE;IACnCG,KAAA,CAAKS,OAAO,IAAAX,eAAA,GAAGF,OAAO,CAACc,MAAM,cAAAZ,eAAA,cAAAA,eAAA,GAAI,EAAE;IACnCE,KAAA,CAAKW,QAAQ,IAAAZ,gBAAA,GAAGH,OAAO,CAACgB,OAAO,cAAAb,gBAAA,cAAAA,gBAAA,GAAI,KAAK;IACxCC,KAAA,CAAKa,MAAM,GAAGjB,OAAO,CAACkB,KAAK;;IAE3B;IAAA,OAAAd,KAAA;EACF;EAACe,YAAA,CAAAxB,OAAA;IAAAyB,GAAA;IAAAC,GAAA,EAlBD,SAAAA,IAAA,EAAyB;MACvB,OAAOC,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQ,IAAI,CAACC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACC,KAAK;MAAA,EAAC,EAAC;IACvD;EAAC;IAAAT,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAiB;MACf,OAAO,IAAI,CAACS,IAAI;IAClB;EAAC;IAAAV,GAAA;IAAAS,KAAA,EAcD,SAAAE,iBAAA,EAA2B;MACzB,IAAI,CAACC,aAAa,GAAG,IAAIzC,YAAY,CAAC;QACpCqB,MAAM,EAAE,EAAE;QACVqB,OAAO,EAAE,CAAC;QACVC,OAAO,EAAE;MACX,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;EAFE;IAAAd,GAAA;IAAAS,KAAA,EAGA,SAAAM,oBAAA,EAA8B;MAC5B,IAAMC,cAAc,GAAG,IAAI,CAACV,IAAI,CAACC,GAAG,CAAC,UAACC,IAAI,EAAK;QAC7C,OAAO;UACLS,IAAI,EAAE,SAAS;UACfC,UAAU,EAAE,CAAC,CAAC;UACdC,QAAQ,EAAE;YACRF,IAAI,EAAE,OAAO;YACbG,WAAW,EAAE,CAACZ,IAAI,CAACa,CAAC,EAAEb,IAAI,CAACc,CAAC;UAC9B;QACF,CAAC;MACH,CAAC,CAAC;MAEFC,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAER,cAAc,CAACS,MAAM,CAAC;MAC3D,IAAI,CAACb,aAAa,CAACc,IAAI,CAACV,cAAuD,CAAC;IAClF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAhB,GAAA;IAAAS,KAAA,EAKA,SAAAkB,aAAqBC,MAAyB,EAAE;MAC9C,IAAMf,OAAO,GAAG,EAAE;MAClB,IAAMC,OAAO,GAAG,EAAE;MAClB,IAAMe,SAAS,GAAG,EAAE;MACpB,IAAMC,SAAS,GAAG,IAAI;MAEtB,OAAO5B,IAAI,CAACC,GAAG,CAACU,OAAO,EAAEX,IAAI,CAAC6B,GAAG,CAACjB,OAAO,EACtC,CAACgB,SAAS,GAAGF,MAAM,CAACI,QAAQ,CAACC,CAAC,KAAKH,SAAS,GAAGD,SAAS,CAAC,IAAKf,OAAO,GAAGD,OAAO,CAAC,GAAGA,OACtF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;EAHE;IAAAb,GAAA;IAAAS,KAAA,EAIA,SAAAyB,oBAAA,EAA8B;MAC5B,IAAAC,mBAAA,GAAgB,IAAI,CAACC,aAAa,CAAC,CAAC;QAA5BjC,GAAG,GAAAgC,mBAAA,CAAHhC,GAAG;MACX,IAAMkC,IAAI,GAAG,IAAI,CAACV,YAAY,CAAC1D,GAAG,CAACqE,QAAQ,CAAC,CAAC,CAACV,MAAM,CAAC;MACrD,IAAMW,QAAQ,GAAG,IAAI,CAAC3B,aAAa,CAAC4B,WAAW,CAAC,CAAC,CAACrC,GAAG,EAAE,CAACA,GAAG,EAAEA,GAAG,EAAEA,GAAG,CAAC,EAAEkC,IAAI,CAAC;MAE7Ed,OAAO,CAACC,GAAG,CAAC,SAAS,EAAEa,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC/B,IAAI,CAACmB,MAAM,EAAE,SAAS,EAAEc,QAAQ,CAACd,MAAM,CAAC;MAEpF,OAAOc,QAAQ;IACjB;;IAEA;AACF;AACA;AACA;EAHE;IAAAvC,GAAA;IAAAS,KAAA,EAIA,SAAA2B,cAAA,EAAwB;MAAA,IAAAK,MAAA;MACtB,IAAMC,IAAI,GAAGxC,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQ,IAAI,CAACC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACa,CAAC;MAAA,EAAC,EAAC;MACvD,IAAMsB,IAAI,GAAGzC,IAAI,CAAC6B,GAAG,CAAA3B,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQ,IAAI,CAACC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACa,CAAC;MAAA,EAAC,EAAC;MACvD,IAAMuB,IAAI,GAAG1C,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQ,IAAI,CAACC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACc,CAAC;MAAA,EAAC,EAAC;MACvD,IAAMuB,IAAI,GAAG3C,IAAI,CAAC6B,GAAG,CAAA3B,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQ,IAAI,CAACC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACc,CAAC;MAAA,EAAC,EAAC;MAEvD,IAAMnB,GAAG,GAAGD,IAAI,CAACC,GAAG,CAACD,IAAI,CAAC4C,GAAG,CAAC5C,IAAI,CAAC6C,IAAI,CAACL,IAAI,CAAC,CAAC,EAAExC,IAAI,CAAC4C,GAAG,CAAC5C,IAAI,CAAC6C,IAAI,CAACJ,IAAI,CAAC,CAAC,EAAEzC,IAAI,CAAC4C,GAAG,CAAC5C,IAAI,CAAC6C,IAAI,CAACH,IAAI,CAAC,CAAC,EAAE1C,IAAI,CAAC4C,GAAG,CAAC5C,IAAI,CAAC6C,IAAI,CAACF,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;MACpI,IAAMG,SAAS,GAAG9C,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQ,IAAI,CAACC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,IAAAyC,YAAA;QAAA,QAAAA,YAAA,GAAIzC,IAAI,CAAChB,MAAM,cAAAyD,YAAA,cAAAA,YAAA,GAAIR,MAAI,CAAClD,OAAO;MAAA,EAAC,EAAA2D,MAAA,EAAE,IAAI,CAAC3D,OAAO,GAAC;MAE/F,IAAM4D,KAAK,GAAGhD,GAAG,GAAG,CAAC;MACrB,IAAMT,MAAM,GAAGS,GAAG,GAAG,CAAC;MAEtB,IAAMiD,aAAa,GAAGV,IAAI,GAAGC,IAAI;MACjC,IAAMU,cAAc,GAAGT,IAAI,GAAGC,IAAI;MAElC,IAAMS,WAAW,GAAGpD,IAAI,CAACC,GAAG,CAACD,IAAI,CAAC6C,IAAI,CAACK,aAAa,CAAC,EAAElD,IAAI,CAAC6C,IAAI,CAACM,cAAc,CAAC,EAAE,EAAE,CAAC;MAErF,OAAO;QAAEF,KAAK,EAALA,KAAK;QAAEzD,MAAM,EAANA,MAAM;QAAES,GAAG,EAAHA,GAAG;QAAEwC,IAAI,EAAJA,IAAI;QAAEE,IAAI,EAAJA,IAAI;QAAEH,IAAI,EAAJA,IAAI;QAAEE,IAAI,EAAJA,IAAI;QAAEU,WAAW,EAAXA,WAAW;QAAEF,aAAa,EAAbA,aAAa;QAAEC,cAAc,EAAdA,cAAc;QAAEL,SAAS,EAATA;MAAU,CAAC;IAC9G;;IAEA;AACF;AACA;AACA;EAHE;IAAAhD,GAAA;IAAAS,KAAA,EAIA,SAAA8C,oBAA4BjD,IAAmB,EAAE;MAAA,IAAAkD,MAAA;MAC/C,IAAMd,IAAI,GAAGxC,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACa,CAAC;MAAA,EAAC,EAAC;MAClD,IAAMsB,IAAI,GAAGzC,IAAI,CAAC6B,GAAG,CAAA3B,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACa,CAAC;MAAA,EAAC,EAAC;MAClD,IAAMuB,IAAI,GAAG1C,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACc,CAAC;MAAA,EAAC,EAAC;MAClD,IAAMuB,IAAI,GAAG3C,IAAI,CAAC6B,GAAG,CAAA3B,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACc,CAAC;MAAA,EAAC,EAAC;MAElD,IAAM0B,SAAS,GAAG9C,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQC,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,IAAAiD,aAAA;QAAA,QAAAA,aAAA,GAAIjD,IAAI,CAAChB,MAAM,cAAAiE,aAAA,cAAAA,aAAA,GAAID,MAAI,CAACjE,OAAO;MAAA,EAAC,EAAA2D,MAAA,EAAE,IAAI,CAAC3D,OAAO,GAAC;MAE1F,IAAMmE,cAAc,GAAG,CACrB;QAAErC,CAAC,EAAEsB,IAAI,GAAGK,SAAS;QAAE1B,CAAC,EAAEuB,IAAI,GAAGG,SAAS;QAAEvC,KAAK,EAAE,CAAC;QAAEwB,CAAC,EAAE,CAAC;QAAE0B,UAAU,EAAE,IAAI;QAAEnE,MAAM,EAAE;MAAM,CAAC,EAC7F;QAAE6B,CAAC,EAAEqB,IAAI,GAAGM,SAAS;QAAE1B,CAAC,EAAEuB,IAAI,GAAGG,SAAS;QAAEvC,KAAK,EAAE,CAAC;QAAEwB,CAAC,EAAE,CAAC;QAAE0B,UAAU,EAAE,IAAI;QAAEnE,MAAM,EAAE;MAAM,CAAC,EAC7F;QAAE6B,CAAC,EAAEsB,IAAI,GAAGK,SAAS;QAAE1B,CAAC,EAAEsB,IAAI,GAAGI,SAAS;QAAEvC,KAAK,EAAE,CAAC;QAAEwB,CAAC,EAAE,CAAC;QAAE0B,UAAU,EAAE,IAAI;QAAEnE,MAAM,EAAE;MAAM,CAAC,EAC7F;QAAE6B,CAAC,EAAEqB,IAAI,GAAGM,SAAS;QAAE1B,CAAC,EAAEsB,IAAI,GAAGI,SAAS;QAAEvC,KAAK,EAAE,CAAC;QAAEwB,CAAC,EAAE,CAAC;QAAE0B,UAAU,EAAE,IAAI;QAAEnE,MAAM,EAAE;MAAM,CAAC,CAC9F;MAED,OAAO;QAAEkE,cAAc,EAAdA,cAAc;QAAEV,SAAS,EAATA;MAAU,CAAC;IACtC;;IAEA;AACF;AACA;AACA;EAHE;IAAAhD,GAAA;IAAAC,GAAA,EAIA,SAAAA,IAAA,EAAwB;MACtB;MACA,IAAA2D,oBAAA,GAAmC,IAAI,CAACxB,aAAa,CAAC,CAAC;QAA/CO,IAAI,GAAAiB,oBAAA,CAAJjB,IAAI;QAAEE,IAAI,GAAAe,oBAAA,CAAJf,IAAI;QAAEH,IAAI,GAAAkB,oBAAA,CAAJlB,IAAI;QAAEE,IAAI,GAAAgB,oBAAA,CAAJhB,IAAI;MAE9B,OAAO;QACLvB,CAAC,EAAE,CAACqB,IAAI,GAAGC,IAAI,IAAI,CAAC;QACpBrB,CAAC,EAAE,CAACsB,IAAI,GAAGC,IAAI,IAAI;MACrB,CAAC;IACH;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA7C,GAAA;IAAAS,KAAA,EAKA,SAAAoD,2BAAmCvD,IAAmB,EAAE;MAAA,IAAAwD,MAAA;MACtD,IAAAC,eAAA,GAAiB,IAAI,CAACC,SAAS;QAAvB3C,CAAC,GAAA0C,eAAA,CAAD1C,CAAC;QAAEC,CAAC,GAAAyC,eAAA,CAADzC,CAAC;MACZ,OAAOhB,IAAI,CAACC,GAAG,CAAC,UAAAC,IAAI;QAAA,IAAAyD,aAAA;QAAA,OAAAC,aAAA,CAAAA,aAAA,KACf1D,IAAI;UACPa,CAAC,EAAEb,IAAI,CAACa,CAAC,GAAGA,CAAC;UACbC,CAAC,EAAEd,IAAI,CAACc,CAAC,GAAGA,CAAC;UACb9B,MAAM,GAAAyE,aAAA,GAAEzD,IAAI,CAAChB,MAAM,cAAAyE,aAAA,cAAAA,aAAA,GAAIH,MAAI,CAACvE;QAAO;MAAA,CACnC,CAAC;IACL;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAS,GAAA;IAAAS,KAAA,EAKA,SAAA0D,yBAAiC7D,IAAmB,EAAE;MAAA,IAAA8D,MAAA;MACpD,IAAMC,UAAU,GAAG,IAAI,CAACR,0BAA0B,CAACvD,IAAI,CAAC;MACxD,IAAAgE,oBAAA,GAAyD,IAAI,CAAClC,aAAa,CAAC,CAAC;QAArEe,KAAK,GAAAmB,oBAAA,CAALnB,KAAK;QAAEzD,MAAM,GAAA4E,oBAAA,CAAN5E,MAAM;QAAE0D,aAAa,GAAAkB,oBAAA,CAAblB,aAAa;QAAEC,cAAc,GAAAiB,oBAAA,CAAdjB,cAAc;MACpD,IAAMkB,eAAe,GAAG,IAAI,CAACC,kBAAkB,CAAC,CAAC;MAEjD,IAAMC,MAAM,GAAGJ,UAAU,CAAC9D,GAAG,CAAC,UAAAC,IAAI;QAAA,IAAAkE,aAAA;QAAA,OAAK;UACrCrD,CAAC,EAAEnB,IAAI,CAACyE,KAAK,CAAC,CAACnE,IAAI,CAACa,CAAC,GAAI,CAAC+B,aAAa,GAAG,CAAE,KAAKA,aAAa,GAAG,CAAC,GAAI,CAACA,aAAa,GAAG,CAAE,CAAC,GAAGD,KAAK,CAAC,GAAGoB,eAAe;UACrHtC,CAAC,EAAE/B,IAAI,CAACyE,KAAK,CAAC,CAACnE,IAAI,CAACc,CAAC,GAAI,CAAC+B,cAAc,GAAG,CAAE,KAAKA,cAAc,GAAG,CAAC,GAAI,CAACA,cAAc,GAAG,CAAE,CAAC,GAAG3D,MAAM,CAAC,GAAG6E,eAAe;UACzH9D,KAAK,EAAED,IAAI,CAACC,KAAK;UACjBjB,MAAM,EAAE,EAAAkF,aAAA,GAAClE,IAAI,CAAChB,MAAM,cAAAkF,aAAA,cAAAA,aAAA,GAAIN,MAAI,CAAC7E,OAAO,IAAIgF,eAAe,GAAG,CAAC;UAC3D;UACAZ,UAAU,EAAEnD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEmD;QACpB,CAAC;MAAA,CAAC,CAAC;;MAEH;MACA;MACA;MACA;MACA;;MAEA,OAAOc,MAAM;IACf;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAzE,GAAA;IAAAS,KAAA,EAKA,SAAAmE,kBAAA,EAA4B;MAC1B,IAAMC,OAAO,GAAG3G,CAAC,CAAC4G,MAAM,CAAC;QACvBC,SAAS,EAAE,IAAI,CAACC,UAAU;QAC1BxF,MAAM,EAAE,IAAI,CAACD,OAAO;QACpB0F,QAAQ,EAAE,IAAI,CAAC5F,SAAS;QACxB6F,UAAU,EAAE,CAAC;QACbC,UAAU,EAAE;MACd,CAAC,CAAC;MAEF,OAAON,OAAO;IAChB;;IAEA;AACF;AACA;AACA;EAHE;IAAA7E,GAAA;IAAAS,KAAA,EAIA,SAAA2E,aAAqBjC,KAAa,EAAEzD,MAAc,EAAE;MAClD,IAAM2F,SAAS,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;MAE/CF,SAAS,CAACG,KAAK,CAACrC,KAAK,MAAAD,MAAA,CAAMC,KAAK,OAAI;MACpCkC,SAAS,CAACG,KAAK,CAAC9F,MAAM,MAAAwD,MAAA,CAAMxD,MAAM,OAAI;MACtC2F,SAAS,CAACG,KAAK,CAACC,GAAG,GAAG,GAAG;MACzBJ,SAAS,CAACG,KAAK,CAACE,KAAK,GAAG,GAAG;MAE3BzH,GAAG,CAACqE,QAAQ,CAAC,CAAC,CAACqD,UAAU,CAACC,aAAa,CAACC,WAAW,CAACR,SAAS,CAAC;MAE9D,OAAOA,SAAS;IAClB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAArF,GAAA;IAAAS,KAAA,EAKA,SAAA+D,mBAAA,EAA6B;MAC3B,IAAMH,UAAU,GAAG,IAAI,CAACR,0BAA0B,CAAC,IAAI,CAACvD,IAAI,CAAC;MAC7D,IAAAwF,oBAAA,GAAyD,IAAI,CAAC1D,aAAa,CAAC,CAAC;QAArEe,KAAK,GAAA2C,oBAAA,CAAL3C,KAAK;QAAEzD,MAAM,GAAAoG,oBAAA,CAANpG,MAAM;QAAE0D,aAAa,GAAA0C,oBAAA,CAAb1C,aAAa;QAAEC,cAAc,GAAAyC,oBAAA,CAAdzC,cAAc;MACpD,IAAMoB,MAAM,GAAGJ,UAAU,CAAC9D,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAK;UACrCa,CAAC,EAAEnB,IAAI,CAACyE,KAAK,CAAC,CAACnE,IAAI,CAACa,CAAC,GAAI,CAAC+B,aAAa,GAAG,CAAE,KAAKA,aAAa,GAAG,CAAC,GAAI,CAACA,aAAa,GAAG,CAAE,CAAC,GAAGD,KAAK,CAAC;UACnGlB,CAAC,EAAE/B,IAAI,CAACyE,KAAK,CAAC,CAACnE,IAAI,CAACc,CAAC,GAAI,CAAC+B,cAAc,GAAG,CAAE,KAAKA,cAAc,GAAG,CAAC,GAAI,CAACA,cAAc,GAAG,CAAE,CAAC,GAAG3D,MAAM,CAAC;UACvGe,KAAK,EAAED,IAAI,CAACC,KAAK;UACjBjB,MAAM,EAAEgB,IAAI,CAAChB,MAAM,GAAG;QACxB,CAAC;MAAA,CAAC,CAAC;MAEH,IAAMwD,SAAS,GAAG9C,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQoE,MAAM,CAAClE,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAAChB,MAAM;MAAA,EAAC,EAAC;MAC9D,IAAMkD,IAAI,GAAGxC,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQoE,MAAM,CAAClE,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACa,CAAC;MAAA,EAAC,EAAC;MACpD,IAAM0E,IAAI,GAAG7F,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQoE,MAAM,CAAClE,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACyB,CAAC;MAAA,EAAC,EAAC;MACpD,IAAM9B,GAAG,GAAGD,IAAI,CAACC,GAAG,CAACuC,IAAI,EAAEqD,IAAI,CAAC;MAEhC,IAAI5F,GAAG,IAAI,IAAI,EAAE;QACf,IAAM6F,KAAK,GAAG,CAAC,IAAI,GAAG7F,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,CAAC;QAC1C,OAAOD,IAAI,CAACyE,KAAK,CAAC3B,SAAS,GAAG,EAAE,GAAGgD,KAAK,GAAG,CAAC,CAAC;MAC/C;MAEA,IAAI7F,GAAG,IAAI,IAAI,EAAE;QACf,IAAM6F,MAAK,GAAG,CAAC,IAAI,GAAG7F,GAAG,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC;QACzC,OAAOD,IAAI,CAACyE,KAAK,CAAC3B,SAAS,GAAG,EAAE,GAAGgD,MAAK,GAAG,CAAC,CAAC;MAC/C;MAEA,OAAO,CAAC;IACV;;IAEA;AACF;AACA;EAFE;IAAAhG,GAAA;IAAAS,KAAA,EAGA,SAAAwF,qBAAA,EAA+B;MAC7B,IAAI,IAAI,CAACC,eAAe,EACtB,IAAI,CAACC,MAAM,CAAC,IAAI,CAACD,eAAe,CAAC;MAEnC,IAAAE,oBAAA,GAA4D,IAAI,CAAChE,aAAa,CAAC,CAAC;QAAxEkB,WAAW,GAAA8C,oBAAA,CAAX9C,WAAW;QAAEnD,GAAG,GAAAiG,oBAAA,CAAHjG,GAAG;QAAEiD,aAAa,GAAAgD,oBAAA,CAAbhD,aAAa;QAAEC,cAAc,GAAA+C,oBAAA,CAAd/C,cAAc;MACvD,IAAMgD,MAAM,GAAG,IAAI,CAACC,QAAQ,CAACC,SAAS,CAACF,MAAM;MAC7C,IAAMG,OAAO,GAAG,IAAI/I,aAAa,CAAC4I,MAAM,CAAC;MAEzCG,OAAO,CAACC,SAAS,GAAG7I,aAAa;MACjC4I,OAAO,CAACE,SAAS,GAAG9I,aAAa;MAEjC,IAAI,CAAC8C,IAAI,GAAG2F,MAAM,CAACM,SAAS,CAAC,WAAW,CAAC;MAEzC,IAAMC,SAAS,GAAI,GAAG,GAAG,IAAI,GAAGtD,WAAY;MAC5C,IAAMuD,cAAc,GAAG,IAAI9I,cAAc,CAAC;QACxC+I,QAAQ,EAAE;UACRvG,GAAG,EAAE;YAAEE,KAAK,EAAE+F;UAAQ,CAAC;UACvBO,WAAW,EAAE;YAAEtG,KAAK,EAAE6C,WAAW,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAGA,WAAW,GAAG;UAAE,CAAC;UACrEsD,SAAS,EAAE;YAAEnG,KAAK,EAAEmG,SAAS,GAAG,GAAG,GAAG,GAAG,GAAGA,SAAS,GAAG,IAAI,GAAG,IAAI,GAAGA;UAAU,CAAC;UACjFI,QAAQ,EAAE;YAAEvG,KAAK,EAAE;UAAI,CAAC;UACxBwG,OAAO,EAAE;YAAExG,KAAK,EAAE,IAAI,CAAChB;UAAQ,CAAC;UAChCG,OAAO,EAAE;YAAEa,KAAK,EAAE,IAAI,CAACd;UAAS,CAAC;UACjCuH,MAAM,EAAE;YAAEzG,KAAK,EAAE,IAAIzC,OAAO,CAAC,CAACmC,GAAG,EAAEA,GAAG;UAAE;QAE1C,CAAC;QACDgH,YAAY,EAAE9I,kBAAkB;QAChC+I,cAAc,EAAEhJ,oBAAoB;QACpCiJ,WAAW,EAAE,IAAI;QACjBC,IAAI,EAAE5J,UAAU;QAChB6J,SAAS,EAAE;MACb,CAAC,CAAC;MAEF,IAAMC,IAAI,GAAG,IAAI7J,IAAI,CAAC,IAAIG,aAAa,CAACsF,aAAa,EAAEC,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,EAAEwD,cAAc,CAAC;MACjG,IAAAY,gBAAA,GAAiB,IAAI,CAACzD,SAAS;QAAvB3C,CAAC,GAAAoG,gBAAA,CAADpG,CAAC;QAAEC,CAAC,GAAAmG,gBAAA,CAADnG,CAAC;MAEZkG,IAAI,CAACE,QAAQ,CAACrG,CAAC,GAAG,CAACnB,IAAI,CAACyH,EAAE,GAAG,CAAC;MAC9BH,IAAI,CAACxF,QAAQ,CAAC4F,GAAG,CAACvG,CAAC,EAAE,CAAC,EAAEC,CAAC,CAAC;MAC1BkG,IAAI,CAACK,WAAW,GAAG,IAAI;MAEvB,IAAI,CAAC3B,eAAe,GAAGsB,IAAI;MAC3B,IAAI,CAACM,GAAG,CAACN,IAAI,CAAC;IAChB;;IAEA;AACF;AACA;AACA;EAHE;IAAAxH,GAAA;IAAAS,KAAA,EAIA,SAAAsH,QAAezH,IAAmB,EAAE;MAAA,IAAA0H,gBAAA,EAAAC,YAAA,EAAAC,gBAAA,EAAAC,aAAA;MAClC,IAAAC,qBAAA,GAA2B,IAAI,CAAC7E,mBAAmB,CAACjD,IAAI,CAAC;QAAjDoD,cAAc,GAAA0E,qBAAA,CAAd1E,cAAc;MACtB,IAAI,CAACpD,IAAI,MAAA4C,MAAA,CAAA7C,kBAAA,CAAOqD,cAAc,GAAArD,kBAAA,CAAKC,IAAI,EAAC;MAExC,IAAM+H,WAAW,GAAG,IAAI,CAAClE,wBAAwB,CAAC,IAAI,CAAC7D,IAAI,CAAC;MAC5D,IAAI,CAAC0E,UAAU,IAAI/G,GAAG,CAACqE,QAAQ,CAAC,CAAC,CAACqD,UAAU,CAACC,aAAa,CAAC0C,WAAW,CAAC,IAAI,CAACtD,UAAU,CAAC;MACvF,IAAI,CAACA,UAAU,GAAG,IAAI,CAACI,YAAY,CAAClF,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQgI,WAAW,CAAC9H,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACa,CAAC;MAAA,EAAC,EAAC,EAAEnB,IAAI,CAACC,GAAG,CAAAC,KAAA,CAARF,IAAI,EAAAG,kBAAA,CAAQgI,WAAW,CAAC9H,GAAG,CAAC,UAAAC,IAAI;QAAA,OAAIA,IAAI,CAACyB,CAAC;MAAA,EAAC,EAAC,CAAC;MAC/H,IAAI,CAACqE,QAAQ,GAAG,IAAI,CAAC1B,iBAAiB,CAAC,CAAC;MAExC,IAAI,CAAC0B,QAAQ,CAACyB,OAAO,CAAC;QACpBzH,IAAI,EAAE+H,WAAW,CAACE,MAAM,CAAC,UAAA/H,IAAI;UAAA,OAAI,CAACA,IAAI,CAACmD,UAAU;QAAA,EAAC;QAClDxD,GAAG,GAAA6H,gBAAA,IAAAC,YAAA,GAAE,IAAI,CAACpI,MAAM,cAAAoI,YAAA,uBAAXA,YAAA,CAAa9H,GAAG,cAAA6H,gBAAA,cAAAA,gBAAA,GAAI,IAAI,CAACQ,UAAU;QACxCzG,GAAG,GAAAmG,gBAAA,IAAAC,aAAA,GAAE,IAAI,CAACtI,MAAM,cAAAsI,aAAA,uBAAXA,aAAA,CAAapG,GAAG,cAAAmG,gBAAA,cAAAA,gBAAA,GAAI;MAC3B,CAAC,CAAC;MAEF,IAAI,CAACjC,oBAAoB,CAAC,CAAC;;MAE3B;MACA;MACA;MACA;MACA;MACA;IACF;EAAC;IAAAjG,GAAA;IAAAS,KAAA,EAED,SAAAgI,iBAAA,EAAkC;MAAA,IAAAC,qBAAA;MAChCC,IAAA,CAAAC,eAAA,CAAArK,OAAA,CAAAsK,SAAA,6BAAA3J,IAAA;MACAjB,GAAG,CAACqE,QAAQ,CAAC,CAAC,CAACqD,UAAU,CAACC,aAAa,CAAC0C,WAAW,CAAC,IAAI,CAACtD,UAAU,CAAC;;MAEpE;MACA,CAAA0D,qBAAA,OAAI,CAACxC,eAAe,cAAAwC,qBAAA,eAApBA,qBAAA,CAAsBI,QAAQ,CAACC,OAAO,CAAC,CAAC;MAExC,OAAO,IAAI;IACb;EAAC;EAAA,OAAAxK,OAAA;AAAA,EA3VmBV,QAAQ;AA8V9B,eAAeU,OAAO"}
@@ -1,2 +1,2 @@
1
- export declare const heightVertexShader = "\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n uniform float uHeight;\n uniform sampler2D map;\n\n void main() {\n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n float h = texture2D(map, vUv).a * uHeight;\n // gl_Position = projectionMatrix * viewMatrix * vec4(worldPosition.x, worldPosition.y, h, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position.x, position.y, h, 1.0);\n }\n";
1
+ export declare const heightVertexShader = "\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n uniform float uHeight;\n uniform sampler2D map;\n\n void main() {\n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n float h = texture2D(map, vUv).a * uHeight;\n // gl_Position = projectionMatrix * viewMatrix * vec4(worldPosition.x, worldPosition.y, h, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position.x, position.y, position.z, 1.0);\n }\n";
2
2
  export declare const heightFragmentShader = "\n uniform sampler2D map;\n uniform float granularity;\n uniform float threshold;\n uniform vec2 uRange;\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n uniform float uOpacity;\n uniform bool isPixel;\n\n \nvec4 createPixelGraphEffect(sampler2D map, vec2 vUv, float granularity, float threshold, vec2 range, vec3 worldPos) {\n vec2 pixelSize = vec2(1.0) / granularity;\n vec2 cell = floor(vUv / pixelSize);\n vec2 cellUv = fract(vUv / pixelSize);\n\n vec4 texColor = texture2D(map, (cell + 0.5) * pixelSize);\n\n vec2 pointCenter = vec2(0.5, 0.5);\n vec2 rotatedUv = cellUv - pointCenter;\n vec2 rotated = vec2(\n (rotatedUv.x - rotatedUv.y) * 0.7071067811865476,\n (rotatedUv.x + rotatedUv.y) * 0.7071067811865476\n );\n\n float dist = abs(rotated.x) + abs(rotated.y);\n\n float intensity = (texColor.r + texColor.g + texColor.b) / 3.0;\n float pointSize = 0.3 * smoothstep(0.0, threshold, intensity);\n\n if (dist > pointSize || intensity < 0.05) {\n discard;\n }\n\n return texColor;\n}\n\n\n void main() {\n vec4 texColor = isPixel ? \n createPixelGraphEffect(map, vUv, granularity, threshold, uRange, vWorldPosition) : \n texture2D(map, vUv);\n \n float a = texColor.a * uOpacity;\n gl_FragColor = texColor;\n gl_FragColor.a = min(a, 1.0); \n\n if(vWorldPosition.x < uRange.x || vWorldPosition.x > uRange.y || \n vWorldPosition.z < uRange.x || vWorldPosition.z > uRange.y) {\n discard;\n }\n }\n";
@@ -1,4 +1,4 @@
1
- export var heightVertexShader = /* glsl */"\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n uniform float uHeight;\n uniform sampler2D map;\n\n void main() {\n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n float h = texture2D(map, vUv).a * uHeight;\n // gl_Position = projectionMatrix * viewMatrix * vec4(worldPosition.x, worldPosition.y, h, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position.x, position.y, h, 1.0);\n }\n";
1
+ export var heightVertexShader = /* glsl */"\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n uniform float uHeight;\n uniform sampler2D map;\n\n void main() {\n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n float h = texture2D(map, vUv).a * uHeight;\n // gl_Position = projectionMatrix * viewMatrix * vec4(worldPosition.x, worldPosition.y, h, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position.x, position.y, position.z, 1.0);\n }\n";
2
2
  var pixelGraphFunc = /* glsl */"\nvec4 createPixelGraphEffect(sampler2D map, vec2 vUv, float granularity, float threshold, vec2 range, vec3 worldPos) {\n vec2 pixelSize = vec2(1.0) / granularity;\n vec2 cell = floor(vUv / pixelSize);\n vec2 cellUv = fract(vUv / pixelSize);\n\n vec4 texColor = texture2D(map, (cell + 0.5) * pixelSize);\n\n vec2 pointCenter = vec2(0.5, 0.5);\n vec2 rotatedUv = cellUv - pointCenter;\n vec2 rotated = vec2(\n (rotatedUv.x - rotatedUv.y) * 0.7071067811865476,\n (rotatedUv.x + rotatedUv.y) * 0.7071067811865476\n );\n\n float dist = abs(rotated.x) + abs(rotated.y);\n\n float intensity = (texColor.r + texColor.g + texColor.b) / 3.0;\n float pointSize = 0.3 * smoothstep(0.0, threshold, intensity);\n\n if (dist > pointSize || intensity < 0.05) {\n discard;\n }\n\n return texColor;\n}\n";
3
3
  export var heightFragmentShader = /* glsl */"\n uniform sampler2D map;\n uniform float granularity;\n uniform float threshold;\n uniform vec2 uRange;\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n uniform float uOpacity;\n uniform bool isPixel;\n\n ".concat(pixelGraphFunc, "\n\n void main() {\n vec4 texColor = isPixel ? \n createPixelGraphEffect(map, vUv, granularity, threshold, uRange, vWorldPosition) : \n texture2D(map, vUv);\n \n float a = texColor.a * uOpacity;\n gl_FragColor = texColor;\n gl_FragColor.a = min(a, 1.0); \n\n if(vWorldPosition.x < uRange.x || vWorldPosition.x > uRange.y || \n vWorldPosition.z < uRange.x || vWorldPosition.z > uRange.y) {\n discard;\n }\n }\n");
4
4
  //# sourceMappingURL=shader.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["heightVertexShader","pixelGraphFunc","heightFragmentShader","concat"],"sources":["../../../src/business/HeatMap/shader.ts"],"sourcesContent":["export const heightVertexShader = /* glsl */ `\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n uniform float uHeight;\n uniform sampler2D map;\n\n void main() {\n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n float h = texture2D(map, vUv).a * uHeight;\n // gl_Position = projectionMatrix * viewMatrix * vec4(worldPosition.x, worldPosition.y, h, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position.x, position.y, h, 1.0);\n }\n`\n\nconst pixelGraphFunc = /* glsl */ `\nvec4 createPixelGraphEffect(sampler2D map, vec2 vUv, float granularity, float threshold, vec2 range, vec3 worldPos) {\n vec2 pixelSize = vec2(1.0) / granularity;\n vec2 cell = floor(vUv / pixelSize);\n vec2 cellUv = fract(vUv / pixelSize);\n\n vec4 texColor = texture2D(map, (cell + 0.5) * pixelSize);\n\n vec2 pointCenter = vec2(0.5, 0.5);\n vec2 rotatedUv = cellUv - pointCenter;\n vec2 rotated = vec2(\n (rotatedUv.x - rotatedUv.y) * 0.7071067811865476,\n (rotatedUv.x + rotatedUv.y) * 0.7071067811865476\n );\n\n float dist = abs(rotated.x) + abs(rotated.y);\n\n float intensity = (texColor.r + texColor.g + texColor.b) / 3.0;\n float pointSize = 0.3 * smoothstep(0.0, threshold, intensity);\n\n if (dist > pointSize || intensity < 0.05) {\n discard;\n }\n\n return texColor;\n}\n`\n\nexport const heightFragmentShader = /* glsl */ `\n uniform sampler2D map;\n uniform float granularity;\n uniform float threshold;\n uniform vec2 uRange;\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n uniform float uOpacity;\n uniform bool isPixel;\n\n ${pixelGraphFunc}\n\n void main() {\n vec4 texColor = isPixel ? \n createPixelGraphEffect(map, vUv, granularity, threshold, uRange, vWorldPosition) : \n texture2D(map, vUv);\n \n float a = texColor.a * uOpacity;\n gl_FragColor = texColor;\n gl_FragColor.a = min(a, 1.0); \n\n if(vWorldPosition.x < uRange.x || vWorldPosition.x > uRange.y || \n vWorldPosition.z < uRange.x || vWorldPosition.z > uRange.y) {\n discard;\n }\n }\n`\n"],"mappings":"AAAA,OAAO,IAAMA,kBAAkB,GAAG,yfAcjC;AAED,IAAMC,cAAc,GAAG,u1BA0BtB;AAED,OAAO,IAAMC,oBAAoB,GAAG,wOAAAC,MAAA,CAUhCF,cAAc,weAgBjB"}
1
+ {"version":3,"names":["heightVertexShader","pixelGraphFunc","heightFragmentShader","concat"],"sources":["../../../src/business/HeatMap/shader.ts"],"sourcesContent":["export const heightVertexShader = /* glsl */ `\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n uniform float uHeight;\n uniform sampler2D map;\n\n void main() {\n vUv = uv;\n vec4 worldPosition = modelMatrix * vec4(position, 1.0);\n vWorldPosition = worldPosition.xyz;\n float h = texture2D(map, vUv).a * uHeight;\n // gl_Position = projectionMatrix * viewMatrix * vec4(worldPosition.x, worldPosition.y, h, 1.0);\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position.x, position.y, position.z, 1.0);\n }\n`\n\nconst pixelGraphFunc = /* glsl */ `\nvec4 createPixelGraphEffect(sampler2D map, vec2 vUv, float granularity, float threshold, vec2 range, vec3 worldPos) {\n vec2 pixelSize = vec2(1.0) / granularity;\n vec2 cell = floor(vUv / pixelSize);\n vec2 cellUv = fract(vUv / pixelSize);\n\n vec4 texColor = texture2D(map, (cell + 0.5) * pixelSize);\n\n vec2 pointCenter = vec2(0.5, 0.5);\n vec2 rotatedUv = cellUv - pointCenter;\n vec2 rotated = vec2(\n (rotatedUv.x - rotatedUv.y) * 0.7071067811865476,\n (rotatedUv.x + rotatedUv.y) * 0.7071067811865476\n );\n\n float dist = abs(rotated.x) + abs(rotated.y);\n\n float intensity = (texColor.r + texColor.g + texColor.b) / 3.0;\n float pointSize = 0.3 * smoothstep(0.0, threshold, intensity);\n\n if (dist > pointSize || intensity < 0.05) {\n discard;\n }\n\n return texColor;\n}\n`\n\nexport const heightFragmentShader = /* glsl */ `\n uniform sampler2D map;\n uniform float granularity;\n uniform float threshold;\n uniform vec2 uRange;\n varying vec2 vUv;\n varying vec3 vWorldPosition;\n uniform float uOpacity;\n uniform bool isPixel;\n\n ${pixelGraphFunc}\n\n void main() {\n vec4 texColor = isPixel ? \n createPixelGraphEffect(map, vUv, granularity, threshold, uRange, vWorldPosition) : \n texture2D(map, vUv);\n \n float a = texColor.a * uOpacity;\n gl_FragColor = texColor;\n gl_FragColor.a = min(a, 1.0); \n\n if(vWorldPosition.x < uRange.x || vWorldPosition.x > uRange.y || \n vWorldPosition.z < uRange.x || vWorldPosition.z > uRange.y) {\n discard;\n }\n }\n`\n"],"mappings":"AAAA,OAAO,IAAMA,kBAAkB,GAAG,kgBAcjC;AAED,IAAMC,cAAc,GAAG,u1BA0BtB;AAED,OAAO,IAAMC,oBAAoB,GAAG,wOAAAC,MAAA,CAUhCF,cAAc,weAgBjB"}
@@ -71,7 +71,7 @@ var SingleCircleMesh = /*#__PURE__*/function (_ParticleMesh) {
71
71
  fragmentShader: fragmentShader,
72
72
  side: 2,
73
73
  transparent: true,
74
- depthWrite: false,
74
+ depthWrite: true,
75
75
  depthTest: true,
76
76
  blending: NormalBlending,
77
77
  // 明确混合模式
@@ -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","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","Clock","Color","Mesh","NormalBlending","PlaneGeometry","ShaderMaterial","use","CircleShader","ParticleMesh","SingleCircleMesh","_ParticleMesh","_super","_this","option","_option$radius","radius","_option$color","color","_radius","_color","init","get","set","newValue","_material","uniforms","_init","_callee","_this2","defaultUniforms","vertexShader","fragmentShader","clock","_callee$","_context","structuredClone","side","transparent","depthWrite","depthTest","blending","polygonOffset","polygonOffsetFactor","_mesh","rotation","x","Math","PI","add","useframe","iTime","getDelta"],"sources":["../../../../src/business/Poi/particle/SingleCircle.ts"],"sourcesContent":["import type { Material } from '@anov/3d-core'\nimport { Clock, Color, Mesh, NormalBlending, PlaneGeometry, ShaderMaterial, use } from '@anov/3d-core'\nimport type { ParticleOption } from '../types'\nimport CircleShader from '../shader/circle'\nimport ParticleMesh from '.'\n\nclass SingleCircleMesh extends ParticleMesh {\n private _material: ShaderMaterial\n private _radius: number\n private _color: string\n\n public get radius(): number {\n return this._radius\n }\n\n public get color(): string {\n return this._color\n }\n\n public set color(newValue: string) {\n if (this._color === newValue)\n return\n this._color = newValue\n this._material.uniforms.color.value = new Color(this._color)\n }\n\n constructor(option: ParticleOption = {}) {\n super()\n const { radius = 0.25, color = '0xFFFFFF' } = option\n this._radius = radius\n this._color = color\n this.init()\n }\n\n private async init() {\n const { uniforms: defaultUniforms, vertexShader, fragmentShader } = CircleShader\n const uniforms = structuredClone(defaultUniforms)\n uniforms.color.value = new Color(this.color)\n this._material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n side: 2,\n transparent: true,\n depthWrite: false,\n depthTest: true,\n blending: NormalBlending, // 明确混合模式\n polygonOffset: false, // 解决深度冲突\n polygonOffsetFactor: -1,\n })\n\n this._mesh = new Mesh(new PlaneGeometry(this.radius * 2, this.radius * 2), this._material)\n this._mesh.rotation.x = Math.PI / 2\n\n this.add(this._mesh)\n\n const clock = new Clock()\n use.useframe(() => {\n this._material.uniforms.iTime.value += 0.8 * clock.getDelta()\n })\n }\n}\n\nexport default SingleCircleMesh"],"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","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","Clock","Color","Mesh","NormalBlending","PlaneGeometry","ShaderMaterial","use","CircleShader","ParticleMesh","SingleCircleMesh","_ParticleMesh","_super","_this","option","_option$radius","radius","_option$color","color","_radius","_color","init","get","set","newValue","_material","uniforms","_init","_callee","_this2","defaultUniforms","vertexShader","fragmentShader","clock","_callee$","_context","structuredClone","side","transparent","depthWrite","depthTest","blending","polygonOffset","polygonOffsetFactor","_mesh","rotation","x","Math","PI","add","useframe","iTime","getDelta"],"sources":["../../../../src/business/Poi/particle/SingleCircle.ts"],"sourcesContent":["import type { Material } from '@anov/3d-core'\nimport { Clock, Color, Mesh, NormalBlending, PlaneGeometry, ShaderMaterial, use } from '@anov/3d-core'\nimport type { ParticleOption } from '../types'\nimport CircleShader from '../shader/circle'\nimport ParticleMesh from '.'\n\nclass SingleCircleMesh extends ParticleMesh {\n private _material: ShaderMaterial\n private _radius: number\n private _color: string\n\n public get radius(): number {\n return this._radius\n }\n\n public get color(): string {\n return this._color\n }\n\n public set color(newValue: string) {\n if (this._color === newValue)\n return\n this._color = newValue\n this._material.uniforms.color.value = new Color(this._color)\n }\n\n constructor(option: ParticleOption = {}) {\n super()\n const { radius = 0.25, color = '0xFFFFFF' } = option\n this._radius = radius\n this._color = color\n this.init()\n }\n\n private async init() {\n const { uniforms: defaultUniforms, vertexShader, fragmentShader } = CircleShader\n const uniforms = structuredClone(defaultUniforms)\n uniforms.color.value = new Color(this.color)\n this._material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n side: 2,\n transparent: true,\n depthWrite: true,\n depthTest: true,\n blending: NormalBlending, // 明确混合模式\n polygonOffset: false, // 解决深度冲突\n polygonOffsetFactor: -1,\n })\n\n this._mesh = new Mesh(new PlaneGeometry(this.radius * 2, this.radius * 2), this._material)\n this._mesh.rotation.x = Math.PI / 2\n\n this.add(this._mesh)\n\n const clock = new Clock()\n use.useframe(() => {\n this._material.uniforms.iTime.value += 0.8 * clock.getDelta()\n })\n }\n}\n\nexport default SingleCircleMesh"],"mappings":"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"}
@@ -9,7 +9,7 @@ export default class ParticleMesh extends ObjectLayer {
9
9
  _listeners: Set<unknown>;
10
10
  constructor();
11
11
  get ready(): Promise<boolean>;
12
- get mesh(): Mesh<import("@anov/3d-core").BufferGeometry<import("@anov/3d-core").NormalBufferAttributes>, import("@anov/3d-core").Material | import("@anov/3d-core").Material[]> | Group;
12
+ get mesh(): Group | Mesh<import("@anov/3d-core").BufferGeometry<import("@anov/3d-core").NormalBufferAttributes>, import("@anov/3d-core").Material | import("@anov/3d-core").Material[]>;
13
13
  setupAnimation(): void;
14
14
  addReloadListener(callback: any): void;
15
15
  removeReloadListener(callback: any): void;
@@ -0,0 +1,14 @@
1
+ import { Color } from '@anov/3d-core';
2
+ declare const CircleShader: {
3
+ uniforms: {
4
+ iTime: {
5
+ value: number;
6
+ };
7
+ color: {
8
+ value: Color;
9
+ };
10
+ };
11
+ vertexShader: string;
12
+ fragmentShader: string;
13
+ };
14
+ export default CircleShader;
@@ -0,0 +1,15 @@
1
+ import { Color } from '@anov/3d-core';
2
+ var CircleShader = {
3
+ uniforms: {
4
+ iTime: {
5
+ value: 0.0
6
+ },
7
+ color: {
8
+ value: new Color(1.0, 1.0, 1.0)
9
+ } // 添加颜色uniform,默认白色
10
+ },
11
+ vertexShader: "\n varying vec2 vUv;\n #include <common>\n #include <logdepthbuf_pars_vertex>\n void main()\n {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n vUv = uv;\n // vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n \n }\n ",
12
+ fragmentShader: "\n varying vec2 vUv;\n uniform float iTime;\n uniform vec3 color;\n #include <common>\n #include <logdepthbuf_pars_fragment>\n\n // vec3 color=vec3(1.,0.6,0.2);\n\n void main() {\n #include <logdepthbuf_fragment>\n //*sin(mod(iTime,100.)); //*fract(mod(iTime,100.))\n float progress=fract(mod(iTime,100.))*0.1+0.4;\n \n float center1=step(distance(vUv,vec2(0.5,0.5)),0.06);\n gl_FragColor=vec4(vec3(1.),center1);\n\n float circleOutMax=step(distance(vUv,vec2(0.5,0.5)),0.5); \n float circleOut=step(distance(vUv,vec2(0.5,0.5)),0.25); \n float circleIn=step(distance(vUv,vec2(0.5,0.5)),0.25-0.006); \n gl_FragColor+=vec4(vec3(1.),circleOut-circleIn)*vec4(color,0.8);\n\n float circleGradientMax=1.-smoothstep(0.24,0.28,distance(vUv,vec2(0.5,0.5))); \n float circleGradient=pow(distance(vUv/.2/2.,vec2(0.5,0.5)/.2/2.),4.1)*4.; \n gl_FragColor += vec4(vec3(1.),circleGradient*circleGradientMax)*vec4(color,0.8);\n \n float circle2GradientMax=step(distance(vUv,vec2(0.5,0.5)),progress-0.15); \n float circle2Gradient=pow(distance(vUv/(progress-0.15)/2.,vec2(0.5,0.5)/(progress-0.1)/2.),1.)*0.3; \n gl_FragColor += vec4(vec3(1.),circle2Gradient*circle2GradientMax)*vec4(color*vec3(1.,0.8,1.),0.4); \n }\n "
13
+ };
14
+ export default CircleShader;
15
+ //# sourceMappingURL=circle copy 2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Color","CircleShader","uniforms","iTime","value","color","vertexShader","fragmentShader"],"sources":["../../../../src/business/Poi/shader/circle copy 2.ts"],"sourcesContent":["import { Color } from '@anov/3d-core'\n\nconst CircleShader = {\n uniforms: {\n iTime: { value: 0.0 },\n color: { value: new Color(1.0, 1.0, 1.0) }, // 添加颜色uniform,默认白色\n },\n vertexShader: `\n varying vec2 vUv;\n #include <common>\n #include <logdepthbuf_pars_vertex>\n void main()\n {\n #include <begin_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n vUv = uv;\n // vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n \n }\n `,\n fragmentShader: `\n varying vec2 vUv;\n uniform float iTime;\n uniform vec3 color;\n #include <common>\n #include <logdepthbuf_pars_fragment>\n\n // vec3 color=vec3(1.,0.6,0.2);\n\n void main() {\n #include <logdepthbuf_fragment>\n //*sin(mod(iTime,100.)); //*fract(mod(iTime,100.))\n float progress=fract(mod(iTime,100.))*0.1+0.4;\n \n float center1=step(distance(vUv,vec2(0.5,0.5)),0.06);\n gl_FragColor=vec4(vec3(1.),center1);\n\n float circleOutMax=step(distance(vUv,vec2(0.5,0.5)),0.5); \n float circleOut=step(distance(vUv,vec2(0.5,0.5)),0.25); \n float circleIn=step(distance(vUv,vec2(0.5,0.5)),0.25-0.006); \n gl_FragColor+=vec4(vec3(1.),circleOut-circleIn)*vec4(color,0.8);\n\n float circleGradientMax=1.-smoothstep(0.24,0.28,distance(vUv,vec2(0.5,0.5))); \n float circleGradient=pow(distance(vUv/.2/2.,vec2(0.5,0.5)/.2/2.),4.1)*4.; \n gl_FragColor += vec4(vec3(1.),circleGradient*circleGradientMax)*vec4(color,0.8);\n \n float circle2GradientMax=step(distance(vUv,vec2(0.5,0.5)),progress-0.15); \n float circle2Gradient=pow(distance(vUv/(progress-0.15)/2.,vec2(0.5,0.5)/(progress-0.1)/2.),1.)*0.3; \n gl_FragColor += vec4(vec3(1.),circle2Gradient*circle2GradientMax)*vec4(color*vec3(1.,0.8,1.),0.4); \n }\n `,\n}\n\nexport default CircleShader"],"mappings":"AAAA,SAASA,KAAK,QAAQ,eAAe;AAErC,IAAMC,YAAY,GAAG;EACnBC,QAAQ,EAAE;IACRC,KAAK,EAAE;MAAEC,KAAK,EAAE;IAAI,CAAC;IACrBC,KAAK,EAAE;MAAED,KAAK,EAAE,IAAIJ,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,CAAE;EAC9C,CAAC;EACDM,YAAY,2UAcX;EACDC,cAAc;AA+BhB,CAAC;AAED,eAAeN,YAAY"}
@@ -20,7 +20,7 @@ export default class TitleMesh extends ObjectLayer {
20
20
  private _debouncedUpdate;
21
21
  constructor(option: TextOption);
22
22
  get ready(): Promise<boolean>;
23
- get mesh(): Mesh<import("@anov/3d-core").BufferGeometry<import("@anov/3d-core").NormalBufferAttributes>, import("@anov/3d-core").Material | import("@anov/3d-core").Material[]> | Group;
23
+ get mesh(): Group | Mesh<import("@anov/3d-core").BufferGeometry<import("@anov/3d-core").NormalBufferAttributes>, import("@anov/3d-core").Material | import("@anov/3d-core").Material[]>;
24
24
  get value(): string;
25
25
  set value(newValue: string);
26
26
  get fontSize(): number;
@@ -22,7 +22,7 @@ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyri
22
22
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
23
23
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
24
24
  import { DoubleSide, Group, Mesh, MeshBasicMaterial, PlaneGeometry, TextureLoader, sRGBEncoding } from '@anov/3d-core';
25
- import { debounce } from 'lodash';
25
+ import debounce from 'lodash/debounce';
26
26
  import { createTextCanvas } from "../tools";
27
27
  import ObjectLayer from "../../Base/ObjectLayer";
28
28
  export var StrategyManage = {
@@ -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","DoubleSide","Group","Mesh","MeshBasicMaterial","PlaneGeometry","TextureLoader","sRGBEncoding","debounce","createTextCanvas","ObjectLayer","StrategyManage","border","_border","_callee","_callee$","_context","default","ellipse","_ellipse","_callee2","_callee2$","_context2","MIN_WIDTH","TitleMesh","_ObjectLayer","_inherits","_super","_createSuper","option","_this","_classCallCheck","_defineProperty","_assertThisInitialized","Set","fontSize","color","fontWeight","offset","bgUrl","uri","_value","_fontSize","_color","_fontWeight","_offset","_bgUrl","_uri","_debouncedUpdate","performUpdate","bind","_createClass","get","_readyPromise","_mesh","set","newValue","update","addReloadListener","callback","_listeners","add","removeReloadListener","delete","setupAnimation","destroy","cancel","clear","remove","removeFromParent","init","_createTextCanvas","canvasW","width","canvasH","height","texture","Math","max","_padding","group","initBackground","source","initText","cb","mesh","createPanel","_ref","load","encoding","meshBasicMaterial","map","transparent","side","position","fromArray","concat","_toConsumableArray"],"sources":["../../../../src/business/Poi/title/index.ts"],"sourcesContent":["import { DoubleSide, Group, Mesh, MeshBasicMaterial, MeshPhysicalMaterial, MeshStandardMaterial, PlaneGeometry, TextureLoader, sRGBEncoding } from '@anov/3d-core'\nimport { debounce } from 'lodash'\nimport type { TextOption } from '../types'\nimport { createTextCanvas } from '../tools'\nimport ObjectLayer from '../../Base/ObjectLayer'\n\nexport const StrategyManage = {\n border: async () => (await import('./Border')).default,\n ellipse: async () => (await import('./Ellipse')).default,\n}\n\nconst MIN_WIDTH = 1.2\nexport default class TitleMesh extends ObjectLayer {\n private _readyPromise: Promise<boolean>\n private _mesh: Group | Mesh\n private _listeners = new Set()\n\n _padding: [number, number]\n _bgUrl: string\n private _value: string\n private _fontSize: number\n private _color: string\n private _fontWeight: string\n private _offset: [number, number]\n private _uri: string\n private _debouncedUpdate: Function & { cancel: Function }\n\n constructor(option: TextOption) {\n super()\n const { value, fontSize, color, fontWeight, offset, bgUrl, uri } = option\n this._value = value\n this._fontSize = fontSize\n this._color = color\n this._fontWeight = fontWeight\n this._offset = offset\n if (bgUrl)\n this._bgUrl = bgUrl\n this._uri = uri\n this._debouncedUpdate = debounce(this.performUpdate.bind(this), 300)\n }\n\n public get ready() {\n return this._readyPromise\n }\n\n public get mesh() {\n return this._mesh\n }\n\n public get value(): string {\n return this._value\n }\n\n public set value(newValue: string) {\n if (this._value === newValue)\n return\n this._value = newValue\n this.update()\n }\n\n public get fontSize(): number {\n return this._fontSize\n }\n\n public set fontSize(newValue: number) {\n if (this._fontSize === newValue)\n return\n this._fontSize = newValue\n this.update()\n }\n\n public get color(): string {\n return this._color\n }\n\n public set color(newValue: string) {\n if (this._color === newValue)\n return\n this._color = newValue\n this.update()\n }\n\n public get fontWeight(): string {\n return this._fontWeight\n }\n\n public set fontWeight(newValue: string) {\n if (this._fontWeight === newValue)\n return\n this._fontWeight = newValue\n this.update()\n }\n\n public get offset(): [number, number] {\n return this._offset\n }\n\n public set offset(newValue: [number, number]) {\n this._offset = newValue\n this.update()\n }\n\n public get bgUrl(): string {\n return this._bgUrl\n }\n\n public set bgUrl(newValue: string) {\n if (this._bgUrl === newValue)\n return\n this._bgUrl = newValue\n this.update()\n }\n\n public get uri(): string {\n return this._uri\n }\n\n public set uri(newValue: string) {\n if (this._uri === newValue)\n return\n this._uri = newValue\n this.update()\n }\n\n // 注册监听\n public addReloadListener(callback) {\n this._listeners.add(callback)\n }\n\n // 移除监听\n public removeReloadListener(callback) {\n this._listeners.delete(callback)\n }\n\n public setupAnimation() {}\n\n // 销毁\n public destroy() {\n this._debouncedUpdate.cancel()\n this._listeners.clear()\n this._mesh.remove()\n this._mesh.removeFromParent()\n }\n\n init() {\n const { width: canvasW, height: canvasH, texture } = createTextCanvas({\n fontSize: this._fontSize,\n color: this._color,\n fontWeight: this._fontWeight,\n value: this._value,\n })\n // 转化为场景中的尺寸,并增加左右上下边距\n const width = Math.max(canvasW / 100 + this._padding[1] * 2, MIN_WIDTH)\n const height = canvasH / 100 + this._padding[0] * 2\n\n const group = new Group()\n this.initBackground(group, { width, height, source: this._bgUrl, offset: [0, 0, 0] })\n this.initText(group, { width: canvasW / 100, height: canvasH / 100, source: texture, offset: [0, 0, 0], color: this._color })\n this.add(group)\n this._mesh = group\n }\n\n // Update method with debounce\n private update(): void {\n this._debouncedUpdate()\n }\n\n private performUpdate(): void {\n this._mesh.remove()\n this._mesh.removeFromParent()\n this.init()\n this._listeners.forEach((cb: Function) => {\n cb()\n })\n }\n\n private initBackground(group: Group, option) {\n const mesh = this.createPanel(option)\n group.add(mesh)\n }\n\n private initText(group: Group, option) {\n const mesh = this.createPanel(option)\n group.add(mesh)\n }\n\n private createPanel({ width, height, source, color, offset }) {\n const texture = (typeof source == 'string') ? new TextureLoader().load(source) : source\n texture.encoding = sRGBEncoding\n\n const meshBasicMaterial = new MeshBasicMaterial({ map: texture, transparent: true, side: DoubleSide, color })\n // meshBasicMaterial.depthWrite = false\n // meshBasicMaterial.depthTest = false\n\n const mesh = new Mesh(\n new PlaneGeometry(width, height),\n meshBasicMaterial,\n )\n // mesh.renderOrder = 1000\n\n // this._scale && mesh.scale.fromArray(scale)\n offset && mesh.position.fromArray([...offset, 0])\n return mesh\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","DoubleSide","Group","Mesh","MeshBasicMaterial","PlaneGeometry","TextureLoader","sRGBEncoding","debounce","createTextCanvas","ObjectLayer","StrategyManage","border","_border","_callee","_callee$","_context","default","ellipse","_ellipse","_callee2","_callee2$","_context2","MIN_WIDTH","TitleMesh","_ObjectLayer","_inherits","_super","_createSuper","option","_this","_classCallCheck","_defineProperty","_assertThisInitialized","Set","fontSize","color","fontWeight","offset","bgUrl","uri","_value","_fontSize","_color","_fontWeight","_offset","_bgUrl","_uri","_debouncedUpdate","performUpdate","bind","_createClass","get","_readyPromise","_mesh","set","newValue","update","addReloadListener","callback","_listeners","add","removeReloadListener","delete","setupAnimation","destroy","cancel","clear","remove","removeFromParent","init","_createTextCanvas","canvasW","width","canvasH","height","texture","Math","max","_padding","group","initBackground","source","initText","cb","mesh","createPanel","_ref","load","encoding","meshBasicMaterial","map","transparent","side","position","fromArray","concat","_toConsumableArray"],"sources":["../../../../src/business/Poi/title/index.ts"],"sourcesContent":["import { DoubleSide, Group, Mesh, MeshBasicMaterial, MeshPhysicalMaterial, MeshStandardMaterial, PlaneGeometry, TextureLoader, sRGBEncoding } from '@anov/3d-core'\nimport debounce from 'lodash/debounce'\nimport type { TextOption } from '../types'\nimport { createTextCanvas } from '../tools'\nimport ObjectLayer from '../../Base/ObjectLayer'\n\nexport const StrategyManage = {\n border: async () => (await import('./Border')).default,\n ellipse: async () => (await import('./Ellipse')).default,\n}\n\nconst MIN_WIDTH = 1.2\nexport default class TitleMesh extends ObjectLayer {\n private _readyPromise: Promise<boolean>\n private _mesh: Group | Mesh\n private _listeners = new Set()\n\n _padding: [number, number]\n _bgUrl: string\n private _value: string\n private _fontSize: number\n private _color: string\n private _fontWeight: string\n private _offset: [number, number]\n private _uri: string\n private _debouncedUpdate: Function & { cancel: Function }\n\n constructor(option: TextOption) {\n super()\n const { value, fontSize, color, fontWeight, offset, bgUrl, uri } = option\n this._value = value\n this._fontSize = fontSize\n this._color = color\n this._fontWeight = fontWeight\n this._offset = offset\n if (bgUrl)\n this._bgUrl = bgUrl\n this._uri = uri\n this._debouncedUpdate = debounce(this.performUpdate.bind(this), 300)\n }\n\n public get ready() {\n return this._readyPromise\n }\n\n public get mesh() {\n return this._mesh\n }\n\n public get value(): string {\n return this._value\n }\n\n public set value(newValue: string) {\n if (this._value === newValue)\n return\n this._value = newValue\n this.update()\n }\n\n public get fontSize(): number {\n return this._fontSize\n }\n\n public set fontSize(newValue: number) {\n if (this._fontSize === newValue)\n return\n this._fontSize = newValue\n this.update()\n }\n\n public get color(): string {\n return this._color\n }\n\n public set color(newValue: string) {\n if (this._color === newValue)\n return\n this._color = newValue\n this.update()\n }\n\n public get fontWeight(): string {\n return this._fontWeight\n }\n\n public set fontWeight(newValue: string) {\n if (this._fontWeight === newValue)\n return\n this._fontWeight = newValue\n this.update()\n }\n\n public get offset(): [number, number] {\n return this._offset\n }\n\n public set offset(newValue: [number, number]) {\n this._offset = newValue\n this.update()\n }\n\n public get bgUrl(): string {\n return this._bgUrl\n }\n\n public set bgUrl(newValue: string) {\n if (this._bgUrl === newValue)\n return\n this._bgUrl = newValue\n this.update()\n }\n\n public get uri(): string {\n return this._uri\n }\n\n public set uri(newValue: string) {\n if (this._uri === newValue)\n return\n this._uri = newValue\n this.update()\n }\n\n // 注册监听\n public addReloadListener(callback) {\n this._listeners.add(callback)\n }\n\n // 移除监听\n public removeReloadListener(callback) {\n this._listeners.delete(callback)\n }\n\n public setupAnimation() {}\n\n // 销毁\n public destroy() {\n this._debouncedUpdate.cancel()\n this._listeners.clear()\n this._mesh.remove()\n this._mesh.removeFromParent()\n }\n\n init() {\n const { width: canvasW, height: canvasH, texture } = createTextCanvas({\n fontSize: this._fontSize,\n color: this._color,\n fontWeight: this._fontWeight,\n value: this._value,\n })\n // 转化为场景中的尺寸,并增加左右上下边距\n const width = Math.max(canvasW / 100 + this._padding[1] * 2, MIN_WIDTH)\n const height = canvasH / 100 + this._padding[0] * 2\n\n const group = new Group()\n this.initBackground(group, { width, height, source: this._bgUrl, offset: [0, 0, 0] })\n this.initText(group, { width: canvasW / 100, height: canvasH / 100, source: texture, offset: [0, 0, 0], color: this._color })\n this.add(group)\n this._mesh = group\n }\n\n // Update method with debounce\n private update(): void {\n this._debouncedUpdate()\n }\n\n private performUpdate(): void {\n this._mesh.remove()\n this._mesh.removeFromParent()\n this.init()\n this._listeners.forEach((cb: Function) => {\n cb()\n })\n }\n\n private initBackground(group: Group, option) {\n const mesh = this.createPanel(option)\n group.add(mesh)\n }\n\n private initText(group: Group, option) {\n const mesh = this.createPanel(option)\n group.add(mesh)\n }\n\n private createPanel({ width, height, source, color, offset }) {\n const texture = (typeof source == 'string') ? new TextureLoader().load(source) : source\n texture.encoding = sRGBEncoding\n\n const meshBasicMaterial = new MeshBasicMaterial({ map: texture, transparent: true, side: DoubleSide, color })\n // meshBasicMaterial.depthWrite = false\n // meshBasicMaterial.depthTest = false\n\n const mesh = new Mesh(\n new PlaneGeometry(width, height),\n meshBasicMaterial,\n )\n // mesh.renderOrder = 1000\n\n // this._scale && mesh.scale.fromArray(scale)\n offset && mesh.position.fromArray([...offset, 0])\n return mesh\n }\n}"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d-ability",
3
- "version": "0.0.94",
3
+ "version": "0.0.98",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",