minerva-design 1.3.0 → 1.5.0
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.
- package/CHANGELOG.md +18 -0
- package/README.md +21 -21
- package/custom-elements.json +18546 -7329
- package/dist/angular/fesm2022/minerva-angular.mjs +8303 -172
- package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
- package/dist/angular/types/minerva-angular.d.ts +2809 -0
- package/dist/charts/canvas.d.cts +8 -3
- package/dist/charts/canvas.d.ts +8 -3
- package/dist/charts/core.cjs +1 -1
- package/dist/charts/core.d.cts +10 -5
- package/dist/charts/core.d.ts +10 -5
- package/dist/charts/core.js +27 -8
- package/dist/charts/engine/axis.cjs +1 -1
- package/dist/charts/engine/axis.cjs.map +1 -1
- package/dist/charts/engine/axis.js +43 -20
- package/dist/charts/engine/axis.js.map +1 -1
- package/dist/charts/engine/canvas.cjs +1 -1
- package/dist/charts/engine/canvas.cjs.map +1 -1
- package/dist/charts/engine/canvas.d.cts +11 -1
- package/dist/charts/engine/canvas.d.ts +11 -1
- package/dist/charts/engine/canvas.js +193 -116
- package/dist/charts/engine/canvas.js.map +1 -1
- package/dist/charts/engine/chart.cjs +1 -1
- package/dist/charts/engine/chart.cjs.map +1 -1
- package/dist/charts/engine/chart.d.cts +1 -1
- package/dist/charts/engine/chart.d.ts +1 -1
- package/dist/charts/engine/chart.js +486 -350
- package/dist/charts/engine/chart.js.map +1 -1
- package/dist/charts/engine/color.cjs +1 -1
- package/dist/charts/engine/color.cjs.map +1 -1
- package/dist/charts/engine/color.d.cts +18 -0
- package/dist/charts/engine/color.d.ts +18 -0
- package/dist/charts/engine/color.js +47 -1
- package/dist/charts/engine/color.js.map +1 -1
- package/dist/charts/engine/controller.cjs +2 -2
- package/dist/charts/engine/controller.cjs.map +1 -1
- package/dist/charts/engine/controller.d.cts +44 -4
- package/dist/charts/engine/controller.d.ts +44 -4
- package/dist/charts/engine/controller.js +421 -314
- package/dist/charts/engine/controller.js.map +1 -1
- package/dist/charts/engine/data.cjs +1 -1
- package/dist/charts/engine/data.cjs.map +1 -1
- package/dist/charts/engine/data.d.cts +9 -1
- package/dist/charts/engine/data.d.ts +9 -1
- package/dist/charts/engine/data.js +65 -49
- package/dist/charts/engine/data.js.map +1 -1
- package/dist/charts/engine/defaults.cjs +2 -0
- package/dist/charts/engine/defaults.cjs.map +1 -0
- package/dist/charts/engine/defaults.d.cts +20 -0
- package/dist/charts/engine/defaults.d.ts +20 -0
- package/dist/charts/engine/defaults.js +35 -0
- package/dist/charts/engine/defaults.js.map +1 -0
- package/dist/charts/engine/format.cjs +1 -1
- package/dist/charts/engine/format.cjs.map +1 -1
- package/dist/charts/engine/format.d.cts +27 -6
- package/dist/charts/engine/format.d.ts +27 -6
- package/dist/charts/engine/format.js +59 -21
- package/dist/charts/engine/format.js.map +1 -1
- package/dist/charts/engine/graph/chart.cjs +2 -0
- package/dist/charts/engine/graph/chart.cjs.map +1 -0
- package/dist/charts/engine/graph/chart.d.cts +3 -0
- package/dist/charts/engine/graph/chart.d.ts +3 -0
- package/dist/charts/engine/graph/chart.js +1565 -0
- package/dist/charts/engine/graph/chart.js.map +1 -0
- package/dist/charts/engine/graph/circular.cjs +2 -0
- package/dist/charts/engine/graph/circular.cjs.map +1 -0
- package/dist/charts/engine/graph/circular.d.cts +16 -0
- package/dist/charts/engine/graph/circular.d.ts +16 -0
- package/dist/charts/engine/graph/circular.js +62 -0
- package/dist/charts/engine/graph/circular.js.map +1 -0
- package/dist/charts/engine/graph/dag.cjs +2 -0
- package/dist/charts/engine/graph/dag.cjs.map +1 -0
- package/dist/charts/engine/graph/dag.d.cts +34 -0
- package/dist/charts/engine/graph/dag.d.ts +34 -0
- package/dist/charts/engine/graph/dag.js +314 -0
- package/dist/charts/engine/graph/dag.js.map +1 -0
- package/dist/charts/engine/graph/dom.cjs +2 -0
- package/dist/charts/engine/graph/dom.cjs.map +1 -0
- package/dist/charts/engine/graph/dom.d.cts +23 -0
- package/dist/charts/engine/graph/dom.d.ts +23 -0
- package/dist/charts/engine/graph/dom.js +158 -0
- package/dist/charts/engine/graph/dom.js.map +1 -0
- package/dist/charts/engine/graph/force.cjs +2 -0
- package/dist/charts/engine/graph/force.cjs.map +1 -0
- package/dist/charts/engine/graph/force.d.cts +67 -0
- package/dist/charts/engine/graph/force.d.ts +67 -0
- package/dist/charts/engine/graph/force.js +325 -0
- package/dist/charts/engine/graph/force.js.map +1 -0
- package/dist/charts/engine/graph/geometry.cjs +2 -0
- package/dist/charts/engine/graph/geometry.cjs.map +1 -0
- package/dist/charts/engine/graph/geometry.d.cts +37 -0
- package/dist/charts/engine/graph/geometry.d.ts +37 -0
- package/dist/charts/engine/graph/geometry.js +144 -0
- package/dist/charts/engine/graph/geometry.js.map +1 -0
- package/dist/charts/engine/graph/index.cjs +1 -0
- package/dist/charts/engine/graph/index.d.cts +6 -0
- package/dist/charts/engine/graph/index.d.ts +6 -0
- package/dist/charts/engine/graph/index.js +6 -0
- package/dist/charts/engine/graph/labels.cjs +2 -0
- package/dist/charts/engine/graph/labels.cjs.map +1 -0
- package/dist/charts/engine/graph/labels.d.cts +12 -0
- package/dist/charts/engine/graph/labels.d.ts +12 -0
- package/dist/charts/engine/graph/labels.js +128 -0
- package/dist/charts/engine/graph/labels.js.map +1 -0
- package/dist/charts/engine/graph/model.cjs +2 -0
- package/dist/charts/engine/graph/model.cjs.map +1 -0
- package/dist/charts/engine/graph/model.d.cts +43 -0
- package/dist/charts/engine/graph/model.d.ts +43 -0
- package/dist/charts/engine/graph/model.js +88 -0
- package/dist/charts/engine/graph/model.js.map +1 -0
- package/dist/charts/engine/graph/sizing.cjs +2 -0
- package/dist/charts/engine/graph/sizing.cjs.map +1 -0
- package/dist/charts/engine/graph/sizing.d.cts +33 -0
- package/dist/charts/engine/graph/sizing.d.ts +33 -0
- package/dist/charts/engine/graph/sizing.js +60 -0
- package/dist/charts/engine/graph/sizing.js.map +1 -0
- package/dist/charts/engine/graph/tree.cjs +2 -0
- package/dist/charts/engine/graph/tree.cjs.map +1 -0
- package/dist/charts/engine/graph/tree.d.cts +30 -0
- package/dist/charts/engine/graph/tree.d.ts +30 -0
- package/dist/charts/engine/graph/tree.js +218 -0
- package/dist/charts/engine/graph/tree.js.map +1 -0
- package/dist/charts/engine/graph/types.d.cts +626 -0
- package/dist/charts/engine/graph/types.d.ts +626 -0
- package/dist/charts/engine/graph/worker.cjs +46 -0
- package/dist/charts/engine/graph/worker.cjs.map +1 -0
- package/dist/charts/engine/graph/worker.d.cts +36 -0
- package/dist/charts/engine/graph/worker.d.ts +36 -0
- package/dist/charts/engine/graph/worker.js +129 -0
- package/dist/charts/engine/graph/worker.js.map +1 -0
- package/dist/charts/engine/items.cjs +1 -1
- package/dist/charts/engine/items.cjs.map +1 -1
- package/dist/charts/engine/items.d.cts +15 -2
- package/dist/charts/engine/items.d.ts +15 -2
- package/dist/charts/engine/items.js +257 -81
- package/dist/charts/engine/items.js.map +1 -1
- package/dist/charts/engine/labels.cjs +2 -0
- package/dist/charts/engine/labels.cjs.map +1 -0
- package/dist/charts/engine/labels.d.cts +13 -0
- package/dist/charts/engine/labels.d.ts +13 -0
- package/dist/charts/engine/labels.js +98 -0
- package/dist/charts/engine/labels.js.map +1 -0
- package/dist/charts/engine/layout.cjs +1 -1
- package/dist/charts/engine/layout.cjs.map +1 -1
- package/dist/charts/engine/layout.d.cts +43 -2
- package/dist/charts/engine/layout.d.ts +43 -2
- package/dist/charts/engine/layout.js +62 -12
- package/dist/charts/engine/layout.js.map +1 -1
- package/dist/charts/engine/locale.cjs +2 -0
- package/dist/charts/engine/locale.cjs.map +1 -0
- package/dist/charts/engine/locale.d.cts +33 -0
- package/dist/charts/engine/locale.d.ts +33 -0
- package/dist/charts/engine/locale.js +68 -0
- package/dist/charts/engine/locale.js.map +1 -0
- package/dist/charts/engine/model.cjs +1 -1
- package/dist/charts/engine/model.cjs.map +1 -1
- package/dist/charts/engine/model.d.cts +77 -2
- package/dist/charts/engine/model.d.ts +77 -2
- package/dist/charts/engine/model.js +304 -116
- package/dist/charts/engine/model.js.map +1 -1
- package/dist/charts/engine/orderbook/book.cjs +2 -0
- package/dist/charts/engine/orderbook/book.cjs.map +1 -0
- package/dist/charts/engine/orderbook/book.d.cts +28 -0
- package/dist/charts/engine/orderbook/book.d.ts +28 -0
- package/dist/charts/engine/orderbook/book.js +134 -0
- package/dist/charts/engine/orderbook/book.js.map +1 -0
- package/dist/charts/engine/orderbook/depth.cjs +2 -0
- package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
- package/dist/charts/engine/orderbook/depth.d.cts +7 -0
- package/dist/charts/engine/orderbook/depth.d.ts +7 -0
- package/dist/charts/engine/orderbook/depth.js +413 -0
- package/dist/charts/engine/orderbook/depth.js.map +1 -0
- package/dist/charts/engine/orderbook/format.cjs +2 -0
- package/dist/charts/engine/orderbook/format.cjs.map +1 -0
- package/dist/charts/engine/orderbook/format.d.cts +49 -0
- package/dist/charts/engine/orderbook/format.d.ts +49 -0
- package/dist/charts/engine/orderbook/format.js +65 -0
- package/dist/charts/engine/orderbook/format.js.map +1 -0
- package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
- package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
- package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
- package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
- package/dist/charts/engine/orderbook/heatmap.js +822 -0
- package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
- package/dist/charts/engine/orderbook/host.cjs +2 -0
- package/dist/charts/engine/orderbook/host.cjs.map +1 -0
- package/dist/charts/engine/orderbook/host.d.cts +50 -0
- package/dist/charts/engine/orderbook/host.d.ts +50 -0
- package/dist/charts/engine/orderbook/host.js +161 -0
- package/dist/charts/engine/orderbook/host.js.map +1 -0
- package/dist/charts/engine/orderbook/index.cjs +1 -0
- package/dist/charts/engine/orderbook/index.d.cts +6 -0
- package/dist/charts/engine/orderbook/index.d.ts +6 -0
- package/dist/charts/engine/orderbook/index.js +6 -0
- package/dist/charts/engine/orderbook/ladder.cjs +2 -0
- package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
- package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
- package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
- package/dist/charts/engine/orderbook/ladder.js +341 -0
- package/dist/charts/engine/orderbook/ladder.js.map +1 -0
- package/dist/charts/engine/orderbook/layout.cjs +2 -0
- package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
- package/dist/charts/engine/orderbook/layout.d.cts +37 -0
- package/dist/charts/engine/orderbook/layout.d.ts +37 -0
- package/dist/charts/engine/orderbook/layout.js +70 -0
- package/dist/charts/engine/orderbook/layout.js.map +1 -0
- package/dist/charts/engine/orderbook/tape.cjs +2 -0
- package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
- package/dist/charts/engine/orderbook/tape.d.cts +6 -0
- package/dist/charts/engine/orderbook/tape.d.ts +6 -0
- package/dist/charts/engine/orderbook/tape.js +450 -0
- package/dist/charts/engine/orderbook/tape.js.map +1 -0
- package/dist/charts/engine/orderbook/types.d.cts +751 -0
- package/dist/charts/engine/orderbook/types.d.ts +751 -0
- package/dist/charts/engine/overlay.cjs +1 -1
- package/dist/charts/engine/overlay.cjs.map +1 -1
- package/dist/charts/engine/overlay.d.cts +28 -2
- package/dist/charts/engine/overlay.d.ts +28 -2
- package/dist/charts/engine/overlay.js +138 -96
- package/dist/charts/engine/overlay.js.map +1 -1
- package/dist/charts/engine/presets.cjs +2 -2
- package/dist/charts/engine/presets.cjs.map +1 -1
- package/dist/charts/engine/presets.d.cts +273 -3
- package/dist/charts/engine/presets.d.ts +273 -3
- package/dist/charts/engine/presets.js +390 -38
- package/dist/charts/engine/presets.js.map +1 -1
- package/dist/charts/engine/renderers/detect.cjs +1 -1
- package/dist/charts/engine/renderers/detect.cjs.map +1 -1
- package/dist/charts/engine/renderers/detect.d.cts +2 -1
- package/dist/charts/engine/renderers/detect.d.ts +2 -1
- package/dist/charts/engine/renderers/detect.js +24 -19
- package/dist/charts/engine/renderers/detect.js.map +1 -1
- package/dist/charts/engine/renderers/gl.cjs +2 -0
- package/dist/charts/engine/renderers/gl.cjs.map +1 -0
- package/dist/charts/engine/renderers/gl.d.cts +21 -0
- package/dist/charts/engine/renderers/gl.d.ts +21 -0
- package/dist/charts/engine/renderers/gl.js +56 -0
- package/dist/charts/engine/renderers/gl.js.map +1 -0
- package/dist/charts/engine/renderers/shaders.cjs +143 -1
- package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
- package/dist/charts/engine/renderers/shaders.d.cts +16 -0
- package/dist/charts/engine/renderers/shaders.d.ts +16 -0
- package/dist/charts/engine/renderers/shaders.js +139 -1
- package/dist/charts/engine/renderers/shaders.js.map +1 -1
- package/dist/charts/engine/renderers/webgl.cjs +2 -0
- package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
- package/dist/charts/engine/renderers/webgl.d.cts +4 -0
- package/dist/charts/engine/renderers/webgl.d.ts +4 -0
- package/dist/charts/engine/renderers/webgl.js +133 -0
- package/dist/charts/engine/renderers/webgl.js.map +1 -0
- package/dist/charts/engine/renderers/webgl2.cjs +1 -1
- package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
- package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
- package/dist/charts/engine/renderers/webgl2.js +59 -108
- package/dist/charts/engine/renderers/webgl2.js.map +1 -1
- package/dist/charts/engine/scale.cjs +1 -1
- package/dist/charts/engine/scale.cjs.map +1 -1
- package/dist/charts/engine/scale.js +1 -1
- package/dist/charts/engine/scale.js.map +1 -1
- package/dist/charts/engine/scene.cjs +1 -1
- package/dist/charts/engine/scene.cjs.map +1 -1
- package/dist/charts/engine/scene.d.cts +71 -8
- package/dist/charts/engine/scene.d.ts +71 -8
- package/dist/charts/engine/scene.js +465 -183
- package/dist/charts/engine/scene.js.map +1 -1
- package/dist/charts/engine/shapes/bullet.cjs +2 -0
- package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
- package/dist/charts/engine/shapes/bullet.d.cts +6 -0
- package/dist/charts/engine/shapes/bullet.d.ts +6 -0
- package/dist/charts/engine/shapes/bullet.js +255 -0
- package/dist/charts/engine/shapes/bullet.js.map +1 -0
- package/dist/charts/engine/shapes/calendar.cjs +2 -0
- package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
- package/dist/charts/engine/shapes/calendar.d.cts +38 -0
- package/dist/charts/engine/shapes/calendar.d.ts +38 -0
- package/dist/charts/engine/shapes/calendar.js +369 -0
- package/dist/charts/engine/shapes/calendar.js.map +1 -0
- package/dist/charts/engine/shapes/canvas.cjs +1 -1
- package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
- package/dist/charts/engine/shapes/canvas.d.cts +7 -0
- package/dist/charts/engine/shapes/canvas.d.ts +7 -0
- package/dist/charts/engine/shapes/canvas.js +22 -13
- package/dist/charts/engine/shapes/canvas.js.map +1 -1
- package/dist/charts/engine/shapes/chart.cjs +1 -1
- package/dist/charts/engine/shapes/chart.cjs.map +1 -1
- package/dist/charts/engine/shapes/chart.d.cts +3 -2
- package/dist/charts/engine/shapes/chart.d.ts +3 -2
- package/dist/charts/engine/shapes/chart.js +49 -27
- package/dist/charts/engine/shapes/chart.js.map +1 -1
- package/dist/charts/engine/shapes/chord.cjs +2 -0
- package/dist/charts/engine/shapes/chord.cjs.map +1 -0
- package/dist/charts/engine/shapes/chord.d.cts +18 -0
- package/dist/charts/engine/shapes/chord.d.ts +18 -0
- package/dist/charts/engine/shapes/chord.js +414 -0
- package/dist/charts/engine/shapes/chord.js.map +1 -0
- package/dist/charts/engine/shapes/draw.cjs +1 -1
- package/dist/charts/engine/shapes/draw.cjs.map +1 -1
- package/dist/charts/engine/shapes/draw.d.cts +7 -1
- package/dist/charts/engine/shapes/draw.d.ts +7 -1
- package/dist/charts/engine/shapes/draw.js +62 -19
- package/dist/charts/engine/shapes/draw.js.map +1 -1
- package/dist/charts/engine/shapes/funnel.cjs +1 -1
- package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
- package/dist/charts/engine/shapes/funnel.js +3 -3
- package/dist/charts/engine/shapes/funnel.js.map +1 -1
- package/dist/charts/engine/shapes/gauge.cjs +1 -1
- package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
- package/dist/charts/engine/shapes/gauge.js +132 -95
- package/dist/charts/engine/shapes/gauge.js.map +1 -1
- package/dist/charts/engine/shapes/hit.cjs +1 -1
- package/dist/charts/engine/shapes/hit.cjs.map +1 -1
- package/dist/charts/engine/shapes/hit.d.cts +5 -1
- package/dist/charts/engine/shapes/hit.d.ts +5 -1
- package/dist/charts/engine/shapes/hit.js +89 -39
- package/dist/charts/engine/shapes/hit.js.map +1 -1
- package/dist/charts/engine/shapes/index.d.cts +6 -2
- package/dist/charts/engine/shapes/index.d.ts +6 -2
- package/dist/charts/engine/shapes/labels.cjs +2 -0
- package/dist/charts/engine/shapes/labels.cjs.map +1 -0
- package/dist/charts/engine/shapes/labels.d.cts +14 -0
- package/dist/charts/engine/shapes/labels.d.ts +14 -0
- package/dist/charts/engine/shapes/labels.js +154 -0
- package/dist/charts/engine/shapes/labels.js.map +1 -0
- package/dist/charts/engine/shapes/layout.cjs +2 -2
- package/dist/charts/engine/shapes/layout.cjs.map +1 -1
- package/dist/charts/engine/shapes/layout.d.cts +10 -3
- package/dist/charts/engine/shapes/layout.d.ts +10 -3
- package/dist/charts/engine/shapes/layout.js +239 -124
- package/dist/charts/engine/shapes/layout.js.map +1 -1
- package/dist/charts/engine/shapes/pie.cjs +1 -1
- package/dist/charts/engine/shapes/pie.cjs.map +1 -1
- package/dist/charts/engine/shapes/pie.js +2 -2
- package/dist/charts/engine/shapes/pie.js.map +1 -1
- package/dist/charts/engine/shapes/radar.cjs +1 -1
- package/dist/charts/engine/shapes/radar.cjs.map +1 -1
- package/dist/charts/engine/shapes/radar.d.cts +2 -2
- package/dist/charts/engine/shapes/radar.d.ts +2 -2
- package/dist/charts/engine/shapes/radar.js +50 -49
- package/dist/charts/engine/shapes/radar.js.map +1 -1
- package/dist/charts/engine/shapes/radialBar.cjs +2 -0
- package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
- package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
- package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
- package/dist/charts/engine/shapes/radialBar.js +155 -0
- package/dist/charts/engine/shapes/radialBar.js.map +1 -0
- package/dist/charts/engine/shapes/runtime.cjs +1 -1
- package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
- package/dist/charts/engine/shapes/runtime.d.cts +9 -2
- package/dist/charts/engine/shapes/runtime.d.ts +9 -2
- package/dist/charts/engine/shapes/runtime.js +61 -51
- package/dist/charts/engine/shapes/runtime.js.map +1 -1
- package/dist/charts/engine/shapes/sankey.cjs +2 -0
- package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
- package/dist/charts/engine/shapes/sankey.d.cts +29 -0
- package/dist/charts/engine/shapes/sankey.d.ts +29 -0
- package/dist/charts/engine/shapes/sankey.js +372 -0
- package/dist/charts/engine/shapes/sankey.js.map +1 -0
- package/dist/charts/engine/shapes/scene.cjs +1 -1
- package/dist/charts/engine/shapes/scene.cjs.map +1 -1
- package/dist/charts/engine/shapes/scene.d.cts +92 -8
- package/dist/charts/engine/shapes/scene.d.ts +92 -8
- package/dist/charts/engine/shapes/scene.js +76 -31
- package/dist/charts/engine/shapes/scene.js.map +1 -1
- package/dist/charts/engine/shapes/sunburst.cjs +2 -0
- package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
- package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
- package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
- package/dist/charts/engine/shapes/sunburst.js +261 -0
- package/dist/charts/engine/shapes/sunburst.js.map +1 -0
- package/dist/charts/engine/shapes/treemap.cjs +1 -1
- package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
- package/dist/charts/engine/shapes/treemap.js +2 -2
- package/dist/charts/engine/shapes/treemap.js.map +1 -1
- package/dist/charts/engine/shapes/types.d.cts +550 -12
- package/dist/charts/engine/shapes/types.d.ts +550 -12
- package/dist/charts/engine/signature.cjs +1 -1
- package/dist/charts/engine/signature.cjs.map +1 -1
- package/dist/charts/engine/signature.js +1 -1
- package/dist/charts/engine/signature.js.map +1 -1
- package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
- package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
- package/dist/charts/engine/three-d/canvas2d.d.cts +7 -0
- package/dist/charts/engine/three-d/canvas2d.d.ts +7 -0
- package/dist/charts/engine/three-d/canvas2d.js +128 -0
- package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
- package/dist/charts/engine/three-d/chart.cjs +2 -0
- package/dist/charts/engine/three-d/chart.cjs.map +1 -0
- package/dist/charts/engine/three-d/chart.d.cts +15 -0
- package/dist/charts/engine/three-d/chart.d.ts +15 -0
- package/dist/charts/engine/three-d/chart.js +621 -0
- package/dist/charts/engine/three-d/chart.js.map +1 -0
- package/dist/charts/engine/three-d/colormap.cjs +2 -0
- package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
- package/dist/charts/engine/three-d/colormap.d.cts +16 -0
- package/dist/charts/engine/three-d/colormap.d.ts +16 -0
- package/dist/charts/engine/three-d/colormap.js +166 -0
- package/dist/charts/engine/three-d/colormap.js.map +1 -0
- package/dist/charts/engine/three-d/contours.cjs +2 -0
- package/dist/charts/engine/three-d/contours.cjs.map +1 -0
- package/dist/charts/engine/three-d/contours.d.cts +7 -0
- package/dist/charts/engine/three-d/contours.d.ts +7 -0
- package/dist/charts/engine/three-d/contours.js +47 -0
- package/dist/charts/engine/three-d/contours.js.map +1 -0
- package/dist/charts/engine/three-d/detect.cjs +2 -0
- package/dist/charts/engine/three-d/detect.cjs.map +1 -0
- package/dist/charts/engine/three-d/detect.d.cts +12 -0
- package/dist/charts/engine/three-d/detect.d.ts +12 -0
- package/dist/charts/engine/three-d/detect.js +37 -0
- package/dist/charts/engine/three-d/detect.js.map +1 -0
- package/dist/charts/engine/three-d/dom.cjs +2 -0
- package/dist/charts/engine/three-d/dom.cjs.map +1 -0
- package/dist/charts/engine/three-d/dom.d.cts +21 -0
- package/dist/charts/engine/three-d/dom.d.ts +21 -0
- package/dist/charts/engine/three-d/dom.js +98 -0
- package/dist/charts/engine/three-d/dom.js.map +1 -0
- package/dist/charts/engine/three-d/geometry.cjs +2 -0
- package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
- package/dist/charts/engine/three-d/geometry.d.cts +82 -0
- package/dist/charts/engine/three-d/geometry.d.ts +82 -0
- package/dist/charts/engine/three-d/geometry.js +545 -0
- package/dist/charts/engine/three-d/geometry.js.map +1 -0
- package/dist/charts/engine/three-d/hover.cjs +2 -0
- package/dist/charts/engine/three-d/hover.cjs.map +1 -0
- package/dist/charts/engine/three-d/hover.d.cts +25 -0
- package/dist/charts/engine/three-d/hover.d.ts +25 -0
- package/dist/charts/engine/three-d/hover.js +131 -0
- package/dist/charts/engine/three-d/hover.js.map +1 -0
- package/dist/charts/engine/three-d/index.cjs +1 -0
- package/dist/charts/engine/three-d/index.d.cts +2 -0
- package/dist/charts/engine/three-d/index.d.ts +2 -0
- package/dist/charts/engine/three-d/index.js +2 -0
- package/dist/charts/engine/three-d/labels.cjs +2 -0
- package/dist/charts/engine/three-d/labels.cjs.map +1 -0
- package/dist/charts/engine/three-d/labels.d.cts +23 -0
- package/dist/charts/engine/three-d/labels.d.ts +23 -0
- package/dist/charts/engine/three-d/labels.js +136 -0
- package/dist/charts/engine/three-d/labels.js.map +1 -0
- package/dist/charts/engine/three-d/math.cjs +2 -0
- package/dist/charts/engine/three-d/math.cjs.map +1 -0
- package/dist/charts/engine/three-d/math.d.cts +84 -0
- package/dist/charts/engine/three-d/math.d.ts +84 -0
- package/dist/charts/engine/three-d/math.js +150 -0
- package/dist/charts/engine/three-d/math.js.map +1 -0
- package/dist/charts/engine/three-d/model.cjs +2 -0
- package/dist/charts/engine/three-d/model.cjs.map +1 -0
- package/dist/charts/engine/three-d/model.d.cts +132 -0
- package/dist/charts/engine/three-d/model.d.ts +132 -0
- package/dist/charts/engine/three-d/model.js +279 -0
- package/dist/charts/engine/three-d/model.js.map +1 -0
- package/dist/charts/engine/three-d/overlay.cjs +2 -0
- package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
- package/dist/charts/engine/three-d/overlay.d.cts +72 -0
- package/dist/charts/engine/three-d/overlay.d.ts +72 -0
- package/dist/charts/engine/three-d/overlay.js +204 -0
- package/dist/charts/engine/three-d/overlay.js.map +1 -0
- package/dist/charts/engine/three-d/pick.cjs +2 -0
- package/dist/charts/engine/three-d/pick.cjs.map +1 -0
- package/dist/charts/engine/three-d/pick.d.cts +52 -0
- package/dist/charts/engine/three-d/pick.d.ts +52 -0
- package/dist/charts/engine/three-d/pick.js +220 -0
- package/dist/charts/engine/three-d/pick.js.map +1 -0
- package/dist/charts/engine/three-d/render-types.cjs +2 -0
- package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
- package/dist/charts/engine/three-d/render-types.d.cts +103 -0
- package/dist/charts/engine/three-d/render-types.d.ts +103 -0
- package/dist/charts/engine/three-d/render-types.js +12 -0
- package/dist/charts/engine/three-d/render-types.js.map +1 -0
- package/dist/charts/engine/three-d/shaders.cjs +311 -0
- package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
- package/dist/charts/engine/three-d/shaders.d.cts +25 -0
- package/dist/charts/engine/three-d/shaders.d.ts +25 -0
- package/dist/charts/engine/three-d/shaders.js +210 -0
- package/dist/charts/engine/three-d/shaders.js.map +1 -0
- package/dist/charts/engine/three-d/sort.cjs +2 -0
- package/dist/charts/engine/three-d/sort.cjs.map +1 -0
- package/dist/charts/engine/three-d/sort.d.cts +29 -0
- package/dist/charts/engine/three-d/sort.d.ts +29 -0
- package/dist/charts/engine/three-d/sort.js +145 -0
- package/dist/charts/engine/three-d/sort.js.map +1 -0
- package/dist/charts/engine/three-d/types.d.cts +615 -0
- package/dist/charts/engine/three-d/types.d.ts +615 -0
- package/dist/charts/engine/three-d/webgl.cjs +2 -0
- package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
- package/dist/charts/engine/three-d/webgl.d.cts +10 -0
- package/dist/charts/engine/three-d/webgl.d.ts +10 -0
- package/dist/charts/engine/three-d/webgl.js +132 -0
- package/dist/charts/engine/three-d/webgl.js.map +1 -0
- package/dist/charts/engine/three-d/webgpu.cjs +2 -0
- package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
- package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
- package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
- package/dist/charts/engine/three-d/webgpu.js +260 -0
- package/dist/charts/engine/three-d/webgpu.js.map +1 -0
- package/dist/charts/engine/time.cjs +1 -1
- package/dist/charts/engine/time.cjs.map +1 -1
- package/dist/charts/engine/time.d.cts +13 -4
- package/dist/charts/engine/time.d.ts +13 -4
- package/dist/charts/engine/time.js +156 -91
- package/dist/charts/engine/time.js.map +1 -1
- package/dist/charts/engine/trading/chart.cjs +2 -0
- package/dist/charts/engine/trading/chart.cjs.map +1 -0
- package/dist/charts/engine/trading/chart.d.cts +13 -0
- package/dist/charts/engine/trading/chart.d.ts +13 -0
- package/dist/charts/engine/trading/chart.js +2206 -0
- package/dist/charts/engine/trading/chart.js.map +1 -0
- package/dist/charts/engine/trading/drawings.cjs +3 -0
- package/dist/charts/engine/trading/drawings.cjs.map +1 -0
- package/dist/charts/engine/trading/drawings.d.cts +95 -0
- package/dist/charts/engine/trading/drawings.d.ts +95 -0
- package/dist/charts/engine/trading/drawings.js +423 -0
- package/dist/charts/engine/trading/drawings.js.map +1 -0
- package/dist/charts/engine/trading/format.cjs +2 -0
- package/dist/charts/engine/trading/format.cjs.map +1 -0
- package/dist/charts/engine/trading/format.d.cts +73 -0
- package/dist/charts/engine/trading/format.d.ts +73 -0
- package/dist/charts/engine/trading/format.js +163 -0
- package/dist/charts/engine/trading/format.js.map +1 -0
- package/dist/charts/engine/trading/geometry.cjs +2 -0
- package/dist/charts/engine/trading/geometry.cjs.map +1 -0
- package/dist/charts/engine/trading/geometry.d.cts +55 -0
- package/dist/charts/engine/trading/geometry.d.ts +55 -0
- package/dist/charts/engine/trading/geometry.js +131 -0
- package/dist/charts/engine/trading/geometry.js.map +1 -0
- package/dist/charts/engine/trading/index.cjs +1 -0
- package/dist/charts/engine/trading/index.d.cts +4 -0
- package/dist/charts/engine/trading/index.d.ts +4 -0
- package/dist/charts/engine/trading/index.js +4 -0
- package/dist/charts/engine/trading/indicators.cjs +2 -0
- package/dist/charts/engine/trading/indicators.cjs.map +1 -0
- package/dist/charts/engine/trading/indicators.d.cts +275 -0
- package/dist/charts/engine/trading/indicators.d.ts +275 -0
- package/dist/charts/engine/trading/indicators.js +544 -0
- package/dist/charts/engine/trading/indicators.js.map +1 -0
- package/dist/charts/engine/trading/labels.cjs +2 -0
- package/dist/charts/engine/trading/labels.cjs.map +1 -0
- package/dist/charts/engine/trading/labels.d.cts +7 -0
- package/dist/charts/engine/trading/labels.d.ts +7 -0
- package/dist/charts/engine/trading/labels.js +171 -0
- package/dist/charts/engine/trading/labels.js.map +1 -0
- package/dist/charts/engine/trading/scale.cjs +2 -0
- package/dist/charts/engine/trading/scale.cjs.map +1 -0
- package/dist/charts/engine/trading/scale.d.cts +46 -0
- package/dist/charts/engine/trading/scale.d.ts +46 -0
- package/dist/charts/engine/trading/scale.js +100 -0
- package/dist/charts/engine/trading/scale.js.map +1 -0
- package/dist/charts/engine/trading/store.cjs +2 -0
- package/dist/charts/engine/trading/store.cjs.map +1 -0
- package/dist/charts/engine/trading/store.d.cts +83 -0
- package/dist/charts/engine/trading/store.d.ts +83 -0
- package/dist/charts/engine/trading/store.js +150 -0
- package/dist/charts/engine/trading/store.js.map +1 -0
- package/dist/charts/engine/trading/studies.cjs +2 -0
- package/dist/charts/engine/trading/studies.cjs.map +1 -0
- package/dist/charts/engine/trading/studies.d.cts +85 -0
- package/dist/charts/engine/trading/studies.d.ts +85 -0
- package/dist/charts/engine/trading/studies.js +510 -0
- package/dist/charts/engine/trading/studies.js.map +1 -0
- package/dist/charts/engine/trading/sync.cjs +2 -0
- package/dist/charts/engine/trading/sync.cjs.map +1 -0
- package/dist/charts/engine/trading/sync.d.cts +8 -0
- package/dist/charts/engine/trading/sync.d.ts +8 -0
- package/dist/charts/engine/trading/sync.js +25 -0
- package/dist/charts/engine/trading/sync.js.map +1 -0
- package/dist/charts/engine/trading/types.d.cts +1131 -0
- package/dist/charts/engine/trading/types.d.ts +1131 -0
- package/dist/charts/engine/types.d.cts +247 -22
- package/dist/charts/engine/types.d.ts +247 -22
- package/dist/charts/index.cjs +1 -1
- package/dist/charts/index.d.cts +8 -4
- package/dist/charts/index.d.ts +8 -4
- package/dist/charts/index.js +30 -11
- package/dist/charts/react/Chart.cjs +1 -1
- package/dist/charts/react/Chart.cjs.map +1 -1
- package/dist/charts/react/Chart.d.cts +4 -4
- package/dist/charts/react/Chart.d.ts +4 -4
- package/dist/charts/react/Chart.js +5 -1
- package/dist/charts/react/Chart.js.map +1 -1
- package/dist/charts/react/charts.cjs +1 -1
- package/dist/charts/react/charts.cjs.map +1 -1
- package/dist/charts/react/charts.d.cts +39 -1
- package/dist/charts/react/charts.d.ts +39 -1
- package/dist/charts/react/charts.js +312 -128
- package/dist/charts/react/charts.js.map +1 -1
- package/dist/charts/react/graph.cjs +2 -0
- package/dist/charts/react/graph.cjs.map +1 -0
- package/dist/charts/react/graph.d.cts +213 -0
- package/dist/charts/react/graph.d.ts +213 -0
- package/dist/charts/react/graph.js +159 -0
- package/dist/charts/react/graph.js.map +1 -0
- package/dist/charts/react/orderbook.cjs +2 -0
- package/dist/charts/react/orderbook.cjs.map +1 -0
- package/dist/charts/react/orderbook.d.cts +142 -0
- package/dist/charts/react/orderbook.d.ts +142 -0
- package/dist/charts/react/orderbook.js +182 -0
- package/dist/charts/react/orderbook.js.map +1 -0
- package/dist/charts/react/shapes.cjs +1 -1
- package/dist/charts/react/shapes.cjs.map +1 -1
- package/dist/charts/react/shapes.d.cts +374 -9
- package/dist/charts/react/shapes.d.ts +374 -9
- package/dist/charts/react/shapes.js +323 -93
- package/dist/charts/react/shapes.js.map +1 -1
- package/dist/charts/react/three-d.cjs +2 -0
- package/dist/charts/react/three-d.cjs.map +1 -0
- package/dist/charts/react/three-d.d.cts +151 -0
- package/dist/charts/react/three-d.d.ts +151 -0
- package/dist/charts/react/three-d.js +154 -0
- package/dist/charts/react/three-d.js.map +1 -0
- package/dist/charts/react/trading.cjs +2 -0
- package/dist/charts/react/trading.cjs.map +1 -0
- package/dist/charts/react/trading.d.cts +145 -0
- package/dist/charts/react/trading.d.ts +145 -0
- package/dist/charts/react/trading.js +126 -0
- package/dist/charts/react/trading.js.map +1 -0
- package/dist/charts/react/types.d.cts +143 -8
- package/dist/charts/react/types.d.ts +143 -8
- package/dist/core/contracts.cjs +1 -1
- package/dist/core/contracts.cjs.map +1 -1
- package/dist/core/contracts.js +1 -1
- package/dist/core/contracts.js.map +1 -1
- package/dist/native/charts/src/canvas.cjs +1 -1
- package/dist/native/charts/src/canvas.js +9 -3
- package/dist/native/charts/src/engine/axis.cjs +1 -1
- package/dist/native/charts/src/engine/axis.cjs.map +1 -1
- package/dist/native/charts/src/engine/axis.js +43 -20
- package/dist/native/charts/src/engine/axis.js.map +1 -1
- package/dist/native/charts/src/engine/color.cjs +1 -1
- package/dist/native/charts/src/engine/color.cjs.map +1 -1
- package/dist/native/charts/src/engine/color.js +47 -5
- package/dist/native/charts/src/engine/color.js.map +1 -1
- package/dist/native/charts/src/engine/controller.cjs +2 -2
- package/dist/native/charts/src/engine/controller.cjs.map +1 -1
- package/dist/native/charts/src/engine/controller.js +415 -308
- package/dist/native/charts/src/engine/controller.js.map +1 -1
- package/dist/native/charts/src/engine/data.cjs +1 -1
- package/dist/native/charts/src/engine/data.cjs.map +1 -1
- package/dist/native/charts/src/engine/data.js +65 -49
- package/dist/native/charts/src/engine/data.js.map +1 -1
- package/dist/native/charts/src/engine/format.cjs +1 -1
- package/dist/native/charts/src/engine/format.cjs.map +1 -1
- package/dist/native/charts/src/engine/format.js +59 -21
- package/dist/native/charts/src/engine/format.js.map +1 -1
- package/dist/native/charts/src/engine/labels.cjs +2 -0
- package/dist/native/charts/src/engine/labels.cjs.map +1 -0
- package/dist/native/charts/src/engine/labels.js +98 -0
- package/dist/native/charts/src/engine/labels.js.map +1 -0
- package/dist/native/charts/src/engine/layout.cjs +1 -1
- package/dist/native/charts/src/engine/layout.cjs.map +1 -1
- package/dist/native/charts/src/engine/layout.js +62 -12
- package/dist/native/charts/src/engine/layout.js.map +1 -1
- package/dist/native/charts/src/engine/locale.cjs +2 -0
- package/dist/native/charts/src/engine/locale.cjs.map +1 -0
- package/dist/native/charts/src/engine/locale.js +60 -0
- package/dist/native/charts/src/engine/locale.js.map +1 -0
- package/dist/native/charts/src/engine/model.cjs +1 -1
- package/dist/native/charts/src/engine/model.cjs.map +1 -1
- package/dist/native/charts/src/engine/model.js +307 -119
- package/dist/native/charts/src/engine/model.js.map +1 -1
- package/dist/native/charts/src/engine/overlay.cjs +1 -1
- package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
- package/dist/native/charts/src/engine/overlay.js +46 -23
- package/dist/native/charts/src/engine/overlay.js.map +1 -1
- package/dist/native/charts/src/engine/presets.cjs +2 -2
- package/dist/native/charts/src/engine/presets.cjs.map +1 -1
- package/dist/native/charts/src/engine/presets.js +470 -41
- package/dist/native/charts/src/engine/presets.js.map +1 -1
- package/dist/native/charts/src/engine/scale.cjs +1 -1
- package/dist/native/charts/src/engine/scale.cjs.map +1 -1
- package/dist/native/charts/src/engine/scale.js +1 -1
- package/dist/native/charts/src/engine/scale.js.map +1 -1
- package/dist/native/charts/src/engine/scene.cjs +1 -1
- package/dist/native/charts/src/engine/scene.cjs.map +1 -1
- package/dist/native/charts/src/engine/scene.js +489 -207
- package/dist/native/charts/src/engine/scene.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
- package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/calendar.js +369 -0
- package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
- package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/chord.js +414 -0
- package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/draw.js +195 -0
- package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
- package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
- package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/hit.js +135 -0
- package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/labels.js +154 -0
- package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
- package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/layout.js +358 -0
- package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/pie.js +302 -0
- package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/radar.js +198 -0
- package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
- package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
- package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
- package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/scene.js +168 -0
- package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
- package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
- package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
- package/dist/native/charts/src/engine/time.cjs +1 -1
- package/dist/native/charts/src/engine/time.cjs.map +1 -1
- package/dist/native/charts/src/engine/time.js +156 -91
- package/dist/native/charts/src/engine/time.js.map +1 -1
- package/dist/native/components/Chart/ChartBase.cjs +1 -1
- package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
- package/dist/native/components/Chart/ChartBase.d.cts +1 -1
- package/dist/native/components/Chart/ChartBase.d.ts +1 -1
- package/dist/native/components/Chart/ChartBase.js +110 -107
- package/dist/native/components/Chart/ChartBase.js.map +1 -1
- package/dist/native/components/Chart/charts.cjs +1 -1
- package/dist/native/components/Chart/charts.cjs.map +1 -1
- package/dist/native/components/Chart/charts.d.cts +6 -1
- package/dist/native/components/Chart/charts.d.ts +6 -1
- package/dist/native/components/Chart/charts.js +53 -29
- package/dist/native/components/Chart/charts.js.map +1 -1
- package/dist/native/components/Chart/index.cjs +1 -1
- package/dist/native/components/Chart/index.d.cts +1 -1
- package/dist/native/components/Chart/index.d.ts +1 -1
- package/dist/native/components/Chart/index.js +2 -2
- package/dist/native/components/Chart/scene.cjs +1 -1
- package/dist/native/components/Chart/scene.cjs.map +1 -1
- package/dist/native/components/Chart/scene.js +315 -229
- package/dist/native/components/Chart/scene.js.map +1 -1
- package/dist/native/components/Chart/types.d.cts +26 -3
- package/dist/native/components/Chart/types.d.ts +26 -3
- package/dist/native/components/Charts/charts.cjs +2 -0
- package/dist/native/components/Charts/charts.cjs.map +1 -0
- package/dist/native/components/Charts/charts.d.cts +41 -0
- package/dist/native/components/Charts/charts.d.ts +41 -0
- package/dist/native/components/Charts/charts.js +350 -0
- package/dist/native/components/Charts/charts.js.map +1 -0
- package/dist/native/components/Charts/index.cjs +1 -0
- package/dist/native/components/Charts/index.d.cts +2 -0
- package/dist/native/components/Charts/index.d.ts +2 -0
- package/dist/native/components/Charts/index.js +2 -0
- package/dist/native/components/Charts/types.d.cts +155 -0
- package/dist/native/components/Charts/types.d.ts +155 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.js +272 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
- package/dist/native/components/ShapeChart/charts.cjs +2 -0
- package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
- package/dist/native/components/ShapeChart/charts.d.cts +43 -0
- package/dist/native/components/ShapeChart/charts.d.ts +43 -0
- package/dist/native/components/ShapeChart/charts.js +429 -0
- package/dist/native/components/ShapeChart/charts.js.map +1 -0
- package/dist/native/components/ShapeChart/draw.cjs +2 -0
- package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
- package/dist/native/components/ShapeChart/draw.d.cts +4 -0
- package/dist/native/components/ShapeChart/draw.d.ts +4 -0
- package/dist/native/components/ShapeChart/draw.js +113 -0
- package/dist/native/components/ShapeChart/draw.js.map +1 -0
- package/dist/native/components/ShapeChart/geometry.cjs +2 -0
- package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
- package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
- package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
- package/dist/native/components/ShapeChart/geometry.js +681 -0
- package/dist/native/components/ShapeChart/geometry.js.map +1 -0
- package/dist/native/components/ShapeChart/index.cjs +1 -0
- package/dist/native/components/ShapeChart/index.d.cts +2 -0
- package/dist/native/components/ShapeChart/index.d.ts +2 -0
- package/dist/native/components/ShapeChart/index.js +2 -0
- package/dist/native/components/ShapeChart/recorder.cjs +2 -0
- package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
- package/dist/native/components/ShapeChart/recorder.d.cts +115 -0
- package/dist/native/components/ShapeChart/recorder.d.ts +115 -0
- package/dist/native/components/ShapeChart/recorder.js +583 -0
- package/dist/native/components/ShapeChart/recorder.js.map +1 -0
- package/dist/native/components/ShapeChart/types.d.cts +594 -0
- package/dist/native/components/ShapeChart/types.d.ts +594 -0
- package/dist/native/index.cjs +1 -1
- package/dist/native/index.d.cts +2 -0
- package/dist/native/index.d.ts +2 -0
- package/dist/native/index.js +14 -10
- package/dist/native/manifest.d.cts +6 -4
- package/dist/native/manifest.d.ts +6 -4
- package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
- package/dist/native/source/components/Chart/charts.tsx +42 -6
- package/dist/native/source/components/Chart/index.ts +1 -0
- package/dist/native/source/components/Chart/scene.tsx +312 -98
- package/dist/native/source/components/Chart/types.ts +31 -1
- package/dist/native/source/components/Charts/charts.tsx +521 -0
- package/dist/native/source/components/Charts/index.ts +14 -0
- package/dist/native/source/components/Charts/types.ts +218 -0
- package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +486 -0
- package/dist/native/source/components/ShapeChart/charts.tsx +661 -0
- package/dist/native/source/components/ShapeChart/draw.tsx +201 -0
- package/dist/native/source/components/ShapeChart/geometry.ts +1366 -0
- package/dist/native/source/components/ShapeChart/index.ts +16 -0
- package/dist/native/source/components/ShapeChart/recorder.ts +845 -0
- package/dist/native/source/components/ShapeChart/types.ts +655 -0
- package/dist/native/source/index.ts +2 -0
- package/dist/native/source/manifest.ts +31 -4
- package/dist/taro/charts.d.ts +229 -4
- package/dist/taro/index.d.ts +1 -0
- package/dist/taro/index.js +8818 -2093
- package/dist/taro/manifest.d.ts +1 -0
- package/dist/taro/shape-charts.d.ts +629 -0
- package/dist/uni/AreaChart.vue +68 -0
- package/dist/uni/AreaChart.vue.d.ts +124 -0
- package/dist/uni/Badge.vue.d.ts +1 -1
- package/dist/uni/BarChart.vue.d.ts +5 -1
- package/dist/uni/BoxPlotChart.vue +66 -0
- package/dist/uni/BoxPlotChart.vue.d.ts +110 -0
- package/dist/uni/BubbleChart.vue +68 -0
- package/dist/uni/BubbleChart.vue.d.ts +110 -0
- package/dist/uni/BulletChart.vue +86 -0
- package/dist/uni/BulletChart.vue.d.ts +114 -0
- package/dist/uni/CalendarHeatmap.vue +92 -0
- package/dist/uni/CalendarHeatmap.vue.d.ts +131 -0
- package/dist/uni/CandlestickChart.vue +66 -0
- package/dist/uni/CandlestickChart.vue.d.ts +104 -0
- package/dist/uni/Chart.vue.d.ts +4 -0
- package/dist/uni/ChordChart.vue +93 -0
- package/dist/uni/ChordChart.vue.d.ts +136 -0
- package/dist/uni/DonutChart.vue +72 -0
- package/dist/uni/DonutChart.vue.d.ts +118 -0
- package/dist/uni/FunnelChart.vue +67 -0
- package/dist/uni/FunnelChart.vue.d.ts +108 -0
- package/dist/uni/GanttChart.vue +67 -0
- package/dist/uni/GanttChart.vue.d.ts +127 -0
- package/dist/uni/GaugeChart.vue +77 -0
- package/dist/uni/GaugeChart.vue.d.ts +127 -0
- package/dist/uni/HeatmapChart.vue +66 -0
- package/dist/uni/HeatmapChart.vue.d.ts +120 -0
- package/dist/uni/HistogramChart.vue +66 -0
- package/dist/uni/HistogramChart.vue.d.ts +125 -0
- package/dist/uni/HorizontalBarChart.vue +68 -0
- package/dist/uni/HorizontalBarChart.vue.d.ts +129 -0
- package/dist/uni/Input.vue.d.ts +1 -1
- package/dist/uni/LineChart.vue.d.ts +4 -0
- package/dist/uni/MixedChart.vue +68 -0
- package/dist/uni/MixedChart.vue.d.ts +110 -0
- package/dist/uni/NumberInput.vue.d.ts +1 -1
- package/dist/uni/PieChart.vue +72 -0
- package/dist/uni/PieChart.vue.d.ts +118 -0
- package/dist/uni/QuadrantChart.vue.d.ts +4 -0
- package/dist/uni/RadarChart.vue +67 -0
- package/dist/uni/RadarChart.vue.d.ts +114 -0
- package/dist/uni/RadialBarChart.vue +90 -0
- package/dist/uni/RadialBarChart.vue.d.ts +136 -0
- package/dist/uni/RangeAreaChart.vue +68 -0
- package/dist/uni/RangeAreaChart.vue.d.ts +106 -0
- package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
- package/dist/uni/SankeyChart.vue +88 -0
- package/dist/uni/SankeyChart.vue.d.ts +125 -0
- package/dist/uni/ScatterChart.vue.d.ts +4 -0
- package/dist/uni/ShapeChart.vue +73 -0
- package/dist/uni/ShapeChart.vue.d.ts +54 -0
- package/dist/uni/Sparkline.vue +58 -0
- package/dist/uni/Sparkline.vue.d.ts +81 -0
- package/dist/uni/SunburstChart.vue +90 -0
- package/dist/uni/SunburstChart.vue.d.ts +118 -0
- package/dist/uni/Textarea.vue.d.ts +1 -1
- package/dist/uni/TimePicker.vue.d.ts +1 -1
- package/dist/uni/ToastProvider.vue.d.ts +1 -1
- package/dist/uni/TreemapChart.vue +65 -0
- package/dist/uni/TreemapChart.vue.d.ts +104 -0
- package/dist/uni/WaterfallChart.vue +66 -0
- package/dist/uni/WaterfallChart.vue.d.ts +134 -0
- package/dist/uni/chart-canvas.d.ts +3 -0
- package/dist/uni/chart-canvas.js +4 -0
- package/dist/uni/chart-types.d.ts +240 -2
- package/dist/uni/chart-types.js +198 -0
- package/dist/uni/charts-canvas.js +8 -3
- package/dist/uni/index.d.ts +27 -1
- package/dist/uni/index.js +27 -1
- package/dist/uni/manifest.d.ts +279 -0
- package/dist/uni/manifest.js +397 -0
- package/dist/uni/named-chart-options.d.ts +95 -0
- package/dist/uni/named-chart-options.js +173 -0
- package/dist/uni/shape-chart-canvas.d.ts +53 -0
- package/dist/uni/shape-chart-canvas.js +333 -0
- package/dist/uni/shape-chart-types.d.ts +431 -0
- package/dist/uni/shape-chart-types.js +305 -0
- package/dist/vue/charts-global.d.ts +48 -0
- package/dist/vue/charts.d.ts +18 -0
- package/dist/vue/charts.js +56 -0
- package/dist/vue/charts.js.map +1 -0
- package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
- package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
- package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
- package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
- package/dist/vue/components/Chart/BarChart.vue.js +7 -0
- package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +120 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
- package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
- package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
- package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
- package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
- package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
- package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
- package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
- package/dist/vue/components/Chart/Chart.vue.js +7 -0
- package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
- package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
- package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
- package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +179 -0
- package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
- package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
- package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
- package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
- package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
- package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
- package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
- package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
- package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/GanttChart.vue.d.ts +136 -0
- package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
- package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +101 -0
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
- package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/GraphChart.vue.d.ts +184 -0
- package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
- package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +129 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +67 -0
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
- package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
- package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
- package/dist/vue/components/Chart/LineChart.vue.js +7 -0
- package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
- package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
- package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
- package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
- package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
- package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +130 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
- package/dist/vue/components/Chart/PieChart.vue.js +7 -0
- package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
- package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
- package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
- package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
- package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
- package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
- package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
- package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
- package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
- package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
- package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
- package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
- package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
- package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
- package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
- package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
- package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
- package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +116 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
- package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TradingChart.vue.d.ts +208 -0
- package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
- package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +101 -0
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TreeChart.vue.d.ts +172 -0
- package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
- package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
- package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
- package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
- package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +143 -0
- package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
- package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +74 -0
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/cartesian.d.ts +47 -0
- package/dist/vue/components/Chart/cartesian.js +56 -0
- package/dist/vue/components/Chart/cartesian.js.map +1 -0
- package/dist/vue/components/Chart/engine.d.ts +35 -0
- package/dist/vue/components/Chart/engine.js +35 -0
- package/dist/vue/components/Chart/engine.js.map +1 -0
- package/dist/vue/components/Chart/graph.d.ts +153 -0
- package/dist/vue/components/Chart/graph.js +135 -0
- package/dist/vue/components/Chart/graph.js.map +1 -0
- package/dist/vue/components/Chart/index.d.ts +45 -0
- package/dist/vue/components/Chart/index.js +44 -0
- package/dist/vue/components/Chart/orderbook.d.ts +363 -0
- package/dist/vue/components/Chart/orderbook.js +128 -0
- package/dist/vue/components/Chart/orderbook.js.map +1 -0
- package/dist/vue/components/Chart/props.d.ts +188 -0
- package/dist/vue/components/Chart/props.js +92 -0
- package/dist/vue/components/Chart/props.js.map +1 -0
- package/dist/vue/components/Chart/shape.d.ts +41 -0
- package/dist/vue/components/Chart/shape.js +42 -0
- package/dist/vue/components/Chart/shape.js.map +1 -0
- package/dist/vue/components/Chart/three-d.d.ts +106 -0
- package/dist/vue/components/Chart/three-d.js +88 -0
- package/dist/vue/components/Chart/three-d.js.map +1 -0
- package/dist/vue/components/Chart/trading.d.ts +127 -0
- package/dist/vue/components/Chart/trading.js +63 -0
- package/dist/vue/components/Chart/trading.js.map +1 -0
- package/dist/vue/components/Chart/types.d.ts +209 -0
- package/dist/vue/global.d.ts +2 -0
- package/dist/vue/groups/charts.d.ts +1 -0
- package/dist/vue/groups/charts.js +95 -0
- package/dist/vue/groups/charts.js.map +1 -0
- package/dist/vue/index.d.ts +1 -0
- package/dist/vue/index.js +67 -23
- package/dist/vue/internal/register.d.ts +7 -0
- package/dist/vue/internal/register.js +14 -0
- package/dist/vue/internal/register.js.map +1 -0
- package/dist/vue/plugin.d.ts +9 -4
- package/dist/vue/plugin.js +7 -10
- package/dist/vue/plugin.js.map +1 -1
- package/dist/weapp/area-chart/index.js +1 -0
- package/dist/weapp/area-chart/index.json +1 -0
- package/dist/weapp/area-chart/index.wxml +1 -0
- package/dist/weapp/area-chart/index.wxss +1 -0
- package/dist/weapp/box-plot-chart/index.js +1 -0
- package/dist/weapp/box-plot-chart/index.json +1 -0
- package/dist/weapp/box-plot-chart/index.wxml +1 -0
- package/dist/weapp/box-plot-chart/index.wxss +1 -0
- package/dist/weapp/bubble-chart/index.js +1 -0
- package/dist/weapp/bubble-chart/index.json +1 -0
- package/dist/weapp/bubble-chart/index.wxml +1 -0
- package/dist/weapp/bubble-chart/index.wxss +1 -0
- package/dist/weapp/bullet-chart/index.js +1 -0
- package/dist/weapp/bullet-chart/index.json +1 -0
- package/dist/weapp/bullet-chart/index.wxml +1 -0
- package/dist/weapp/bullet-chart/index.wxss +1 -0
- package/dist/weapp/calendar-heatmap/index.js +1 -0
- package/dist/weapp/calendar-heatmap/index.json +1 -0
- package/dist/weapp/calendar-heatmap/index.wxml +1 -0
- package/dist/weapp/calendar-heatmap/index.wxss +1 -0
- package/dist/weapp/candlestick-chart/index.js +1 -0
- package/dist/weapp/candlestick-chart/index.json +1 -0
- package/dist/weapp/candlestick-chart/index.wxml +1 -0
- package/dist/weapp/candlestick-chart/index.wxss +1 -0
- package/dist/weapp/charts/canvas.js +12976 -0
- package/dist/weapp/charts/core.d.ts +2 -0
- package/dist/weapp/charts/core.js +42 -0
- package/dist/weapp/chord-chart/index.js +1 -0
- package/dist/weapp/chord-chart/index.json +1 -0
- package/dist/weapp/chord-chart/index.wxml +1 -0
- package/dist/weapp/chord-chart/index.wxss +1 -0
- package/dist/weapp/controls.js +1495 -4480
- package/dist/weapp/donut-chart/index.js +1 -0
- package/dist/weapp/donut-chart/index.json +1 -0
- package/dist/weapp/donut-chart/index.wxml +1 -0
- package/dist/weapp/donut-chart/index.wxss +1 -0
- package/dist/weapp/funnel-chart/index.js +1 -0
- package/dist/weapp/funnel-chart/index.json +1 -0
- package/dist/weapp/funnel-chart/index.wxml +1 -0
- package/dist/weapp/funnel-chart/index.wxss +1 -0
- package/dist/weapp/gantt-chart/index.js +1 -0
- package/dist/weapp/gantt-chart/index.json +1 -0
- package/dist/weapp/gantt-chart/index.wxml +1 -0
- package/dist/weapp/gantt-chart/index.wxss +1 -0
- package/dist/weapp/gauge-chart/index.js +1 -0
- package/dist/weapp/gauge-chart/index.json +1 -0
- package/dist/weapp/gauge-chart/index.wxml +1 -0
- package/dist/weapp/gauge-chart/index.wxss +1 -0
- package/dist/weapp/heatmap-chart/index.js +1 -0
- package/dist/weapp/heatmap-chart/index.json +1 -0
- package/dist/weapp/heatmap-chart/index.wxml +1 -0
- package/dist/weapp/heatmap-chart/index.wxss +1 -0
- package/dist/weapp/histogram-chart/index.js +1 -0
- package/dist/weapp/histogram-chart/index.json +1 -0
- package/dist/weapp/histogram-chart/index.wxml +1 -0
- package/dist/weapp/histogram-chart/index.wxss +1 -0
- package/dist/weapp/horizontal-bar-chart/index.js +1 -0
- package/dist/weapp/horizontal-bar-chart/index.json +1 -0
- package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
- package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
- package/dist/weapp/mixed-chart/index.js +1 -0
- package/dist/weapp/mixed-chart/index.json +1 -0
- package/dist/weapp/mixed-chart/index.wxml +1 -0
- package/dist/weapp/mixed-chart/index.wxss +1 -0
- package/dist/weapp/pie-chart/index.js +1 -0
- package/dist/weapp/pie-chart/index.json +1 -0
- package/dist/weapp/pie-chart/index.wxml +1 -0
- package/dist/weapp/pie-chart/index.wxss +1 -0
- package/dist/weapp/radar-chart/index.js +1 -0
- package/dist/weapp/radar-chart/index.json +1 -0
- package/dist/weapp/radar-chart/index.wxml +1 -0
- package/dist/weapp/radar-chart/index.wxss +1 -0
- package/dist/weapp/radial-bar-chart/index.js +1 -0
- package/dist/weapp/radial-bar-chart/index.json +1 -0
- package/dist/weapp/radial-bar-chart/index.wxml +1 -0
- package/dist/weapp/radial-bar-chart/index.wxss +1 -0
- package/dist/weapp/range-area-chart/index.js +1 -0
- package/dist/weapp/range-area-chart/index.json +1 -0
- package/dist/weapp/range-area-chart/index.wxml +1 -0
- package/dist/weapp/range-area-chart/index.wxss +1 -0
- package/dist/weapp/sankey-chart/index.js +1 -0
- package/dist/weapp/sankey-chart/index.json +1 -0
- package/dist/weapp/sankey-chart/index.wxml +1 -0
- package/dist/weapp/sankey-chart/index.wxss +1 -0
- package/dist/weapp/shape-chart/index.js +1 -0
- package/dist/weapp/shape-chart/index.json +1 -0
- package/dist/weapp/shape-chart/index.wxml +1 -0
- package/dist/weapp/shape-chart/index.wxss +1 -0
- package/dist/weapp/sparkline/index.js +1 -0
- package/dist/weapp/sparkline/index.json +1 -0
- package/dist/weapp/sparkline/index.wxml +1 -0
- package/dist/weapp/sparkline/index.wxss +1 -0
- package/dist/weapp/sunburst-chart/index.js +1 -0
- package/dist/weapp/sunburst-chart/index.json +1 -0
- package/dist/weapp/sunburst-chart/index.wxml +1 -0
- package/dist/weapp/sunburst-chart/index.wxss +1 -0
- package/dist/weapp/treemap-chart/index.js +1 -0
- package/dist/weapp/treemap-chart/index.json +1 -0
- package/dist/weapp/treemap-chart/index.wxml +1 -0
- package/dist/weapp/treemap-chart/index.wxss +1 -0
- package/dist/weapp/types.d.ts +549 -0
- package/dist/weapp/waterfall-chart/index.js +1 -0
- package/dist/weapp/waterfall-chart/index.json +1 -0
- package/dist/weapp/waterfall-chart/index.wxml +1 -0
- package/dist/weapp/waterfall-chart/index.wxss +1 -0
- package/dist/web-components/components/chart/chart.d.ts +58 -0
- package/dist/web-components/components/chart/chart.js +55 -0
- package/dist/web-components/components/chart/chart.js.map +1 -0
- package/dist/web-components/components/chart/charts.d.ts +254 -0
- package/dist/web-components/components/chart/charts.js +208 -0
- package/dist/web-components/components/chart/charts.js.map +1 -0
- package/dist/web-components/components/chart/engine-element.d.ts +53 -0
- package/dist/web-components/components/chart/engine-element.js +77 -0
- package/dist/web-components/components/chart/engine-element.js.map +1 -0
- package/dist/web-components/components/chart/extended.d.ts +234 -0
- package/dist/web-components/components/chart/extended.js +197 -0
- package/dist/web-components/components/chart/extended.js.map +1 -0
- package/dist/web-components/components/chart/series.d.ts +7 -0
- package/dist/web-components/components/chart/series.js +14 -0
- package/dist/web-components/components/chart/series.js.map +1 -0
- package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
- package/dist/web-components/components/chart/shape-chart.js +161 -0
- package/dist/web-components/components/chart/shape-chart.js.map +1 -0
- package/dist/web-components/components/chart/shapes-extended.d.ts +198 -0
- package/dist/web-components/components/chart/shapes-extended.js +182 -0
- package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
- package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
- package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
- package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
- package/dist/web-components/components/graph/graph.d.ts +154 -0
- package/dist/web-components/components/graph/graph.js +149 -0
- package/dist/web-components/components/graph/graph.js.map +1 -0
- package/dist/web-components/components/order-book/order-book.d.ts +165 -0
- package/dist/web-components/components/order-book/order-book.js +174 -0
- package/dist/web-components/components/order-book/order-book.js.map +1 -0
- package/dist/web-components/components/trading-chart/trading-chart.d.ts +143 -0
- package/dist/web-components/components/trading-chart/trading-chart.js +158 -0
- package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
- package/dist/web-components/elements/chart-3d.d.ts +2 -0
- package/dist/web-components/elements/chart-3d.js +13 -0
- package/dist/web-components/elements/chart-3d.js.map +1 -0
- package/dist/web-components/elements/chart.d.ts +7 -0
- package/dist/web-components/elements/chart.js +44 -0
- package/dist/web-components/elements/chart.js.map +1 -0
- package/dist/web-components/elements/graph.d.ts +2 -0
- package/dist/web-components/elements/graph.js +12 -0
- package/dist/web-components/elements/graph.js.map +1 -0
- package/dist/web-components/elements/order-book.d.ts +2 -0
- package/dist/web-components/elements/order-book.js +13 -0
- package/dist/web-components/elements/order-book.js.map +1 -0
- package/dist/web-components/elements/trading-chart.d.ts +2 -0
- package/dist/web-components/elements/trading-chart.js +8 -0
- package/dist/web-components/elements/trading-chart.js.map +1 -0
- package/dist/web-components/html-custom-data.json +1470 -38
- package/dist/web-components/types/react.d.ts +494 -0
- package/dist/web-components/types/solid.d.ts +368 -0
- package/dist/web-components/types/svelte.d.ts +368 -0
- package/dist/web-components/types/vue.d.ts +410 -0
- package/package.json +128 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shaders.js","names":["writeUniforms","out","viewProj","viewport","eye","light","material","params","fog","itemUniforms","second","item","frame","WGSL_UNIFORMS","WGSL_POINTS","WGSL_MESH","WGSL_LINES","GLSL_UNIFORMS","GLSL_POINTS_VS","GLSL_POINTS_FS","GLSL_MESH_VS","GLSL_MESH_FS","GLSL_LINES_VS","GLSL_LINES_FS","PRECISION","glsl","version","vs","fs","glslPrograms","GLSL_ATTRIBUTES","writesDepth"],"sources":["../../../../../charts/src/engine/three-d/shaders.ts"],"sourcesContent":["// Shaders of the 3D data layer: instanced point billboards (shaded spheres,\n// flat discs or glowing discs), lit triangles (two-sided Lambert +\n// Blinn-Phong) and screen-space wide line segments. WGSL for WebGPU, GLSL ES\n// 1.0 for WebGL (turned into GLSL ES 3.0 for WebGL2 by a macro prefix).\n// Outputs are premultiplied.\n//\n// Uniforms (WGSL struct, GLSL vec4 uniforms of the same names):\n// viewProj world -> clip (OpenGL depth convention)\n// viewport drawing buffer width, height (device px), dpr, orthographic\n// eye camera position, depth bias of the lines (NDC) | point style\n// light unit vector towards the light, additive points (0/1)\n// material ambient, diffuse, specular, shininess\n// params opacity, perspective sizes (0/1) | line width (CSS px), distance, radius\n// fog background color (far points fade towards it)\n//\n// Point sizes are CSS pixels times the device pixel ratio (billboards: no\n// point size limit). Dots thinner than the smallest drawn radius keep their\n// energy: their alpha scales with the area they would cover.\n\nimport { POINT_SPHERE, type Frame3D, type Item3D } from \"./render-types\";\n\nexport { writesDepth } from \"./render-types\";\n\n/** Bytes of the WGSL uniform struct */\nexport const UNIFORM_BYTES = 160;\n\n/** Writes the uniforms of an item in the WGSL struct layout */\nconst writeUniforms = (\n out: Float32Array,\n viewProj: Float32Array,\n viewport: readonly [number, number, number, number],\n eye: readonly [number, number, number, number],\n light: readonly [number, number, number, number],\n material: readonly [number, number, number, number],\n params: readonly [number, number, number, number],\n fog: readonly [number, number, number, number],\n): Float32Array => {\n out.set(viewProj, 0);\n out.set(viewport, 16);\n out.set(eye, 20);\n out.set(light, 24);\n out.set(material, 28);\n out.set(params, 32);\n out.set(fog, 36);\n return out;\n};\n\n/** Uniform values of an item (40 floats, the WGSL struct layout) */\nexport const itemUniforms = (\n item: Item3D,\n frame: Frame3D,\n out: Float32Array,\n): Float32Array => {\n const second =\n item.kind === \"points\"\n ? item.perspective\n ? 1\n : 0\n : item.kind === \"lines\"\n ? item.width\n : 0;\n return writeUniforms(\n out,\n frame.viewProj,\n [frame.width, frame.height, frame.dpr, frame.orthographic ? 1 : 0],\n [\n frame.eye[0],\n frame.eye[1],\n frame.eye[2],\n item.kind === \"lines\"\n ? item.bias\n : item.kind === \"points\"\n ? (item.style ?? POINT_SPHERE)\n : 0,\n ],\n [\n frame.light[0],\n frame.light[1],\n frame.light[2],\n item.kind === \"points\" && item.additive ? 1 : 0,\n ],\n frame.lighting,\n [item.opacity, second, frame.distance, frame.radius],\n [frame.fog[0], frame.fog[1], frame.fog[2], 1],\n );\n};\n\n// ------------------------------------------------------------------- WGSL\n\nconst WGSL_UNIFORMS = /* wgsl */ `\nstruct U {\n viewProj: mat4x4f,\n viewport: vec4f,\n eye: vec4f,\n light: vec4f,\n material: vec4f,\n params: vec4f,\n fog: vec4f,\n};\n@group(0) @binding(0) var<uniform> u: U;\n\nfn toWebGpuDepth(p: vec4f) -> vec4f {\n return vec4f(p.x, p.y, (p.z + p.w) * 0.5, p.w);\n}\n\nfn depthCue(world: vec3f) -> f32 {\n let near = u.params.z - u.params.w;\n return clamp((length(world - u.eye.xyz) - near) / (2.0 * u.params.w), 0.0, 1.0);\n}\n`;\n\nexport const WGSL_POINTS = /* wgsl */ `${WGSL_UNIFORMS}\nstruct Out {\n @builtin(position) position: vec4f,\n @location(0) offset: vec2f,\n @location(1) radius: f32,\n @location(2) color: vec4f,\n @location(3) fog: f32,\n @location(4) coverage: f32,\n};\n\n@vertex\nfn vs(\n @builtin(vertex_index) vi: u32,\n @location(0) pos: vec3f,\n @location(1) size: f32,\n @location(2) color: vec4f,\n) -> Out {\n var out: Out;\n let corner = vec2f(f32(vi & 1u), f32(vi >> 1u)) * 2.0 - 1.0;\n let clip = u.viewProj * vec4f(pos, 1.0);\n var factor = 1.0;\n if (u.params.y > 0.5 && u.viewport.w < 0.5) {\n factor = clamp(u.params.z / max(clip.w, 1e-6), 0.5, 2.0);\n }\n let glow = u.eye.w > 1.5;\n let raw = max(size, 0.0) * u.viewport.z * factor * 0.5;\n let radius = max(raw, select(0.5, 0.75, glow));\n let reach = select(radius + 1.0, radius * 2.2 + 1.0, glow);\n let shift = corner * reach * 2.0 / u.viewport.xy * clip.w;\n out.position = toWebGpuDepth(vec4f(clip.xy + shift, clip.z, clip.w));\n out.offset = corner * reach;\n out.radius = radius;\n out.color = color;\n out.fog = depthCue(pos) * 0.45;\n out.coverage = min(1.0, raw * raw / (radius * radius));\n return out;\n}\n\n@fragment\nfn fs(in: Out) -> @location(0) vec4f {\n let d = length(in.offset);\n let r = in.radius;\n var alpha = clamp(r + 0.5 - d, 0.0, 1.0);\n var rgb = in.color.rgb;\n if (u.eye.w > 1.5) {\n // glow: an anti-aliased core and a gaussian halo\n let core = clamp(r * 0.6 + 0.5 - d, 0.0, 1.0);\n let q = d / r;\n alpha = core + (1.0 - core) * exp(-1.2 * q * q);\n rgb = rgb + (vec3f(1.0) - rgb) * (0.2 * core);\n } else if (u.eye.w < 0.5) {\n let q = min(d / r, 1.0);\n let n = vec3f(in.offset.x / r, in.offset.y / r, sqrt(max(0.0, 1.0 - q * q)));\n let l = normalize(vec3f(-0.45, 0.55, 0.7));\n let lambert = max(dot(n, l), 0.0);\n let shaded = rgb * (0.62 + 0.45 * lambert) + vec3f(pow(lambert, 18.0) * 0.28);\n rgb = mix(rgb, shaded, smoothstep(1.5, 3.5, r));\n }\n if (alpha <= 0.004) { discard; }\n if (u.light.w > 0.5) {\n // additive light fades with the distance\n alpha = alpha * (1.0 - in.fog);\n } else {\n rgb = mix(rgb, u.fog.rgb, in.fog);\n }\n alpha = alpha * in.coverage * in.color.a * u.params.x;\n return vec4f(rgb * alpha, alpha);\n}\n`;\n\nexport const WGSL_MESH = /* wgsl */ `${WGSL_UNIFORMS}\nstruct Out {\n @builtin(position) position: vec4f,\n @location(0) world: vec3f,\n @location(1) normal: vec3f,\n @location(2) color: vec4f,\n};\n\n@vertex\nfn vs(\n @location(0) pos: vec3f,\n @location(1) normal: vec3f,\n @location(2) color: vec4f,\n) -> Out {\n var out: Out;\n out.position = toWebGpuDepth(u.viewProj * vec4f(pos, 1.0));\n out.world = pos;\n out.normal = normal;\n out.color = color;\n return out;\n}\n\n@fragment\nfn fs(in: Out) -> @location(0) vec4f {\n var n = normalize(in.normal);\n let v = normalize(u.eye.xyz - in.world);\n if (dot(n, v) < 0.0) { n = -n; }\n let l = u.light.xyz;\n let diffuse = max(dot(n, l), 0.0);\n let h = normalize(l + v);\n let specular = pow(max(dot(n, h), 0.0), u.material.w) * u.material.z;\n let rgb = in.color.rgb * (u.material.x + u.material.y * diffuse) + vec3f(specular);\n let alpha = in.color.a * u.params.x;\n return vec4f(rgb * alpha, alpha);\n}\n`;\n\nexport const WGSL_LINES = /* wgsl */ `${WGSL_UNIFORMS}\nstruct Out {\n @builtin(position) position: vec4f,\n @location(0) across: f32,\n @location(1) color: vec4f,\n};\n\n@vertex\nfn vs(\n @builtin(vertex_index) vi: u32,\n @location(0) a: vec3f,\n @location(1) b: vec3f,\n @location(2) color: vec4f,\n) -> Out {\n var out: Out;\n let corner = vec2f(f32(vi & 1u), f32(vi >> 1u));\n let ca = u.viewProj * vec4f(a, 1.0);\n let cb = u.viewProj * vec4f(b, 1.0);\n let halfSize = u.viewport.xy * 0.5;\n let sa = ca.xy / ca.w * halfSize;\n let sb = cb.xy / cb.w * halfSize;\n var dir = sb - sa;\n let len = length(dir);\n dir = select(vec2f(1.0, 0.0), dir / len, len > 1e-6);\n let normal = vec2f(-dir.y, dir.x);\n let w = max(0.5, u.params.y * u.viewport.z * 0.5) + 0.5;\n let clip = select(ca, cb, corner.x > 0.5);\n let side = corner.y * 2.0 - 1.0;\n let pixel = select(sa, sb, corner.x > 0.5) + dir * (corner.x * 2.0 - 1.0) * w + normal * side * w;\n let z = clip.z - u.eye.w * clip.w;\n out.position = toWebGpuDepth(vec4f(pixel / halfSize * clip.w, z, clip.w));\n out.across = side * w;\n out.color = color;\n return out;\n}\n\n@fragment\nfn fs(in: Out) -> @location(0) vec4f {\n let core = u.params.y * u.viewport.z * 0.5;\n let coverage = clamp(max(core, 0.5) + 0.5 - abs(in.across), 0.0, 1.0) * min(1.0, core * 2.0);\n let alpha = coverage * in.color.a * u.params.x;\n if (alpha <= 0.0) { discard; }\n return vec4f(in.color.rgb * alpha, alpha);\n}\n`;\n\n// ------------------------------------------------------------------- GLSL\n\nconst GLSL_UNIFORMS = `\nuniform mat4 u_viewProj;\nuniform vec4 u_viewport;\nuniform vec4 u_eye;\nuniform vec4 u_light;\nuniform vec4 u_material;\nuniform vec4 u_params;\nuniform vec4 u_fog;\n`;\n\nconst GLSL_POINTS_VS = `\nattribute vec2 a_corner;\nattribute vec3 a_pos;\nattribute float a_size;\nattribute vec4 a_color;\nvarying vec2 v_offset;\nvarying float v_radius;\nvarying vec4 v_color;\nvarying float v_fog;\nvarying float v_coverage;\nvoid main() {\n vec2 corner = a_corner * 2.0 - 1.0;\n vec4 clip = u_viewProj * vec4(a_pos, 1.0);\n float factor = 1.0;\n if (u_params.y > 0.5 && u_viewport.w < 0.5) {\n factor = clamp(u_params.z / max(clip.w, 1e-6), 0.5, 2.0);\n }\n bool glow = u_eye.w > 1.5;\n float raw = max(a_size, 0.0) * u_viewport.z * factor * 0.5;\n float radius = max(raw, glow ? 0.75 : 0.5);\n float reach = glow ? radius * 2.2 + 1.0 : radius + 1.0;\n vec2 shift = corner * reach * 2.0 / u_viewport.xy * clip.w;\n gl_Position = vec4(clip.xy + shift, clip.z, clip.w);\n v_offset = corner * reach;\n v_radius = radius;\n v_color = a_color;\n float near = u_params.z - u_params.w;\n v_fog = clamp((length(a_pos - u_eye.xyz) - near) / (2.0 * u_params.w), 0.0, 1.0) * 0.45;\n v_coverage = min(1.0, raw * raw / (radius * radius));\n}\n`;\n\nconst GLSL_POINTS_FS = `\nvarying vec2 v_offset;\nvarying float v_radius;\nvarying vec4 v_color;\nvarying float v_fog;\nvarying float v_coverage;\nvoid main() {\n float d = length(v_offset);\n float r = v_radius;\n float alpha = clamp(r + 0.5 - d, 0.0, 1.0);\n vec3 rgb = v_color.rgb;\n if (u_eye.w > 1.5) {\n float core = clamp(r * 0.6 + 0.5 - d, 0.0, 1.0);\n float q = d / r;\n alpha = core + (1.0 - core) * exp(-1.2 * q * q);\n rgb = rgb + (vec3(1.0) - rgb) * (0.2 * core);\n } else if (u_eye.w < 0.5) {\n float q = min(d / r, 1.0);\n vec3 n = vec3(v_offset / r, sqrt(max(0.0, 1.0 - q * q)));\n vec3 l = normalize(vec3(-0.45, 0.55, 0.7));\n float lambert = max(dot(n, l), 0.0);\n vec3 shaded = rgb * (0.62 + 0.45 * lambert) + vec3(pow(lambert, 18.0) * 0.28);\n rgb = mix(rgb, shaded, smoothstep(1.5, 3.5, r));\n }\n if (alpha <= 0.004) discard;\n if (u_light.w > 0.5) {\n alpha = alpha * (1.0 - v_fog);\n } else {\n rgb = mix(rgb, u_fog.rgb, v_fog);\n }\n alpha = alpha * v_coverage * v_color.a * u_params.x;\n FRAG = vec4(rgb * alpha, alpha);\n}\n`;\n\nconst GLSL_MESH_VS = `\nattribute vec3 a_pos;\nattribute vec3 a_normal;\nattribute vec4 a_color;\nvarying vec3 v_world;\nvarying vec3 v_normal;\nvarying vec4 v_color;\nvoid main() {\n gl_Position = u_viewProj * vec4(a_pos, 1.0);\n v_world = a_pos;\n v_normal = a_normal;\n v_color = a_color;\n}\n`;\n\nconst GLSL_MESH_FS = `\nvarying vec3 v_world;\nvarying vec3 v_normal;\nvarying vec4 v_color;\nvoid main() {\n vec3 n = normalize(v_normal);\n vec3 v = normalize(u_eye.xyz - v_world);\n if (dot(n, v) < 0.0) n = -n;\n vec3 l = u_light.xyz;\n float diffuse = max(dot(n, l), 0.0);\n vec3 h = normalize(l + v);\n float specular = pow(max(dot(n, h), 0.0), u_material.w) * u_material.z;\n vec3 rgb = v_color.rgb * (u_material.x + u_material.y * diffuse) + vec3(specular);\n float alpha = v_color.a * u_params.x;\n FRAG = vec4(rgb * alpha, alpha);\n}\n`;\n\nconst GLSL_LINES_VS = `\nattribute vec2 a_corner;\nattribute vec3 a_a;\nattribute vec3 a_b;\nattribute vec4 a_color;\nvarying float v_across;\nvarying vec4 v_color;\nvoid main() {\n vec4 ca = u_viewProj * vec4(a_a, 1.0);\n vec4 cb = u_viewProj * vec4(a_b, 1.0);\n vec2 halfSize = u_viewport.xy * 0.5;\n vec2 sa = ca.xy / ca.w * halfSize;\n vec2 sb = cb.xy / cb.w * halfSize;\n vec2 dir = sb - sa;\n float len = length(dir);\n dir = len > 1e-6 ? dir / len : vec2(1.0, 0.0);\n vec2 normal = vec2(-dir.y, dir.x);\n float w = max(0.5, u_params.y * u_viewport.z * 0.5) + 0.5;\n bool atEnd = a_corner.x > 0.5;\n vec4 clip = atEnd ? cb : ca;\n float side = a_corner.y * 2.0 - 1.0;\n vec2 pixel = (atEnd ? sb : sa) + dir * (a_corner.x * 2.0 - 1.0) * w + normal * side * w;\n gl_Position = vec4(pixel / halfSize * clip.w, clip.z - u_eye.w * clip.w, clip.w);\n v_across = side * w;\n v_color = a_color;\n}\n`;\n\nconst GLSL_LINES_FS = `\nvarying float v_across;\nvarying vec4 v_color;\nvoid main() {\n float core = u_params.y * u_viewport.z * 0.5;\n float coverage = clamp(max(core, 0.5) + 0.5 - abs(v_across), 0.0, 1.0) * min(1.0, core * 2.0);\n float alpha = coverage * v_color.a * u_params.x;\n if (alpha <= 0.0) discard;\n FRAG = vec4(v_color.rgb * alpha, alpha);\n}\n`;\n\nconst PRECISION = `\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n`;\n\nexport interface GlslSource {\n vertex: string;\n fragment: string;\n}\n\nconst glsl = (vs: string, fs: string, version: 1 | 2): GlslSource =>\n version === 2\n ? {\n vertex: `#version 300 es\\n#define attribute in\\n#define varying out\\n${GLSL_UNIFORMS}${vs}`,\n fragment: `#version 300 es\\nprecision highp float;\\n#define varying in\\nout vec4 fragColor;\\n#define FRAG fragColor\\n${GLSL_UNIFORMS}${fs}`,\n }\n : {\n vertex: `${GLSL_UNIFORMS}${vs}`,\n fragment: `${PRECISION}#define FRAG gl_FragColor\\n${GLSL_UNIFORMS}${fs}`,\n };\n\n/** GLSL programs of the three primitives for WebGL (1) or WebGL2 */\nexport const glslPrograms = (version: 1 | 2) => ({\n points: glsl(GLSL_POINTS_VS, GLSL_POINTS_FS, version),\n mesh: glsl(GLSL_MESH_VS, GLSL_MESH_FS, version),\n lines: glsl(GLSL_LINES_VS, GLSL_LINES_FS, version),\n});\n\n/** Attribute names of every program, bound to locations 0, 1, ... */\nexport const GLSL_ATTRIBUTES = {\n points: [\"a_corner\", \"a_pos\", \"a_size\", \"a_color\"],\n mesh: [\"a_pos\", \"a_normal\", \"a_color\"],\n lines: [\"a_corner\", \"a_a\", \"a_b\", \"a_color\"],\n} as const;\n"],"mappings":";;AA2BA,IAAMA,KACJ,GACA,GACA,GACA,GACA,GACA,GACA,GACA,OAEAC,EAAI,IAAIC,GAAU,CAAC,GACnBD,EAAI,IAAIE,GAAU,EAAE,GACpBF,EAAI,IAAIG,GAAK,EAAE,GACfH,EAAI,IAAII,GAAO,EAAE,GACjBJ,EAAI,IAAIK,GAAU,EAAE,GACpBL,EAAI,IAAIM,GAAQ,EAAE,GAClBN,EAAI,IAAIO,GAAK,EAAE,GACRP,IAIIQ,KACX,GACA,GACA,MACiB;CACjB,IAAMC,IACJC,EAAK,SAAS,WACV,KAAK,cAGLA,EAAK,SAAS,UACZA,EAAK,QACL;CACR,OAAOX,EACLC,GACAW,EAAM,UACN;EAACA,EAAM;EAAOA,EAAM;EAAQA,EAAM;EAAK,KAAM;CAAoB,GACjE;EACEA,EAAM,IAAI;EACVA,EAAM,IAAI;EACVA,EAAM,IAAI;EACVD,EAAK,SAAS,UACVA,EAAK,OACLA,EAAK,SAAS,WACXA,EAAK,SAAA,IACN;CACR,GACA;EACEC,EAAM,MAAM;EACZA,EAAM,MAAM;EACZA,EAAM,MAAM;EACZD,EAAK,SAAS,YAAYA,EAAK,WAAW,IAAI;CAChD,GACAC,EAAM,UACN;EAACD,EAAK;EAASD;EAAQE,EAAM;EAAUA,EAAM;CAAM,GACnD;EAACA,EAAM,IAAI;EAAIA,EAAM,IAAI;EAAIA,EAAM,IAAI;EAAI;CAAC,CAC9C;AACF,GAIMC,IAA2B,kcAsBpBC,IAAyB,GAAGD,EAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsE1CE,IAAuB,GAAGF,EAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCxCG,IAAwB,GAAGH,EAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDhDI,IAAgB,6KAUhBC,IAAiB,2hCAgCjBC,IAAiB,wjCAmCjBC,IAAe,0RAefC,IAAe,whBAkBfC,IAAgB,+3BA4BhBC,IAAgB,yVAYhBC,IAAY,0GAaZC,KAAQ,GAAY,GAAY,MACpCC,MAAY,IACR;CACE,QAAQ,+DAA+DT,IAAgBU;CACvF,UAAU,6GAA6GV,IAAgBW;AACzI,IACA;CACE,QAAQ,GAAGX,IAAgBU;CAC3B,UAAU,GAAGH,EAAU,6BAA6BP,IAAgBW;AACtE,GAGOC,KAAgB,OAAoB;CAC/C,QAAQJ,EAAKP,GAAgBC,GAAgBO,CAAO;CACpD,MAAMD,EAAKL,GAAcC,GAAcK,CAAO;CAC9C,OAAOD,EAAKH,GAAeC,GAAeG,CAAO;AACnD,IAGaI,IAAkB;CAC7B,QAAQ;EAAC;EAAY;EAAS;EAAU;CAAS;CACjD,MAAM;EAAC;EAAS;EAAY;CAAS;CACrC,OAAO;EAAC;EAAY;EAAO;EAAO;CAAS;AAC7C"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./render-types.cjs");var t=1<<18,n=`transparent`,r=65536,i=7,a=(e,t,n,a,o,s)=>{let c=Math.floor(e.length/6),{keys:l,counts:u}=s,d=a?2:3,f=n[d]??0,p=n[d+4]??0,m=n[d+8]??0,h=1/0,g=-1/0;for(let n=0;n<c;n++){let r=n*6,a=0,o=0,s=0;for(let n=0;n<4;n++){let c=(e[r+(n===3?5:n)]??0)*i;a+=t[c]??0,o+=t[c+1]??0,s+=t[c+2]??0}let c=f*a+p*o+m*s;l[n]=c,c<h&&(h=c),c>g&&(g=c)}u.fill(0);let _=g>h?65535/(g-h):0;for(let e=0;e<c;e++){let t=Math.min(65535,Math.max(0,Math.floor((g-(l[e]??g))*_)));l[e]=t,u[t]=(u[t]??0)+1}let v=0;for(let e=0;e<r;e++){let t=u[e]??0;u[e]=v,v+=t}for(let t=0;t<c;t++){let n=l[t]??0,r=(u[n]??0)*6;u[n]=(u[n]??0)+1;let i=t*6;for(let t=0;t<6;t++)o[r+t]=e[i+t]??0}},o=(e,t,n)=>{let r=0,i=0;for(let t of e)r+=t.vertexCount,i+=t.indices.length;let a=new ArrayBuffer(r*28),o=new Uint8Array(a),s=new Uint32Array(i),c=0,l=0;for(let t of e){let e=Math.min(t.vertices.byteLength,t.vertexCount*28);o.set(new Uint8Array(t.vertices,0,e),c*28);let n=Math.max(0,Math.min(1,t.opacity));if(n<1)for(let e=0;e<t.vertexCount;e++){let t=(c+e)*28+27;o[t]=Math.round((o[t]??0)*n)}let r=t.indices;for(let e=0;e<r.length;e++)s[l+e]=(r[e]??0)+c;c+=t.vertexCount,l+=r.length}return{kind:`mesh`,key:t,version:n,opacity:1,transparent:!0,vertices:a,vertexCount:r,indices:s}},s=(e,t)=>{if(!e)return!1;for(let n=0;n<16;n++)if(e[n]!==t[n])return!1;return!0},c=t=>t.kind===`mesh`&&!e.writesDepth(t),l=e=>e.indices.length>0&&e.indices.length%6==0,u=e=>{let t=new Float32Array(e.vertices,0,Math.min(e.vertices.byteLength/4,e.vertexCount*i)),n=[1/0,1/0,1/0],r=[-1/0,-1/0,-1/0];for(let e=0;e+2<t.length;e+=i)for(let i=0;i<3;i++){let a=t[e+i]??0;a<(n[i]??0)&&(n[i]=a),a>(r[i]??0)&&(r[i]=a)}return[0,1,2].map(e=>n[e]<=r[e]?(n[e]+r[e])/2:0)},d=()=>{let e=new Map,t=new Map,i=null,d=0,f=null,p=!1,m=0,h=null,g=(t,n,i,o)=>{let s=t.indices.length/6;if(!l(t)||s<2||s>262144)return t;o.add(t.key);let c=e.get(t.key),u=!c||c.version!==t.version||c.source!==t.indices;if(u||i){(!h||h.keys.length<s)&&(h={keys:new Float32Array(Math.max(s,1024)),counts:new Uint32Array(r)});let i=c&&!u&&c.indices.length===t.indices.length?c.indices:new Uint32Array(t.indices.length);a(t.indices,new Float32Array(t.vertices),n.viewProj,n.orthographic,i,h),c={version:t.version,source:t.indices,indices:i,order:++m},e.set(t.key,c)}return{...t,indices:c.indices,order:c.order}},_=(e,n)=>{let r=t.get(e.key);(!r||r.version!==e.version)&&(r={version:e.version,center:u(e)},t.set(e.key,r));let i=n.viewProj,a=n.orthographic?2:3,[o,s,c]=r.center;return(i[a]??0)*o+(i[a+4]??0)*s+(i[a+8]??0)*c+(i[a+12]??0)};return(r,a)=>{let u=r.filter(c);if(u.length===0)return e.clear(),t.clear(),i=null,r;let m=!s(f,a.viewProj)||p!==a.orthographic;m&&(f=Float32Array.from(a.viewProj),p=a.orthographic);let h=new Set,v=0;for(let e of u)v+=e.indices.length/6;let y=[];if(u.length>=2&&v<=262144&&u.every(l)){let e=u.map(e=>`${e.key}@${e.version}@${e.opacity}`).join(`|`);(!i||i.signature!==e)&&(i={signature:e,item:o(u,n,++d)});let t=g(i.item,a,m,h),s=!1;for(let e of r)c(e)?s||(y.push(t),s=!0):y.push(e)}else{i=null;let e=u.map(e=>({m:e,depth:_(e,a)})).sort((e,t)=>t.depth-e.depth).map(e=>g(e.m,a,m,h)),t=0;for(let n of r)y.push(c(n)?e[t++]:n)}for(let t of e.keys())h.has(t)||e.delete(t);for(let e of t.keys())u.some(t=>t.key===e)||t.delete(e);return y}};exports.MAX_SORTED_QUADS=t,exports.MERGED_KEY=n,exports.createDepthSorter=d,exports.mergeMeshes=o,exports.sortQuads=a;
|
|
2
|
+
//# sourceMappingURL=sort.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.cjs","names":["writesDepth","require_render_types","MAX_SORTED_QUADS","MERGED_KEY","BUCKETS","FLOATS","sortQuads","quads","indices","scratch","row","orthographic","mx","viewProj","my","mz","min","max","q","o","x","y","z","c","v","vertices","depth","counts","scale","b","keys","sum","at","j","mergeMeshes","vertexCount","indexCount","m","meshes","bytes","base","length","opacity","a","source","sameMatrix","i","isTransparentMesh","item","isQuadMesh","meshCenter","f","k","createDepthSorter","sorted","centers","merged","mergedVersion","view","order","sortMesh","seen","entry","stale","moved","out","frame","centerDepth","transparent","items","result","signature","placed","it","ordered","next","key"],"sources":["../../../../../charts/src/engine/three-d/sort.ts"],"sourcesContent":["// Back-to-front order of the transparent meshes for the GPU backends:\n// transparent items are drawn without writing depth, so their triangles must\n// come farthest first to blend correctly where a surface folds over itself\n// or where several transparent surfaces / bar series overlap. Meshes are\n// made of quads (6 indices: two triangles sharing an edge, as built for\n// surface cells and bar faces); quads are sorted by the camera depth of\n// their center with a bucket sort (O(n)), and only again when the camera\n// moved. Several transparent meshes are merged into one item (opacity baked\n// into the vertex colors) so that their quads are sorted together; above\n// the sort budget, the meshes are drawn by decreasing depth of their center\n// with their own quads sorted. Canvas2D sorts every triangle of every item\n// itself (painter's algorithm).\n\nimport type { Frame3D, Item3D, MeshItem } from \"./render-types\";\nimport { VERTEX_STRIDE, writesDepth } from \"./render-types\";\n\n/** Largest number of transparent quads sorted: a 512 × 512 surface grid */\nexport const MAX_SORTED_QUADS = 1 << 18;\n\n/** Key of the merged transparent meshes */\nexport const MERGED_KEY = \"transparent\";\n\nconst BUCKETS = 1 << 16;\nconst FLOATS = VERTEX_STRIDE / 4;\n\n/**\n * Writes into `out` the quads of `indices` (6 indices each) ordered by\n * decreasing camera depth: view depth (clip w) in perspective, clip z in\n * orthographic projection. Equal depths keep their order.\n */\nexport const sortQuads = (\n indices: Uint32Array,\n vertices: Float32Array,\n viewProj: Float32Array,\n orthographic: boolean,\n out: Uint32Array,\n scratch: { keys: Float32Array; counts: Uint32Array },\n): void => {\n const quads = Math.floor(indices.length / 6);\n const { keys, counts } = scratch;\n // depth = row 4 (w) or row 3 (z) of the column-major matrix\n const row = orthographic ? 2 : 3;\n const mx = viewProj[row] ?? 0;\n const my = viewProj[row + 4] ?? 0;\n const mz = viewProj[row + 8] ?? 0;\n let min = Infinity;\n let max = -Infinity;\n for (let q = 0; q < quads; q++) {\n const o = q * 6;\n let x = 0;\n let y = 0;\n let z = 0;\n // the 4 corners: indices 0, 1, 2 and 5 of the quad\n for (let c = 0; c < 4; c++) {\n const v = (indices[o + (c === 3 ? 5 : c)] ?? 0) * FLOATS;\n x += vertices[v] ?? 0;\n y += vertices[v + 1] ?? 0;\n z += vertices[v + 2] ?? 0;\n }\n const depth = mx * x + my * y + mz * z;\n keys[q] = depth;\n if (depth < min) min = depth;\n if (depth > max) max = depth;\n }\n counts.fill(0);\n const scale = max > min ? (BUCKETS - 1) / (max - min) : 0;\n // bucket 0 = farthest (clamped: the keys are rounded to float32)\n for (let q = 0; q < quads; q++) {\n const b = Math.min(\n BUCKETS - 1,\n Math.max(0, Math.floor((max - (keys[q] ?? max)) * scale)),\n );\n keys[q] = b;\n counts[b] = (counts[b] ?? 0) + 1;\n }\n let sum = 0;\n for (let b = 0; b < BUCKETS; b++) {\n const c = counts[b] ?? 0;\n counts[b] = sum;\n sum += c;\n }\n for (let q = 0; q < quads; q++) {\n const b = keys[q] ?? 0;\n const at = (counts[b] ?? 0) * 6;\n counts[b] = (counts[b] ?? 0) + 1;\n const o = q * 6;\n for (let j = 0; j < 6; j++) out[at + j] = indices[o + j] ?? 0;\n }\n};\n\n/**\n * One transparent item made of several meshes: vertices concatenated (the\n * opacity of every mesh multiplies the alpha of its vertex colors), indices\n * shifted. Drawn with opacity 1, without writing depth.\n */\nexport const mergeMeshes = (\n meshes: readonly MeshItem[],\n key: string,\n version: number,\n): MeshItem => {\n let vertexCount = 0;\n let indexCount = 0;\n for (const m of meshes) {\n vertexCount += m.vertexCount;\n indexCount += m.indices.length;\n }\n const vertices = new ArrayBuffer(vertexCount * VERTEX_STRIDE);\n const bytes = new Uint8Array(vertices);\n const indices = new Uint32Array(indexCount);\n let base = 0;\n let at = 0;\n for (const m of meshes) {\n const length = Math.min(\n m.vertices.byteLength,\n m.vertexCount * VERTEX_STRIDE,\n );\n bytes.set(new Uint8Array(m.vertices, 0, length), base * VERTEX_STRIDE);\n const opacity = Math.max(0, Math.min(1, m.opacity));\n if (opacity < 1) {\n for (let v = 0; v < m.vertexCount; v++) {\n const a = (base + v) * VERTEX_STRIDE + 27;\n bytes[a] = Math.round((bytes[a] ?? 0) * opacity);\n }\n }\n const source = m.indices;\n for (let j = 0; j < source.length; j++)\n indices[at + j] = (source[j] ?? 0) + base;\n base += m.vertexCount;\n at += source.length;\n }\n return {\n kind: \"mesh\",\n key,\n version,\n opacity: 1,\n transparent: true,\n vertices,\n vertexCount,\n indices,\n };\n};\n\ninterface SortedMesh {\n version: number;\n source: Uint32Array;\n indices: Uint32Array;\n order: number;\n}\n\nconst sameMatrix = (a: Float32Array | null, b: Float32Array) => {\n if (!a) return false;\n for (let i = 0; i < 16; i++) if (a[i] !== b[i]) return false;\n return true;\n};\n\nconst isTransparentMesh = (item: Item3D): item is MeshItem =>\n item.kind === \"mesh\" && !writesDepth(item);\n\n/** Made of whole quads: its triangles can be sorted by pairs */\nconst isQuadMesh = (item: MeshItem) =>\n item.indices.length > 0 && item.indices.length % 6 === 0;\n\n/** Center of the bounding box of a mesh's vertices */\nconst meshCenter = (item: MeshItem): [number, number, number] => {\n const f = new Float32Array(\n item.vertices,\n 0,\n Math.min(item.vertices.byteLength / 4, item.vertexCount * FLOATS),\n );\n const min = [Infinity, Infinity, Infinity];\n const max = [-Infinity, -Infinity, -Infinity];\n for (let o = 0; o + 2 < f.length; o += FLOATS) {\n for (let k = 0; k < 3; k++) {\n const v = f[o + k] ?? 0;\n if (v < (min[k] ?? 0)) min[k] = v;\n if (v > (max[k] ?? 0)) max[k] = v;\n }\n }\n return [0, 1, 2].map((k) =>\n min[k]! <= max[k]! ? (min[k]! + max[k]!) / 2 : 0,\n ) as [number, number, number];\n};\n\n/**\n * Sorter of the transparent meshes: returns the items with the transparent\n * meshes merged into one item (`MERGED_KEY`) whose quads are in back-to-front\n * order, or — above `MAX_SORTED_QUADS` or for meshes that aren't made of\n * quads — the transparent meshes ordered by decreasing depth of their\n * center, each with its own quads sorted. `order` changes when only the\n * indices must be uploaded again.\n */\nexport const createDepthSorter = () => {\n const sorted = new Map<string, SortedMesh>();\n const centers = new Map<\n string,\n { version: number; center: [number, number, number] }\n >();\n let merged: { signature: string; item: MeshItem } | null = null;\n let mergedVersion = 0;\n let view: Float32Array | null = null;\n let orthographic = false;\n let order = 0;\n let scratch: { keys: Float32Array; counts: Uint32Array } | null = null;\n\n /** Sorts the quads of a mesh when stale or when the camera moved */\n const sortMesh = (\n item: MeshItem,\n frame: Frame3D,\n moved: boolean,\n seen: Set<string>,\n ): MeshItem => {\n const quads = item.indices.length / 6;\n if (!isQuadMesh(item) || quads < 2 || quads > MAX_SORTED_QUADS) return item;\n seen.add(item.key);\n let entry = sorted.get(item.key);\n const stale =\n !entry || entry.version !== item.version || entry.source !== item.indices;\n if (stale || moved) {\n if (!scratch || scratch.keys.length < quads)\n scratch = {\n keys: new Float32Array(Math.max(quads, 1024)),\n counts: new Uint32Array(BUCKETS),\n };\n const out =\n entry && !stale && entry.indices.length === item.indices.length\n ? entry.indices\n : new Uint32Array(item.indices.length);\n sortQuads(\n item.indices,\n new Float32Array(item.vertices),\n frame.viewProj,\n frame.orthographic,\n out,\n scratch,\n );\n entry = {\n version: item.version,\n source: item.indices,\n indices: out,\n order: ++order,\n };\n sorted.set(item.key, entry);\n }\n return { ...item, indices: entry!.indices, order: entry!.order };\n };\n\n /** Camera depth of the center of a mesh (larger: farther) */\n const centerDepth = (item: MeshItem, frame: Frame3D) => {\n let entry = centers.get(item.key);\n if (!entry || entry.version !== item.version) {\n entry = { version: item.version, center: meshCenter(item) };\n centers.set(item.key, entry);\n }\n const m = frame.viewProj;\n const row = frame.orthographic ? 2 : 3;\n const [x, y, z] = entry.center;\n return (\n (m[row] ?? 0) * x +\n (m[row + 4] ?? 0) * y +\n (m[row + 8] ?? 0) * z +\n (m[row + 12] ?? 0)\n );\n };\n\n return (items: readonly Item3D[], frame: Frame3D): readonly Item3D[] => {\n const transparent = items.filter(isTransparentMesh);\n if (transparent.length === 0) {\n sorted.clear();\n centers.clear();\n merged = null;\n return items;\n }\n const moved =\n !sameMatrix(view, frame.viewProj) || orthographic !== frame.orthographic;\n if (moved) {\n view = Float32Array.from(frame.viewProj);\n orthographic = frame.orthographic;\n }\n const seen = new Set<string>();\n let quads = 0;\n for (const m of transparent) quads += m.indices.length / 6;\n const result: Item3D[] = [];\n if (\n transparent.length >= 2 &&\n quads <= MAX_SORTED_QUADS &&\n transparent.every(isQuadMesh)\n ) {\n // one item: every transparent quad sorted together\n const signature = transparent\n .map((m) => `${m.key}@${m.version}@${m.opacity}`)\n .join(\"|\");\n if (!merged || merged.signature !== signature) {\n merged = {\n signature,\n item: mergeMeshes(transparent, MERGED_KEY, ++mergedVersion),\n };\n }\n const item = sortMesh(merged.item, frame, moved, seen);\n let placed = false;\n for (const it of items) {\n if (!isTransparentMesh(it)) result.push(it);\n else if (!placed) {\n result.push(item);\n placed = true;\n }\n }\n } else {\n merged = null;\n // farthest mesh first, its own quads sorted\n const ordered = transparent\n .map((m) => ({ m, depth: centerDepth(m, frame) }))\n .sort((a, b) => b.depth - a.depth)\n .map((e) => sortMesh(e.m, frame, moved, seen));\n let next = 0;\n for (const it of items)\n result.push(isTransparentMesh(it) ? ordered[next++]! : it);\n }\n for (const key of sorted.keys()) if (!seen.has(key)) sorted.delete(key);\n for (const key of centers.keys())\n if (!transparent.some((m) => m.key === key)) centers.delete(key);\n return result;\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Frame3D, Item3D, MeshItem } from './render-types.cjs';
|
|
2
|
+
/** Largest number of transparent quads sorted: a 512 × 512 surface grid */
|
|
3
|
+
export declare const MAX_SORTED_QUADS: number;
|
|
4
|
+
/** Key of the merged transparent meshes */
|
|
5
|
+
export declare const MERGED_KEY = "transparent";
|
|
6
|
+
/**
|
|
7
|
+
* Writes into `out` the quads of `indices` (6 indices each) ordered by
|
|
8
|
+
* decreasing camera depth: view depth (clip w) in perspective, clip z in
|
|
9
|
+
* orthographic projection. Equal depths keep their order.
|
|
10
|
+
*/
|
|
11
|
+
export declare const sortQuads: (indices: Uint32Array, vertices: Float32Array, viewProj: Float32Array, orthographic: boolean, out: Uint32Array, scratch: {
|
|
12
|
+
keys: Float32Array;
|
|
13
|
+
counts: Uint32Array;
|
|
14
|
+
}) => void;
|
|
15
|
+
/**
|
|
16
|
+
* One transparent item made of several meshes: vertices concatenated (the
|
|
17
|
+
* opacity of every mesh multiplies the alpha of its vertex colors), indices
|
|
18
|
+
* shifted. Drawn with opacity 1, without writing depth.
|
|
19
|
+
*/
|
|
20
|
+
export declare const mergeMeshes: (meshes: readonly MeshItem[], key: string, version: number) => MeshItem;
|
|
21
|
+
/**
|
|
22
|
+
* Sorter of the transparent meshes: returns the items with the transparent
|
|
23
|
+
* meshes merged into one item (`MERGED_KEY`) whose quads are in back-to-front
|
|
24
|
+
* order, or — above `MAX_SORTED_QUADS` or for meshes that aren't made of
|
|
25
|
+
* quads — the transparent meshes ordered by decreasing depth of their
|
|
26
|
+
* center, each with its own quads sorted. `order` changes when only the
|
|
27
|
+
* indices must be uploaded again.
|
|
28
|
+
*/
|
|
29
|
+
export declare const createDepthSorter: () => (items: readonly Item3D[], frame: Frame3D) => readonly Item3D[];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Frame3D, Item3D, MeshItem } from './render-types.js';
|
|
2
|
+
/** Largest number of transparent quads sorted: a 512 × 512 surface grid */
|
|
3
|
+
export declare const MAX_SORTED_QUADS: number;
|
|
4
|
+
/** Key of the merged transparent meshes */
|
|
5
|
+
export declare const MERGED_KEY = "transparent";
|
|
6
|
+
/**
|
|
7
|
+
* Writes into `out` the quads of `indices` (6 indices each) ordered by
|
|
8
|
+
* decreasing camera depth: view depth (clip w) in perspective, clip z in
|
|
9
|
+
* orthographic projection. Equal depths keep their order.
|
|
10
|
+
*/
|
|
11
|
+
export declare const sortQuads: (indices: Uint32Array, vertices: Float32Array, viewProj: Float32Array, orthographic: boolean, out: Uint32Array, scratch: {
|
|
12
|
+
keys: Float32Array;
|
|
13
|
+
counts: Uint32Array;
|
|
14
|
+
}) => void;
|
|
15
|
+
/**
|
|
16
|
+
* One transparent item made of several meshes: vertices concatenated (the
|
|
17
|
+
* opacity of every mesh multiplies the alpha of its vertex colors), indices
|
|
18
|
+
* shifted. Drawn with opacity 1, without writing depth.
|
|
19
|
+
*/
|
|
20
|
+
export declare const mergeMeshes: (meshes: readonly MeshItem[], key: string, version: number) => MeshItem;
|
|
21
|
+
/**
|
|
22
|
+
* Sorter of the transparent meshes: returns the items with the transparent
|
|
23
|
+
* meshes merged into one item (`MERGED_KEY`) whose quads are in back-to-front
|
|
24
|
+
* order, or — above `MAX_SORTED_QUADS` or for meshes that aren't made of
|
|
25
|
+
* quads — the transparent meshes ordered by decreasing depth of their
|
|
26
|
+
* center, each with its own quads sorted. `order` changes when only the
|
|
27
|
+
* indices must be uploaded again.
|
|
28
|
+
*/
|
|
29
|
+
export declare const createDepthSorter: () => (items: readonly Item3D[], frame: Frame3D) => readonly Item3D[];
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { writesDepth as e } from "./render-types.js";
|
|
2
|
+
//#region src/engine/three-d/sort.ts
|
|
3
|
+
var t = 1 << 18, n = "transparent", r = 65536, i = 7, a = (e, t, n, a, o, s) => {
|
|
4
|
+
let c = Math.floor(e.length / 6), { keys: l, counts: u } = s, d = a ? 2 : 3, f = n[d] ?? 0, p = n[d + 4] ?? 0, m = n[d + 8] ?? 0, h = Infinity, g = -Infinity;
|
|
5
|
+
for (let n = 0; n < c; n++) {
|
|
6
|
+
let r = n * 6, a = 0, o = 0, s = 0;
|
|
7
|
+
for (let n = 0; n < 4; n++) {
|
|
8
|
+
let c = (e[r + (n === 3 ? 5 : n)] ?? 0) * i;
|
|
9
|
+
a += t[c] ?? 0, o += t[c + 1] ?? 0, s += t[c + 2] ?? 0;
|
|
10
|
+
}
|
|
11
|
+
let c = f * a + p * o + m * s;
|
|
12
|
+
l[n] = c, c < h && (h = c), c > g && (g = c);
|
|
13
|
+
}
|
|
14
|
+
u.fill(0);
|
|
15
|
+
let _ = g > h ? 65535 / (g - h) : 0;
|
|
16
|
+
for (let e = 0; e < c; e++) {
|
|
17
|
+
let t = Math.min(65535, Math.max(0, Math.floor((g - (l[e] ?? g)) * _)));
|
|
18
|
+
l[e] = t, u[t] = (u[t] ?? 0) + 1;
|
|
19
|
+
}
|
|
20
|
+
let v = 0;
|
|
21
|
+
for (let e = 0; e < r; e++) {
|
|
22
|
+
let t = u[e] ?? 0;
|
|
23
|
+
u[e] = v, v += t;
|
|
24
|
+
}
|
|
25
|
+
for (let t = 0; t < c; t++) {
|
|
26
|
+
let n = l[t] ?? 0, r = (u[n] ?? 0) * 6;
|
|
27
|
+
u[n] = (u[n] ?? 0) + 1;
|
|
28
|
+
let i = t * 6;
|
|
29
|
+
for (let t = 0; t < 6; t++) o[r + t] = e[i + t] ?? 0;
|
|
30
|
+
}
|
|
31
|
+
}, o = (e, t, n) => {
|
|
32
|
+
let r = 0, i = 0;
|
|
33
|
+
for (let t of e) r += t.vertexCount, i += t.indices.length;
|
|
34
|
+
let a = /* @__PURE__ */ new ArrayBuffer(r * 28), o = new Uint8Array(a), s = new Uint32Array(i), c = 0, l = 0;
|
|
35
|
+
for (let t of e) {
|
|
36
|
+
let e = Math.min(t.vertices.byteLength, t.vertexCount * 28);
|
|
37
|
+
o.set(new Uint8Array(t.vertices, 0, e), c * 28);
|
|
38
|
+
let n = Math.max(0, Math.min(1, t.opacity));
|
|
39
|
+
if (n < 1) for (let e = 0; e < t.vertexCount; e++) {
|
|
40
|
+
let t = (c + e) * 28 + 27;
|
|
41
|
+
o[t] = Math.round((o[t] ?? 0) * n);
|
|
42
|
+
}
|
|
43
|
+
let r = t.indices;
|
|
44
|
+
for (let e = 0; e < r.length; e++) s[l + e] = (r[e] ?? 0) + c;
|
|
45
|
+
c += t.vertexCount, l += r.length;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
kind: "mesh",
|
|
49
|
+
key: t,
|
|
50
|
+
version: n,
|
|
51
|
+
opacity: 1,
|
|
52
|
+
transparent: !0,
|
|
53
|
+
vertices: a,
|
|
54
|
+
vertexCount: r,
|
|
55
|
+
indices: s
|
|
56
|
+
};
|
|
57
|
+
}, s = (e, t) => {
|
|
58
|
+
if (!e) return !1;
|
|
59
|
+
for (let n = 0; n < 16; n++) if (e[n] !== t[n]) return !1;
|
|
60
|
+
return !0;
|
|
61
|
+
}, c = (t) => t.kind === "mesh" && !e(t), l = (e) => e.indices.length > 0 && e.indices.length % 6 == 0, u = (e) => {
|
|
62
|
+
let t = new Float32Array(e.vertices, 0, Math.min(e.vertices.byteLength / 4, e.vertexCount * i)), n = [
|
|
63
|
+
Infinity,
|
|
64
|
+
Infinity,
|
|
65
|
+
Infinity
|
|
66
|
+
], r = [
|
|
67
|
+
-Infinity,
|
|
68
|
+
-Infinity,
|
|
69
|
+
-Infinity
|
|
70
|
+
];
|
|
71
|
+
for (let e = 0; e + 2 < t.length; e += i) for (let i = 0; i < 3; i++) {
|
|
72
|
+
let a = t[e + i] ?? 0;
|
|
73
|
+
a < (n[i] ?? 0) && (n[i] = a), a > (r[i] ?? 0) && (r[i] = a);
|
|
74
|
+
}
|
|
75
|
+
return [
|
|
76
|
+
0,
|
|
77
|
+
1,
|
|
78
|
+
2
|
|
79
|
+
].map((e) => n[e] <= r[e] ? (n[e] + r[e]) / 2 : 0);
|
|
80
|
+
}, d = () => {
|
|
81
|
+
let e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), i = null, d = 0, f = null, p = !1, m = 0, h = null, g = (t, n, i, o) => {
|
|
82
|
+
let s = t.indices.length / 6;
|
|
83
|
+
if (!l(t) || s < 2 || s > 262144) return t;
|
|
84
|
+
o.add(t.key);
|
|
85
|
+
let c = e.get(t.key), u = !c || c.version !== t.version || c.source !== t.indices;
|
|
86
|
+
if (u || i) {
|
|
87
|
+
(!h || h.keys.length < s) && (h = {
|
|
88
|
+
keys: new Float32Array(Math.max(s, 1024)),
|
|
89
|
+
counts: new Uint32Array(r)
|
|
90
|
+
});
|
|
91
|
+
let i = c && !u && c.indices.length === t.indices.length ? c.indices : new Uint32Array(t.indices.length);
|
|
92
|
+
a(t.indices, new Float32Array(t.vertices), n.viewProj, n.orthographic, i, h), c = {
|
|
93
|
+
version: t.version,
|
|
94
|
+
source: t.indices,
|
|
95
|
+
indices: i,
|
|
96
|
+
order: ++m
|
|
97
|
+
}, e.set(t.key, c);
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
...t,
|
|
101
|
+
indices: c.indices,
|
|
102
|
+
order: c.order
|
|
103
|
+
};
|
|
104
|
+
}, _ = (e, n) => {
|
|
105
|
+
let r = t.get(e.key);
|
|
106
|
+
(!r || r.version !== e.version) && (r = {
|
|
107
|
+
version: e.version,
|
|
108
|
+
center: u(e)
|
|
109
|
+
}, t.set(e.key, r));
|
|
110
|
+
let i = n.viewProj, a = n.orthographic ? 2 : 3, [o, s, c] = r.center;
|
|
111
|
+
return (i[a] ?? 0) * o + (i[a + 4] ?? 0) * s + (i[a + 8] ?? 0) * c + (i[a + 12] ?? 0);
|
|
112
|
+
};
|
|
113
|
+
return (r, a) => {
|
|
114
|
+
let u = r.filter(c);
|
|
115
|
+
if (u.length === 0) return e.clear(), t.clear(), i = null, r;
|
|
116
|
+
let m = !s(f, a.viewProj) || p !== a.orthographic;
|
|
117
|
+
m && (f = Float32Array.from(a.viewProj), p = a.orthographic);
|
|
118
|
+
let h = /* @__PURE__ */ new Set(), v = 0;
|
|
119
|
+
for (let e of u) v += e.indices.length / 6;
|
|
120
|
+
let y = [];
|
|
121
|
+
if (u.length >= 2 && v <= 262144 && u.every(l)) {
|
|
122
|
+
let e = u.map((e) => `${e.key}@${e.version}@${e.opacity}`).join("|");
|
|
123
|
+
(!i || i.signature !== e) && (i = {
|
|
124
|
+
signature: e,
|
|
125
|
+
item: o(u, n, ++d)
|
|
126
|
+
});
|
|
127
|
+
let t = g(i.item, a, m, h), s = !1;
|
|
128
|
+
for (let e of r) c(e) ? s || (y.push(t), s = !0) : y.push(e);
|
|
129
|
+
} else {
|
|
130
|
+
i = null;
|
|
131
|
+
let e = u.map((e) => ({
|
|
132
|
+
m: e,
|
|
133
|
+
depth: _(e, a)
|
|
134
|
+
})).sort((e, t) => t.depth - e.depth).map((e) => g(e.m, a, m, h)), t = 0;
|
|
135
|
+
for (let n of r) y.push(c(n) ? e[t++] : n);
|
|
136
|
+
}
|
|
137
|
+
for (let t of e.keys()) h.has(t) || e.delete(t);
|
|
138
|
+
for (let e of t.keys()) u.some((t) => t.key === e) || t.delete(e);
|
|
139
|
+
return y;
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
//#endregion
|
|
143
|
+
export { t as MAX_SORTED_QUADS, n as MERGED_KEY, d as createDepthSorter, o as mergeMeshes, a as sortQuads };
|
|
144
|
+
|
|
145
|
+
//# sourceMappingURL=sort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.js","names":["MAX_SORTED_QUADS","MERGED_KEY","BUCKETS","FLOATS","sortQuads","quads","indices","scratch","row","orthographic","mx","viewProj","my","mz","min","max","q","o","x","y","z","c","v","vertices","depth","scale","b","keys","counts","sum","at","j","mergeMeshes","vertexCount","indexCount","m","meshes","bytes","base","length","opacity","a","source","sameMatrix","i","isTransparentMesh","item","writesDepth","isQuadMesh","meshCenter","f","k","createDepthSorter","sorted","centers","merged","mergedVersion","view","order","sortMesh","entry","stale","moved","out","frame","centerDepth","transparent","items","seen","result","signature","placed","it","ordered","next","key"],"sources":["../../../../../charts/src/engine/three-d/sort.ts"],"sourcesContent":["// Back-to-front order of the transparent meshes for the GPU backends:\n// transparent items are drawn without writing depth, so their triangles must\n// come farthest first to blend correctly where a surface folds over itself\n// or where several transparent surfaces / bar series overlap. Meshes are\n// made of quads (6 indices: two triangles sharing an edge, as built for\n// surface cells and bar faces); quads are sorted by the camera depth of\n// their center with a bucket sort (O(n)), and only again when the camera\n// moved. Several transparent meshes are merged into one item (opacity baked\n// into the vertex colors) so that their quads are sorted together; above\n// the sort budget, the meshes are drawn by decreasing depth of their center\n// with their own quads sorted. Canvas2D sorts every triangle of every item\n// itself (painter's algorithm).\n\nimport type { Frame3D, Item3D, MeshItem } from \"./render-types\";\nimport { VERTEX_STRIDE, writesDepth } from \"./render-types\";\n\n/** Largest number of transparent quads sorted: a 512 × 512 surface grid */\nexport const MAX_SORTED_QUADS = 1 << 18;\n\n/** Key of the merged transparent meshes */\nexport const MERGED_KEY = \"transparent\";\n\nconst BUCKETS = 1 << 16;\nconst FLOATS = VERTEX_STRIDE / 4;\n\n/**\n * Writes into `out` the quads of `indices` (6 indices each) ordered by\n * decreasing camera depth: view depth (clip w) in perspective, clip z in\n * orthographic projection. Equal depths keep their order.\n */\nexport const sortQuads = (\n indices: Uint32Array,\n vertices: Float32Array,\n viewProj: Float32Array,\n orthographic: boolean,\n out: Uint32Array,\n scratch: { keys: Float32Array; counts: Uint32Array },\n): void => {\n const quads = Math.floor(indices.length / 6);\n const { keys, counts } = scratch;\n // depth = row 4 (w) or row 3 (z) of the column-major matrix\n const row = orthographic ? 2 : 3;\n const mx = viewProj[row] ?? 0;\n const my = viewProj[row + 4] ?? 0;\n const mz = viewProj[row + 8] ?? 0;\n let min = Infinity;\n let max = -Infinity;\n for (let q = 0; q < quads; q++) {\n const o = q * 6;\n let x = 0;\n let y = 0;\n let z = 0;\n // the 4 corners: indices 0, 1, 2 and 5 of the quad\n for (let c = 0; c < 4; c++) {\n const v = (indices[o + (c === 3 ? 5 : c)] ?? 0) * FLOATS;\n x += vertices[v] ?? 0;\n y += vertices[v + 1] ?? 0;\n z += vertices[v + 2] ?? 0;\n }\n const depth = mx * x + my * y + mz * z;\n keys[q] = depth;\n if (depth < min) min = depth;\n if (depth > max) max = depth;\n }\n counts.fill(0);\n const scale = max > min ? (BUCKETS - 1) / (max - min) : 0;\n // bucket 0 = farthest (clamped: the keys are rounded to float32)\n for (let q = 0; q < quads; q++) {\n const b = Math.min(\n BUCKETS - 1,\n Math.max(0, Math.floor((max - (keys[q] ?? max)) * scale)),\n );\n keys[q] = b;\n counts[b] = (counts[b] ?? 0) + 1;\n }\n let sum = 0;\n for (let b = 0; b < BUCKETS; b++) {\n const c = counts[b] ?? 0;\n counts[b] = sum;\n sum += c;\n }\n for (let q = 0; q < quads; q++) {\n const b = keys[q] ?? 0;\n const at = (counts[b] ?? 0) * 6;\n counts[b] = (counts[b] ?? 0) + 1;\n const o = q * 6;\n for (let j = 0; j < 6; j++) out[at + j] = indices[o + j] ?? 0;\n }\n};\n\n/**\n * One transparent item made of several meshes: vertices concatenated (the\n * opacity of every mesh multiplies the alpha of its vertex colors), indices\n * shifted. Drawn with opacity 1, without writing depth.\n */\nexport const mergeMeshes = (\n meshes: readonly MeshItem[],\n key: string,\n version: number,\n): MeshItem => {\n let vertexCount = 0;\n let indexCount = 0;\n for (const m of meshes) {\n vertexCount += m.vertexCount;\n indexCount += m.indices.length;\n }\n const vertices = new ArrayBuffer(vertexCount * VERTEX_STRIDE);\n const bytes = new Uint8Array(vertices);\n const indices = new Uint32Array(indexCount);\n let base = 0;\n let at = 0;\n for (const m of meshes) {\n const length = Math.min(\n m.vertices.byteLength,\n m.vertexCount * VERTEX_STRIDE,\n );\n bytes.set(new Uint8Array(m.vertices, 0, length), base * VERTEX_STRIDE);\n const opacity = Math.max(0, Math.min(1, m.opacity));\n if (opacity < 1) {\n for (let v = 0; v < m.vertexCount; v++) {\n const a = (base + v) * VERTEX_STRIDE + 27;\n bytes[a] = Math.round((bytes[a] ?? 0) * opacity);\n }\n }\n const source = m.indices;\n for (let j = 0; j < source.length; j++)\n indices[at + j] = (source[j] ?? 0) + base;\n base += m.vertexCount;\n at += source.length;\n }\n return {\n kind: \"mesh\",\n key,\n version,\n opacity: 1,\n transparent: true,\n vertices,\n vertexCount,\n indices,\n };\n};\n\ninterface SortedMesh {\n version: number;\n source: Uint32Array;\n indices: Uint32Array;\n order: number;\n}\n\nconst sameMatrix = (a: Float32Array | null, b: Float32Array) => {\n if (!a) return false;\n for (let i = 0; i < 16; i++) if (a[i] !== b[i]) return false;\n return true;\n};\n\nconst isTransparentMesh = (item: Item3D): item is MeshItem =>\n item.kind === \"mesh\" && !writesDepth(item);\n\n/** Made of whole quads: its triangles can be sorted by pairs */\nconst isQuadMesh = (item: MeshItem) =>\n item.indices.length > 0 && item.indices.length % 6 === 0;\n\n/** Center of the bounding box of a mesh's vertices */\nconst meshCenter = (item: MeshItem): [number, number, number] => {\n const f = new Float32Array(\n item.vertices,\n 0,\n Math.min(item.vertices.byteLength / 4, item.vertexCount * FLOATS),\n );\n const min = [Infinity, Infinity, Infinity];\n const max = [-Infinity, -Infinity, -Infinity];\n for (let o = 0; o + 2 < f.length; o += FLOATS) {\n for (let k = 0; k < 3; k++) {\n const v = f[o + k] ?? 0;\n if (v < (min[k] ?? 0)) min[k] = v;\n if (v > (max[k] ?? 0)) max[k] = v;\n }\n }\n return [0, 1, 2].map((k) =>\n min[k]! <= max[k]! ? (min[k]! + max[k]!) / 2 : 0,\n ) as [number, number, number];\n};\n\n/**\n * Sorter of the transparent meshes: returns the items with the transparent\n * meshes merged into one item (`MERGED_KEY`) whose quads are in back-to-front\n * order, or — above `MAX_SORTED_QUADS` or for meshes that aren't made of\n * quads — the transparent meshes ordered by decreasing depth of their\n * center, each with its own quads sorted. `order` changes when only the\n * indices must be uploaded again.\n */\nexport const createDepthSorter = () => {\n const sorted = new Map<string, SortedMesh>();\n const centers = new Map<\n string,\n { version: number; center: [number, number, number] }\n >();\n let merged: { signature: string; item: MeshItem } | null = null;\n let mergedVersion = 0;\n let view: Float32Array | null = null;\n let orthographic = false;\n let order = 0;\n let scratch: { keys: Float32Array; counts: Uint32Array } | null = null;\n\n /** Sorts the quads of a mesh when stale or when the camera moved */\n const sortMesh = (\n item: MeshItem,\n frame: Frame3D,\n moved: boolean,\n seen: Set<string>,\n ): MeshItem => {\n const quads = item.indices.length / 6;\n if (!isQuadMesh(item) || quads < 2 || quads > MAX_SORTED_QUADS) return item;\n seen.add(item.key);\n let entry = sorted.get(item.key);\n const stale =\n !entry || entry.version !== item.version || entry.source !== item.indices;\n if (stale || moved) {\n if (!scratch || scratch.keys.length < quads)\n scratch = {\n keys: new Float32Array(Math.max(quads, 1024)),\n counts: new Uint32Array(BUCKETS),\n };\n const out =\n entry && !stale && entry.indices.length === item.indices.length\n ? entry.indices\n : new Uint32Array(item.indices.length);\n sortQuads(\n item.indices,\n new Float32Array(item.vertices),\n frame.viewProj,\n frame.orthographic,\n out,\n scratch,\n );\n entry = {\n version: item.version,\n source: item.indices,\n indices: out,\n order: ++order,\n };\n sorted.set(item.key, entry);\n }\n return { ...item, indices: entry!.indices, order: entry!.order };\n };\n\n /** Camera depth of the center of a mesh (larger: farther) */\n const centerDepth = (item: MeshItem, frame: Frame3D) => {\n let entry = centers.get(item.key);\n if (!entry || entry.version !== item.version) {\n entry = { version: item.version, center: meshCenter(item) };\n centers.set(item.key, entry);\n }\n const m = frame.viewProj;\n const row = frame.orthographic ? 2 : 3;\n const [x, y, z] = entry.center;\n return (\n (m[row] ?? 0) * x +\n (m[row + 4] ?? 0) * y +\n (m[row + 8] ?? 0) * z +\n (m[row + 12] ?? 0)\n );\n };\n\n return (items: readonly Item3D[], frame: Frame3D): readonly Item3D[] => {\n const transparent = items.filter(isTransparentMesh);\n if (transparent.length === 0) {\n sorted.clear();\n centers.clear();\n merged = null;\n return items;\n }\n const moved =\n !sameMatrix(view, frame.viewProj) || orthographic !== frame.orthographic;\n if (moved) {\n view = Float32Array.from(frame.viewProj);\n orthographic = frame.orthographic;\n }\n const seen = new Set<string>();\n let quads = 0;\n for (const m of transparent) quads += m.indices.length / 6;\n const result: Item3D[] = [];\n if (\n transparent.length >= 2 &&\n quads <= MAX_SORTED_QUADS &&\n transparent.every(isQuadMesh)\n ) {\n // one item: every transparent quad sorted together\n const signature = transparent\n .map((m) => `${m.key}@${m.version}@${m.opacity}`)\n .join(\"|\");\n if (!merged || merged.signature !== signature) {\n merged = {\n signature,\n item: mergeMeshes(transparent, MERGED_KEY, ++mergedVersion),\n };\n }\n const item = sortMesh(merged.item, frame, moved, seen);\n let placed = false;\n for (const it of items) {\n if (!isTransparentMesh(it)) result.push(it);\n else if (!placed) {\n result.push(item);\n placed = true;\n }\n }\n } else {\n merged = null;\n // farthest mesh first, its own quads sorted\n const ordered = transparent\n .map((m) => ({ m, depth: centerDepth(m, frame) }))\n .sort((a, b) => b.depth - a.depth)\n .map((e) => sortMesh(e.m, frame, moved, seen));\n let next = 0;\n for (const it of items)\n result.push(isTransparentMesh(it) ? ordered[next++]! : it);\n }\n for (const key of sorted.keys()) if (!seen.has(key)) sorted.delete(key);\n for (const key of centers.keys())\n if (!transparent.some((m) => m.key === key)) centers.delete(key);\n return result;\n };\n};\n"],"mappings":"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"}
|