@anov/3d-ability 0.0.90 → 0.0.92

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.
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HeatmapConfig","defaultRadius","defaultRenderer","defaultGradient","defaultMaxOpacity","defaultMinOpacity","defaultBlur","defaultXField","defaultYField","defaultValueField","plugins","Store","config","_classCallCheck","_defineProperty","_xField","xField","_yField","yField","_valueField","valueField","radius","_cfgRadius","_createClass","key","value","_organiseData","dataPoint","forceRender","x","y","radi","_radi","store","_data","max","_max","min","_min","storedVal","setDataMax","setDataMin","_unOrganizeData","unorganizedData","data","push","_onExtremaChange","_coordinator","emit","addData","_len","arguments","length","args","Array","_key","dataArr","dataLen","organisedEntry","setData","dataPoints","pointsLen","i","getInternalData","removeData","setCoordinator","coordinator","getData","getValueAt","point","_renderer","shadowCtx","img","getImageData","Math","abs","Canvas2dRenderer","_width","_height","container","shadowCanvas","document","createElement","canvas","_renderBoundaries","computed","getComputedStyle","className","width","replace","height","getContext","ctx","style","cssText","position","appendChild","_palette","_getColorPalette","_templates","_setStyles","_config$gradient","gradientConfig","gradient","paletteCanvas","paletteCtx","createLinearGradient","addColorStop","fillStyle","fillRect","_getPointTemplate","blurFactor","tplCanvas","tplCtx","beginPath","arc","PI","fill","createRadialGradient","_prepareData","renderData","data2","xValues","Object","keys","xValuesLen","xValue","yValues","yValuesLen","yValue","renderPartial","_drawAlpha","_colorize","renderAll","_clear","_updateGradient","updateConfig","setDimensions","clearRect","_blur","blur","backgroundColor","_opacity","opacity","_maxOpacity","maxOpacity","_minOpacity","minOpacity","_useGradientOpacity","useGradientOpacity","rectX","rectY","tpl","templateAlpha","globalAlpha","drawImage","maxWidth","maxHeight","imgData","len","palette","alpha","offset","finalAlpha","newImg","ImageData","putImageData","getDataURL","toDataURL","Coordinator","cStore","on","evtName","callback","scope","call","Heatmap","_config","_objectSpread","plugin","pluginToLoad","Error","concat","Renderer","renderer","_store","_connect","_this","onExtremaChange","_this$_store","_len2","_key3","apply","_toConsumableArray","_this$_store2","_len3","_key4","_this$_store3","_len4","_key5","_this$_store4","_len5","_key6","configure","repaint","heatmapFactory","create","register","pluginKey"],"sources":["../../../src/business/HeatMap/core.ts"],"sourcesContent":["const HeatmapConfig = {\n defaultRadius: 40,\n defaultRenderer: 'canvas2d',\n defaultGradient: { 0.25: 'rgb(0,0,255)', 0.55: 'rgb(0,255,0)', 0.85: 'yellow', 1.0: 'rgb(255,0,0)' },\n defaultMaxOpacity: 1,\n defaultMinOpacity: 0,\n defaultBlur: 0.85,\n defaultXField: 'x',\n defaultYField: 'y',\n defaultValueField: 'value',\n plugins: {},\n}\n\ninterface IPoint {\n x: number\n y: number\n value: number\n radius: number\n min?: number\n max?: number\n}\n\ninterface IConfig {\n radius?: number\n xField?: string\n yField?: string\n valueField?: string\n defaultXField: string\n defaultYField: string\n defaultValueField: string\n}\n\nclass Store {\n private _coordinator: any = {}\n private _data: any[] = []\n private _radi: any[] = []\n private _min = 10\n private _max = 1\n private _xField: string\n private _yField: string\n private _valueField: string\n private _cfgRadius?: number\n\n constructor(config: IConfig) {\n this._xField = config.xField || config.defaultXField\n this._yField = config.yField || config.defaultYField\n this._valueField = config.valueField || config.defaultValueField\n\n if (config.radius)\n this._cfgRadius = config.radius\n }\n\n private _organiseData(dataPoint: any, forceRender: boolean): false | IPoint {\n const x = dataPoint[this._xField]\n const y = dataPoint[this._yField]\n const radi = this._radi\n const store = this._data\n const max = this._max\n const min = this._min\n const value = dataPoint[this._valueField] || 1\n const radius = dataPoint.radius || this._cfgRadius || HeatmapConfig.defaultRadius\n\n if (!store[x]) {\n store[x] = []\n radi[x] = []\n }\n\n if (!store[x][y]) {\n store[x][y] = value\n radi[x][y] = radius\n }\n else {\n store[x][y] += value\n }\n const storedVal = store[x][y]\n\n if (storedVal > max) {\n if (!forceRender)\n this._max = storedVal\n else\n this.setDataMax(storedVal)\n\n return false\n }\n else if (storedVal < min) {\n if (!forceRender)\n this._min = storedVal\n else\n this.setDataMin(storedVal)\n\n return false\n }\n else {\n return {\n x,\n y,\n value,\n radius,\n min,\n max,\n }\n }\n }\n\n private _unOrganizeData() {\n const unorganizedData = []\n const data = this._data\n const radi = this._radi\n\n for (const x in data) {\n for (const y in data[x]) {\n unorganizedData.push({\n x,\n y,\n radius: radi[x][y],\n value: data[x][y],\n })\n }\n }\n return {\n min: this._min,\n max: this._max,\n data: unorganizedData,\n }\n }\n\n private _onExtremaChange() {\n this._coordinator.emit('extremachange', {\n min: this._min,\n max: this._max,\n })\n }\n\n addData(...args: any[]) {\n if (args[0].length > 0) {\n const dataArr = args[0]\n let dataLen = dataArr.length\n while (dataLen--)\n this.addData(dataArr[dataLen])\n }\n else {\n // add to store\n const organisedEntry = this._organiseData(args[0], true)\n if (organisedEntry) {\n // if it's the first datapoint initialize the extremas with it\n if (this._data.length === 0)\n this._min = this._max = organisedEntry.value\n\n this._coordinator.emit('renderpartial', {\n min: this._min,\n max: this._max,\n data: [organisedEntry],\n })\n }\n }\n return this\n }\n\n setData(data: any) {\n const dataPoints = data.data\n const pointsLen = dataPoints.length\n\n // reset data arrays\n this._data = []\n this._radi = []\n\n for (let i = 0; i < pointsLen; i++)\n this._organiseData(dataPoints[i], false)\n\n this._max = data.max\n this._min = data.min || 0\n\n this._onExtremaChange()\n this._coordinator.emit('renderall', this.getInternalData())\n return this\n }\n\n removeData() {\n // TODO: implement\n }\n\n setDataMax(max: number) {\n this._max = max\n this._onExtremaChange()\n this._coordinator.emit('renderall', this.getInternalData())\n return this\n }\n\n setDataMin(min: number) {\n this._min = min\n this._onExtremaChange()\n this._coordinator.emit('renderall', this.getInternalData())\n return this\n }\n\n setCoordinator(coordinator: any) {\n this._coordinator = coordinator\n }\n\n getInternalData() {\n return {\n max: this._max,\n min: this._min,\n data: this._data,\n radi: this._radi,\n }\n }\n\n getData() {\n return this._unOrganizeData()\n }\n\n getValueAt(point: { x: number; y: number }) {\n const shadowCtx = (this as any)._renderer?.shadowCtx\n if (!shadowCtx)\n return null\n\n const img = shadowCtx.getImageData(point.x, point.y, 1, 1)\n const data = img.data[3]\n const max = this._max\n const min = this._min\n\n const value = (Math.abs(max! - min!) * (data / 255)) >> 0\n return value\n }\n}\n\nclass Canvas2dRenderer {\n private shadowCanvas: HTMLCanvasElement\n private canvas: HTMLCanvasElement\n private _renderBoundaries: number[]\n private _width: number\n private _height: number\n private shadowCtx: CanvasRenderingContext2D\n private ctx: CanvasRenderingContext2D\n private _palette: Uint8ClampedArray\n private _templates: { [key: string]: HTMLCanvasElement }\n private _blur: number\n private _opacity: number\n private _maxOpacity: number\n private _minOpacity: number\n private _useGradientOpacity: boolean\n private _min?: number\n private _max?: number\n\n constructor(config: any) {\n const container = config.container\n this.shadowCanvas = document.createElement('canvas')\n this.canvas = config.canvas || document.createElement('canvas')\n this._renderBoundaries = [10000, 10000, 0, 0]\n\n const computed = getComputedStyle(config.container) || {}\n\n this.canvas.className = 'heatmap-canvas'\n\n this._width = this.canvas.width = this.shadowCanvas.width = config.width || +(computed as any).width?.replace(/px/, '') || 0\n this._height = this.canvas.height = this.shadowCanvas.height = config.height || +(computed as any).height?.replace(/px/, '') || 0\n\n this.shadowCtx = this.shadowCanvas.getContext('2d')!\n this.ctx = this.canvas.getContext('2d')!\n\n this.canvas.style.cssText = this.shadowCanvas.style.cssText = 'position:absolute;left:0;top:0;'\n\n container.style.position = 'relative'\n container.appendChild(this.canvas)\n\n this._palette = this._getColorPalette(config)\n this._templates = {}\n\n this._setStyles(config)\n }\n\n private _getColorPalette(config: any) {\n const gradientConfig = config.gradient ?? config.defaultGradient\n const paletteCanvas = document.createElement('canvas')\n const paletteCtx = paletteCanvas.getContext('2d')!\n\n paletteCanvas.width = 256\n paletteCanvas.height = 1\n\n const gradient = paletteCtx.createLinearGradient(0, 0, 256, 1)\n for (const key in gradientConfig)\n gradient.addColorStop(+key, gradientConfig[key])\n\n paletteCtx.fillStyle = gradient\n paletteCtx.fillRect(0, 0, 256, 1)\n\n return paletteCtx.getImageData(0, 0, 256, 1).data\n }\n\n private _getPointTemplate(radius: number, blurFactor: number) {\n const tplCanvas = document.createElement('canvas')\n const tplCtx = tplCanvas.getContext('2d')!\n const x = radius\n const y = radius\n tplCanvas.width = tplCanvas.height = radius * 2\n\n if (blurFactor === 1) {\n tplCtx.beginPath()\n tplCtx.arc(x, y, radius, 0, 2 * Math.PI, false)\n tplCtx.fillStyle = 'rgba(0,0,0,1)'\n tplCtx.fill()\n }\n else {\n const gradient = tplCtx.createRadialGradient(x, y, radius * blurFactor, x, y, radius)\n gradient.addColorStop(0, 'rgba(0,0,0,1)')\n gradient.addColorStop(1, 'rgba(0,0,0,0)')\n tplCtx.fillStyle = gradient\n tplCtx.fillRect(0, 0, 2 * radius, 2 * radius)\n }\n\n return tplCanvas\n }\n\n private _prepareData(data: any) {\n const renderData = []\n const min = data.min\n const max = data.max\n const radi = data.radi\n const data2 = data.data\n\n const xValues = Object.keys(data2)\n let xValuesLen = xValues.length\n\n while (xValuesLen--) {\n const xValue = xValues[xValuesLen]\n const yValues = Object.keys(data2[xValue])\n let yValuesLen = yValues.length\n while (yValuesLen--) {\n const yValue = yValues[yValuesLen]\n const value = data2[xValue][yValue]\n const radius = radi[xValue][yValue]\n renderData.push({\n x: xValue,\n y: yValue,\n value,\n radius,\n })\n }\n }\n\n return {\n min,\n max,\n data: renderData,\n }\n }\n\n renderPartial(data: any) {\n if (data.data.length > 0) {\n this._drawAlpha(data)\n this._colorize()\n }\n }\n\n renderAll(data: any) {\n this._clear()\n if (data.data.length > 0) {\n this._drawAlpha(this._prepareData(data))\n this._colorize()\n }\n }\n\n private _updateGradient(config: any) {\n this._palette = this._getColorPalette(config)\n }\n\n updateConfig(config: any) {\n if (config.gradient)\n this._updateGradient(config)\n\n this._setStyles(config)\n }\n\n setDimensions(width: number, height: number) {\n this._width = width\n this._height = height\n this.canvas.width = this.shadowCanvas.width = width\n this.canvas.height = this.shadowCanvas.height = height\n }\n\n private _clear() {\n this.shadowCtx.clearRect(0, 0, this._width, this._height)\n this.ctx.clearRect(0, 0, this._width, this._height)\n }\n\n private _setStyles(config: any) {\n this._blur = (config.blur === 0) ? 0 : (config.blur || config.defaultBlur)\n\n if (config.backgroundColor)\n this.canvas.style.backgroundColor = config.backgroundColor\n\n this._width = this.canvas.width = this.shadowCanvas.width = config.width || this._width\n this._height = this.canvas.height = this.shadowCanvas.height = config.height || this._height\n\n this._opacity = (config.opacity || 0) * 255\n this._maxOpacity = (config.maxOpacity || config.defaultMaxOpacity) * 255\n this._minOpacity = (config.minOpacity || config.defaultMinOpacity) * 255\n this._useGradientOpacity = !!config.useGradientOpacity\n }\n\n private _drawAlpha(data: any) {\n this._min = data.min\n this._max = data.max\n const data2 = data.data || []\n let dataLen = data2.length\n // on a point basis?\n const blur = 1 - this._blur\n\n while (dataLen--) {\n const point = data2[dataLen]\n\n const x = point.x\n const y = point.y\n const radius = point.radius\n // if value is bigger than max\n // use max as value\n const value = Math.min(point.value, this._max!)\n const rectX = x - radius\n const rectY = y - radius\n const shadowCtx = this.shadowCtx\n\n let tpl\n if (!this._templates[radius])\n this._templates[radius] = tpl = this._getPointTemplate(radius, blur)\n else\n tpl = this._templates[radius]\n\n // value from minimum / value range\n // => [0, 1]\n const templateAlpha = (value - this._min!) / (this._max! - this._min!)\n // this fixes #176: small values are not visible because globalAlpha < .01 cannot be read from imageData\n shadowCtx.globalAlpha = templateAlpha < 0.01 ? 0.01 : templateAlpha\n\n shadowCtx.drawImage(tpl, rectX, rectY)\n\n // update renderBoundaries\n if (rectX < this._renderBoundaries[0])\n this._renderBoundaries[0] = rectX\n\n if (rectY < this._renderBoundaries[1])\n this._renderBoundaries[1] = rectY\n\n if (rectX + 2 * radius > this._renderBoundaries[2])\n this._renderBoundaries[2] = rectX + 2 * radius\n\n if (rectY + 2 * radius > this._renderBoundaries[3])\n this._renderBoundaries[3] = rectY + 2 * radius\n }\n }\n\n private _colorize() {\n let x = this._renderBoundaries[0]\n let y = this._renderBoundaries[1]\n let width = this._renderBoundaries[2] - x\n let height = this._renderBoundaries[3] - y\n const maxWidth = this._width\n const maxHeight = this._height\n const opacity = this._opacity\n const maxOpacity = this._maxOpacity\n const minOpacity = this._minOpacity\n const useGradientOpacity = this._useGradientOpacity\n\n if (x < 0)\n x = 0\n\n if (y < 0)\n y = 0\n\n if (x + width > maxWidth)\n width = maxWidth - x\n\n if (y + height > maxHeight)\n height = maxHeight - y\n\n const img = this.shadowCtx.getImageData(x, y, width, height)\n const imgData = img.data\n const len = imgData.length\n const palette = this._palette\n\n for (let i = 3; i < len; i += 4) {\n const alpha = imgData[i]\n const offset = alpha * 4\n\n if (!offset)\n continue\n\n let finalAlpha\n if (opacity > 0) {\n finalAlpha = opacity\n }\n else {\n if (alpha < maxOpacity) {\n if (alpha < minOpacity)\n finalAlpha = minOpacity\n else\n finalAlpha = alpha\n }\n else {\n finalAlpha = maxOpacity\n }\n }\n\n imgData[i - 3] = palette[offset]\n imgData[i - 2] = palette[offset + 1]\n imgData[i - 1] = palette[offset + 2]\n imgData[i] = useGradientOpacity ? palette[offset + 3] : finalAlpha\n }\n\n // 创建新的ImageData对象\n const newImg = new ImageData(imgData, width, height)\n this.ctx.putImageData(newImg, x, y)\n\n this._renderBoundaries = [1000, 1000, 0, 0]\n }\n\n getValueAt(point: { x: number; y: number }) {\n const shadowCtx = this.shadowCtx\n const img = shadowCtx.getImageData(point.x, point.y, 1, 1)\n const data = img.data[3]\n const max = this._max\n const min = this._min\n\n const value = (Math.abs(max! - min!) * (data / 255)) >> 0\n return value\n }\n\n getDataURL() {\n return this.canvas.toDataURL()\n }\n}\n\nclass Coordinator {\n private cStore: { [key: string]: ((data: any) => void)[] }\n\n constructor() {\n this.cStore = {}\n }\n\n on(evtName: string, callback: (data: any) => void, scope?: any) {\n const cStore = this.cStore\n\n if (!cStore[evtName])\n cStore[evtName] = []\n\n cStore[evtName].push((data: any) => {\n return callback.call(scope, data)\n })\n }\n\n emit(evtName: string, data: any) {\n const cStore = this.cStore\n if (cStore[evtName]) {\n const len = cStore[evtName].length\n for (let i = 0; i < len; i++) {\n const callback = cStore[evtName][i]\n callback(data)\n }\n }\n }\n}\n\nclass Heatmap {\n private _config: any\n private _coordinator: Coordinator\n public _renderer: any\n private _store: Store\n\n constructor(config: any) {\n this._config = { ...HeatmapConfig, ...config }\n this._coordinator = new Coordinator()\n\n if (config.plugin) {\n const pluginToLoad = config.plugin\n if (!HeatmapConfig.plugins[pluginToLoad]) {\n throw new Error(`Plugin '${pluginToLoad}' not found. Maybe it was not registered.`)\n }\n else {\n const plugin = HeatmapConfig.plugins[pluginToLoad]\n // set plugin renderer and store\n const Renderer = plugin.renderer\n const Store = plugin.store\n this._renderer = new Renderer(config)\n this._store = new Store(config)\n }\n }\n else {\n this._renderer = new Canvas2dRenderer(config)\n this._store = new Store(config)\n }\n\n this._connect()\n }\n\n private _connect() {\n const renderer = this._renderer\n const coordinator = this._coordinator\n const store = this._store\n\n coordinator.on('renderpartial', renderer.renderPartial, renderer)\n coordinator.on('renderall', renderer.renderAll, renderer)\n coordinator.on('extremachange', (data: any) => {\n this._config.onExtremaChange\n && this._config.onExtremaChange({\n min: data.min,\n max: data.max,\n gradient: this._config.gradient || this._config.defaultGradient,\n })\n })\n store.setCoordinator(coordinator)\n }\n\n addData(...args: any[]) {\n if (args.length === 1)\n this._store.addData(args[0])\n else\n this._store.addData(...args as [any])\n\n return this\n }\n\n removeData(...args: any[]) {\n if (this._store.removeData)\n this._store.removeData()\n\n return this\n }\n\n setData(...args: any[]) {\n if (args.length === 1)\n this._store.setData(args[0])\n else\n this._store.setData(...args as [any])\n\n return this\n }\n\n setDataMax(...args: any[]) {\n if (args.length === 1)\n this._store.setDataMax(args[0])\n else\n this._store.setDataMax(...args as [any])\n\n return this\n }\n\n setDataMin(...args: any[]) {\n if (args.length === 1)\n this._store.setDataMin(args[0])\n else\n this._store.setDataMin(...args as [any])\n\n return this\n }\n\n configure(config: any) {\n this._config = { ...this._config, ...config }\n this._renderer.updateConfig(this._config)\n this._coordinator.emit('renderall', this._store.getInternalData())\n return this\n }\n\n repaint() {\n this._coordinator.emit('renderall', this._store.getInternalData())\n return this\n }\n\n getData() {\n return this._store.getData()\n }\n\n getDataURL() {\n return this._renderer.getDataURL()\n }\n\n getValueAt(point: { x: number; y: number }) {\n if (this._store.getValueAt)\n return this._store.getValueAt(point)\n else if (this._renderer.getValueAt)\n return this._renderer.getValueAt(point)\n else\n return null\n }\n}\n\nexport const heatmapFactory = {\n create(config: any) {\n return new Heatmap(config)\n },\n register(pluginKey: string, plugin: any) {\n HeatmapConfig.plugins[pluginKey] = plugin\n },\n}"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export { default as HeatMap } from './HeatMap';
2
+ export type HeatMapData = {
3
+ x: number;
4
+ y: number;
5
+ z: number;
6
+ value: number;
7
+ radius?: number;
8
+ };
9
+ export interface HeatMapnterface {
10
+ data: HeatMapData[];
11
+ setData(data: HeatMapData[]): any;
12
+ }
@@ -0,0 +1,2 @@
1
+ export { default as HeatMap } from "./HeatMap";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","HeatMap"],"sources":["../../../src/business/HeatMap/index.ts"],"sourcesContent":["export { default as HeatMap } from './HeatMap'\n\nexport type HeatMapData = {\n x: number\n y: number\n z: number\n value: number\n radius?: number\n}\n\nexport interface HeatMapnterface {\n data: HeatMapData[]\n\n setData(data: HeatMapData[])\n}\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,OAAO"}
@@ -0,0 +1,2 @@
1
+ export declare const heightVertexShader = "\n varying vec2 vUv;\n uniform float uHeight;\n uniform sampler2D map;\n \n void main() {\n vUv = uv;\n float h = texture2D(map, vUv).a * uHeight;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position.x, position.y, h, 1.0);\n }\n";
2
+ export declare const heightFragmentShader = "\n uniform sampler2D map;\n uniform float granularity;\n uniform float threshold;\n varying vec2 vUv;\n uniform float uOpacity;\n uniform bool isPixel;\n\n \nvec4 createPixelGraphEffect(sampler2D map, vec2 vUv, float granularity, float threshold) {\n // \u8BA1\u7B97\u70B9\u9635\u7F51\u683C\n vec2 pixelSize = vec2(1.0) / granularity;\n vec2 cell = floor(vUv / pixelSize);\n vec2 cellUv = fract(vUv / pixelSize);\n\n // \u5728\u6BCF\u4E2A\u7F51\u683C\u4E2D\u5FC3\u91C7\u6837\u539F\u59CB\u7EB9\u7406\n vec4 texColor = texture2D(map, (cell + 0.5) * pixelSize);\n\n // \u5C06UV\u5750\u6807\u65CB\u8F6C45\u5EA6\uFF08\u901A\u8FC7\u5750\u6807\u53D8\u6362\uFF09\n vec2 pointCenter = vec2(0.5, 0.5);\n vec2 rotatedUv = cellUv - pointCenter;\n vec2 rotated = vec2(\n (rotatedUv.x - rotatedUv.y) * 0.7071067811865476, // cos(45\u00B0)/sqrt(2)\n (rotatedUv.x + rotatedUv.y) * 0.7071067811865476 // sin(45\u00B0)/sqrt(2)\n );\n\n // \u4F7F\u7528\u66FC\u54C8\u987F\u8DDD\u79BB\u8BA1\u7B97\u65CB\u8F6C\u540E\u7684\u83F1\u5F62\n float dist = abs(rotated.x) + abs(rotated.y);\n\n // \u6839\u636E\u989C\u8272\u5F3A\u5EA6\u8C03\u6574\u70B9\u7684\u5927\u5C0F\n float intensity = (texColor.r + texColor.g + texColor.b) / 3.0;\n float pointSize = 0.3 * smoothstep(0.0, threshold, intensity);\n\n // \u5982\u679C\u4E0D\u5728\u83F1\u5F62\u8303\u56F4\u5185\u6216\u5F3A\u5EA6\u592A\u4F4E\uFF0C\u5219\u4E22\u5F03\u7247\u6BB5\n if (dist > pointSize || intensity < 0.05) {\n discard;\n }\n\n // \u8FD4\u56DE\u989C\u8272\n return texColor;\n}\n\n\n void main() {\n vec4 texColor = isPixel ? \n createPixelGraphEffect(map, vUv, granularity, threshold) : \n texture2D(map, vUv);\n \n\n float a = texColor.a * uOpacity;\n gl_FragColor = texColor;\n gl_FragColor.a = min(a, 1.0); \n }\n";
@@ -0,0 +1,4 @@
1
+ export var heightVertexShader = /* glsl */"\n varying vec2 vUv;\n uniform float uHeight;\n uniform sampler2D map;\n \n void main() {\n vUv = uv;\n float h = texture2D(map, vUv).a * uHeight;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position.x, position.y, h, 1.0);\n }\n";
2
+ var pixelGraphFunc = /* glsl */"\nvec4 createPixelGraphEffect(sampler2D map, vec2 vUv, float granularity, float threshold) {\n // \u8BA1\u7B97\u70B9\u9635\u7F51\u683C\n vec2 pixelSize = vec2(1.0) / granularity;\n vec2 cell = floor(vUv / pixelSize);\n vec2 cellUv = fract(vUv / pixelSize);\n\n // \u5728\u6BCF\u4E2A\u7F51\u683C\u4E2D\u5FC3\u91C7\u6837\u539F\u59CB\u7EB9\u7406\n vec4 texColor = texture2D(map, (cell + 0.5) * pixelSize);\n\n // \u5C06UV\u5750\u6807\u65CB\u8F6C45\u5EA6\uFF08\u901A\u8FC7\u5750\u6807\u53D8\u6362\uFF09\n vec2 pointCenter = vec2(0.5, 0.5);\n vec2 rotatedUv = cellUv - pointCenter;\n vec2 rotated = vec2(\n (rotatedUv.x - rotatedUv.y) * 0.7071067811865476, // cos(45\xB0)/sqrt(2)\n (rotatedUv.x + rotatedUv.y) * 0.7071067811865476 // sin(45\xB0)/sqrt(2)\n );\n\n // \u4F7F\u7528\u66FC\u54C8\u987F\u8DDD\u79BB\u8BA1\u7B97\u65CB\u8F6C\u540E\u7684\u83F1\u5F62\n float dist = abs(rotated.x) + abs(rotated.y);\n\n // \u6839\u636E\u989C\u8272\u5F3A\u5EA6\u8C03\u6574\u70B9\u7684\u5927\u5C0F\n float intensity = (texColor.r + texColor.g + texColor.b) / 3.0;\n float pointSize = 0.3 * smoothstep(0.0, threshold, intensity);\n\n // \u5982\u679C\u4E0D\u5728\u83F1\u5F62\u8303\u56F4\u5185\u6216\u5F3A\u5EA6\u592A\u4F4E\uFF0C\u5219\u4E22\u5F03\u7247\u6BB5\n if (dist > pointSize || intensity < 0.05) {\n discard;\n }\n\n // \u8FD4\u56DE\u989C\u8272\n return texColor;\n}\n";
3
+ export var heightFragmentShader = /* glsl */"\n uniform sampler2D map;\n uniform float granularity;\n uniform float threshold;\n varying vec2 vUv;\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) : \n texture2D(map, vUv);\n \n\n float a = texColor.a * uOpacity;\n gl_FragColor = texColor;\n gl_FragColor.a = min(a, 1.0); \n }\n");
4
+ //# sourceMappingURL=shader.js.map
@@ -0,0 +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 uniform float uHeight;\n uniform sampler2D map;\n \n void main() {\n vUv = uv;\n float h = texture2D(map, vUv).a * uHeight;\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) {\n // 计算点阵网格\n vec2 pixelSize = vec2(1.0) / granularity;\n vec2 cell = floor(vUv / pixelSize);\n vec2 cellUv = fract(vUv / pixelSize);\n\n // 在每个网格中心采样原始纹理\n vec4 texColor = texture2D(map, (cell + 0.5) * pixelSize);\n\n // 将UV坐标旋转45度(通过坐标变换)\n vec2 pointCenter = vec2(0.5, 0.5);\n vec2 rotatedUv = cellUv - pointCenter;\n vec2 rotated = vec2(\n (rotatedUv.x - rotatedUv.y) * 0.7071067811865476, // cos(45°)/sqrt(2)\n (rotatedUv.x + rotatedUv.y) * 0.7071067811865476 // sin(45°)/sqrt(2)\n );\n\n // 使用曼哈顿距离计算旋转后的菱形\n float dist = abs(rotated.x) + abs(rotated.y);\n\n // 根据颜色强度调整点的大小\n float intensity = (texColor.r + texColor.g + texColor.b) / 3.0;\n float pointSize = 0.3 * smoothstep(0.0, threshold, intensity);\n\n // 如果不在菱形范围内或强度太低,则丢弃片段\n if (dist > pointSize || intensity < 0.05) {\n discard;\n }\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 varying vec2 vUv;\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) : \n texture2D(map, vUv);\n \n\n float a = texColor.a * uOpacity;\n gl_FragColor = texColor;\n gl_FragColor.a = min(a, 1.0); \n }\n`\n"],"mappings":"AAAA,OAAO,IAAMA,kBAAkB,GAAG,8QAUjC;AAED,IAAMC,cAAc,GAAG,w6CAiCtB;AAED,OAAO,IAAMC,oBAAoB,GAAG,gLAAAC,MAAA,CAQhCF,cAAc,0SAYjB"}
@@ -283,13 +283,15 @@ var TitleMesh = /*#__PURE__*/function (_ObjectLayer) {
283
283
  texture.encoding = sRGBEncoding;
284
284
  var meshBasicMaterial = new MeshBasicMaterial({
285
285
  map: texture,
286
+ transparent: true,
286
287
  side: DoubleSide,
287
288
  color: color
288
289
  });
289
- meshBasicMaterial.depthWrite = false;
290
- meshBasicMaterial.depthTest = false;
290
+ // meshBasicMaterial.depthWrite = false
291
+ // meshBasicMaterial.depthTest = false
292
+
291
293
  var mesh = new Mesh(new PlaneGeometry(width, height), meshBasicMaterial);
292
- mesh.renderOrder = 1000;
294
+ // mesh.renderOrder = 1000
293
295
 
294
296
  // this._scale && mesh.scale.fromArray(scale)
295
297
  offset && mesh.position.fromArray([].concat(_toConsumableArray(offset), [0]));
@@ -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","side","depthWrite","depthTest","renderOrder","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, 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'\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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"}
@@ -5,3 +5,4 @@ export * from './TrafficComponents';
5
5
  export * from './Batch';
6
6
  export * from './MaterialSwitch';
7
7
  export * from './Flyline';
8
+ export * from './HeatMap';
@@ -5,4 +5,5 @@ export * from "./TrafficComponents";
5
5
  export * from "./Batch";
6
6
  export * from "./MaterialSwitch";
7
7
  export * from "./Flyline";
8
+ export * from "./HeatMap";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../src/business/index.ts"],"sourcesContent":["export * from './Poi'\nexport * from './Spline'\nexport * from './Area'\nexport * from './TrafficComponents'\nexport * from './Batch'\nexport * from './MaterialSwitch'\nexport * from './Flyline'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"names":[],"sources":["../../src/business/index.ts"],"sourcesContent":["export * from './Poi'\nexport * from './Spline'\nexport * from './Area'\nexport * from './TrafficComponents'\nexport * from './Batch'\nexport * from './MaterialSwitch'\nexport * from './Flyline'\nexport * from './HeatMap'\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d-ability",
3
- "version": "0.0.90",
3
+ "version": "0.0.92",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -16,9 +16,10 @@
16
16
  "package.json"
17
17
  ],
18
18
  "peerDependencies": {
19
- "@anov/3d-core": "^0.0.61"
19
+ "@anov/3d-core": "^0.0.62"
20
20
  },
21
21
  "dependencies": {
22
+ "@rengr/heatmap.js": "^2.0.10",
22
23
  "@types/suncalc": "^1.9.2",
23
24
  "anov-heat-map": "^0.0.1",
24
25
  "camera-controls": "^2.9.0",
@@ -27,12 +28,15 @@
27
28
  "lodash": "^4.17.21",
28
29
  "postprocessing": "^6.33.3",
29
30
  "rxjs": "7.8.1",
30
- "suncalc": "^1.9.0"
31
+ "suncalc": "^1.9.0",
32
+ "supercluster": "^8.0.1",
33
+ "uuid": "^9.0.1"
31
34
  },
32
35
  "devDependencies": {
33
36
  "@types/javascript-state-machine": "^2.4.6",
34
37
  "@types/lodash": "^4.14.196",
35
- "@anov/3d-core": "^0.0.61"
38
+ "@types/supercluster": "^7.1.3",
39
+ "@anov/3d-core": "^0.0.62"
36
40
  },
37
41
  "scripts": {
38
42
  "build": "father build",