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,10 @@
|
|
|
1
|
+
import { RendererLostHandler } from '../renderers/types.js';
|
|
2
|
+
import { Renderer3D } from './render-types.js';
|
|
3
|
+
type Gl = WebGLRenderingContext | WebGL2RenderingContext;
|
|
4
|
+
/** Software rasterizers behind a WebGL context */
|
|
5
|
+
export declare const SOFTWARE_RENDERER: RegExp;
|
|
6
|
+
export declare const isSoftwareRenderer: (gl: Gl) => boolean;
|
|
7
|
+
export declare const createWebGl3D: (canvas: HTMLCanvasElement, version: 1 | 2, onLost: RendererLostHandler,
|
|
8
|
+
/** Refuses software rendering: the decimating Canvas2D backend is faster there */
|
|
9
|
+
requireHardware?: boolean) => Renderer3D | null;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { drawOrder as e, writesDepth as t } from "./render-types.js";
|
|
2
|
+
import { GLSL_ATTRIBUTES as n, glslPrograms as r, itemUniforms as i } from "./shaders.js";
|
|
3
|
+
//#region src/engine/three-d/webgl.ts
|
|
4
|
+
var a = /swiftshader|llvmpipe|softpipe|software|basic render driver|microsoft basic/i, o = (e) => {
|
|
5
|
+
let t = e.getExtension("WEBGL_debug_renderer_info"), n = t ? e.getParameter(t.UNMASKED_RENDERER_WEBGL) : e.getParameter(e.RENDERER);
|
|
6
|
+
return a.test(String(n ?? ""));
|
|
7
|
+
}, s = [
|
|
8
|
+
"u_viewProj",
|
|
9
|
+
"u_viewport",
|
|
10
|
+
"u_eye",
|
|
11
|
+
"u_light",
|
|
12
|
+
"u_material",
|
|
13
|
+
"u_params",
|
|
14
|
+
"u_fog"
|
|
15
|
+
], c = (e, t, n) => {
|
|
16
|
+
let r = (t, n) => {
|
|
17
|
+
let r = e.createShader(t);
|
|
18
|
+
return r ? (e.shaderSource(r, n), e.compileShader(r), e.getShaderParameter(r, e.COMPILE_STATUS) ? r : (e.deleteShader(r), null)) : null;
|
|
19
|
+
}, i = r(e.VERTEX_SHADER, t.vertex), a = r(e.FRAGMENT_SHADER, t.fragment), o = e.createProgram();
|
|
20
|
+
if (!i || !a || !o) return null;
|
|
21
|
+
if (e.attachShader(o, i), e.attachShader(o, a), n.forEach((t, n) => e.bindAttribLocation(o, n, t)), e.linkProgram(o), e.deleteShader(i), e.deleteShader(a), !e.getProgramParameter(o, e.LINK_STATUS)) return e.deleteProgram(o), null;
|
|
22
|
+
let c = {};
|
|
23
|
+
for (let t of s) c[t] = e.getUniformLocation(o, t);
|
|
24
|
+
return {
|
|
25
|
+
program: o,
|
|
26
|
+
uniforms: c
|
|
27
|
+
};
|
|
28
|
+
}, l = new Float32Array([
|
|
29
|
+
0,
|
|
30
|
+
0,
|
|
31
|
+
1,
|
|
32
|
+
0,
|
|
33
|
+
0,
|
|
34
|
+
1,
|
|
35
|
+
1,
|
|
36
|
+
1
|
|
37
|
+
]), u = 4, d = (a, s, d, f = !1) => {
|
|
38
|
+
let p = {
|
|
39
|
+
alpha: !0,
|
|
40
|
+
premultipliedAlpha: !0,
|
|
41
|
+
antialias: !0,
|
|
42
|
+
depth: !0,
|
|
43
|
+
stencil: !1,
|
|
44
|
+
preserveDrawingBuffer: !1,
|
|
45
|
+
failIfMajorPerformanceCaveat: f
|
|
46
|
+
}, m = a.getContext(s === 2 ? "webgl2" : "webgl", p);
|
|
47
|
+
if (!m) return null;
|
|
48
|
+
let h = () => m.getExtension("WEBGL_lose_context")?.loseContext(), g = s === 2 ? m : null, _ = g ? null : m.getExtension("ANGLE_instanced_arrays"), v = g ? !0 : !!m.getExtension("OES_element_index_uint");
|
|
49
|
+
if (!g && (!_ || !v) || f && o(m)) return h(), null;
|
|
50
|
+
let y = (e, t) => {
|
|
51
|
+
g ? g.vertexAttribDivisor(e, t) : _?.vertexAttribDivisorANGLE(e, t);
|
|
52
|
+
}, b = (e) => {
|
|
53
|
+
g ? g.drawArraysInstanced(m.TRIANGLE_STRIP, 0, 4, e) : _?.drawArraysInstancedANGLE(m.TRIANGLE_STRIP, 0, 4, e);
|
|
54
|
+
}, x = r(s), S = c(m, x.points, n.points), C = c(m, x.mesh, n.mesh), w = c(m, x.lines, n.lines), T = m.createBuffer();
|
|
55
|
+
if (!S || !C || !w || !T) return h(), null;
|
|
56
|
+
let E = {
|
|
57
|
+
points: S,
|
|
58
|
+
mesh: C,
|
|
59
|
+
lines: w
|
|
60
|
+
};
|
|
61
|
+
m.bindBuffer(m.ARRAY_BUFFER, T), m.bufferData(m.ARRAY_BUFFER, l, m.STATIC_DRAW);
|
|
62
|
+
let D = !1, O = (e) => {
|
|
63
|
+
e.preventDefault(), D = !0, d();
|
|
64
|
+
};
|
|
65
|
+
a.addEventListener("webglcontextlost", O);
|
|
66
|
+
let k = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Float32Array(40), j = (e, t, n, r, i, a) => {
|
|
67
|
+
m.enableVertexAttribArray(e), m.vertexAttribPointer(e, t, n, n === m.UNSIGNED_BYTE, r, i), y(e, +!!a);
|
|
68
|
+
}, M = (e, t) => {
|
|
69
|
+
let n = m.FLOAT, r = m.UNSIGNED_BYTE, i;
|
|
70
|
+
e.kind === "mesh" ? (m.bindBuffer(m.ARRAY_BUFFER, t.vertex), j(0, 3, n, 28, 0, !1), j(1, 3, n, 28, 12, !1), j(2, 4, r, 28, 24, !1), i = 3) : (m.bindBuffer(m.ARRAY_BUFFER, T), j(0, 2, n, 0, 0, !1), m.bindBuffer(m.ARRAY_BUFFER, t.vertex), e.kind === "points" ? (j(1, 3, n, 20, 0, !0), j(2, 1, n, 20, 12, !0), j(3, 4, r, 20, 16, !0)) : (j(1, 3, n, 28, 0, !0), j(2, 3, n, 28, 12, !0), j(3, 4, r, 28, 24, !0)), i = 4);
|
|
71
|
+
for (let e = i; e < u; e++) m.disableVertexAttribArray(e), y(e, 0);
|
|
72
|
+
}, N = (e) => {
|
|
73
|
+
let t = k.get(e.key);
|
|
74
|
+
if (t && t.version === e.version && t.kind === e.kind) return e.kind === "mesh" && t.index && (e.order ?? 0) !== t.order && (m.bindBuffer(m.ELEMENT_ARRAY_BUFFER, t.index), m.bufferSubData(m.ELEMENT_ARRAY_BUFFER, 0, e.indices), t.order = e.order ?? 0), t;
|
|
75
|
+
t && (m.deleteBuffer(t.vertex), t.index && m.deleteBuffer(t.index), k.delete(e.key));
|
|
76
|
+
let n = m.createBuffer();
|
|
77
|
+
if (!n) return null;
|
|
78
|
+
m.bindBuffer(m.ARRAY_BUFFER, n), m.bufferData(m.ARRAY_BUFFER, e.kind === "mesh" ? e.vertices : e.data, m.STATIC_DRAW);
|
|
79
|
+
let r = null;
|
|
80
|
+
if (e.kind === "mesh") {
|
|
81
|
+
if (r = m.createBuffer(), !r) return m.deleteBuffer(n), null;
|
|
82
|
+
m.bindBuffer(m.ELEMENT_ARRAY_BUFFER, r), m.bufferData(m.ELEMENT_ARRAY_BUFFER, e.indices, e.order === void 0 ? m.STATIC_DRAW : m.DYNAMIC_DRAW);
|
|
83
|
+
}
|
|
84
|
+
let i = {
|
|
85
|
+
version: e.version,
|
|
86
|
+
kind: e.kind,
|
|
87
|
+
vertex: n,
|
|
88
|
+
index: r,
|
|
89
|
+
order: e.kind === "mesh" ? e.order ?? 0 : 0
|
|
90
|
+
};
|
|
91
|
+
return k.set(e.key, i), i;
|
|
92
|
+
};
|
|
93
|
+
return {
|
|
94
|
+
kind: s === 2 ? "webgl2" : "webgl",
|
|
95
|
+
canvas: a,
|
|
96
|
+
resize(e, t) {
|
|
97
|
+
a.width = Math.max(1, e), a.height = Math.max(1, t);
|
|
98
|
+
},
|
|
99
|
+
render(n, r) {
|
|
100
|
+
if (D || m.isContextLost()) return;
|
|
101
|
+
m.viewport(0, 0, a.width, a.height), m.clearColor(0, 0, 0, 0), m.clearDepth(1), m.depthMask(!0), m.clear(m.COLOR_BUFFER_BIT | m.DEPTH_BUFFER_BIT), m.enable(m.BLEND), m.blendFunc(m.ONE, m.ONE_MINUS_SRC_ALPHA), m.enable(m.DEPTH_TEST), m.depthFunc(m.LEQUAL), m.disable(m.CULL_FACE);
|
|
102
|
+
let o = /* @__PURE__ */ new Set(), s = !1;
|
|
103
|
+
for (let a of e(n)) {
|
|
104
|
+
o.add(a.key);
|
|
105
|
+
let e = a.kind === "mesh" ? a.indices.length : a.count;
|
|
106
|
+
if (e <= 0) continue;
|
|
107
|
+
let n = N(a);
|
|
108
|
+
if (!n) continue;
|
|
109
|
+
let c = E[a.kind];
|
|
110
|
+
m.useProgram(c.program);
|
|
111
|
+
let l = i(a, r, A), u = c.uniforms;
|
|
112
|
+
m.uniformMatrix4fv(u.u_viewProj, !1, l.subarray(0, 16)), m.uniform4fv(u.u_viewport, l.subarray(16, 20)), m.uniform4fv(u.u_eye, l.subarray(20, 24)), m.uniform4fv(u.u_light, l.subarray(24, 28)), m.uniform4fv(u.u_material, l.subarray(28, 32)), m.uniform4fv(u.u_params, l.subarray(32, 36)), m.uniform4fv(u.u_fog, l.subarray(36, 40)), m.depthMask(t(a));
|
|
113
|
+
let d = a.kind === "points" && !!a.additive;
|
|
114
|
+
d !== s && (d ? m.blendFuncSeparate(m.ONE, m.ONE, m.ONE, m.ONE_MINUS_SRC_ALPHA) : m.blendFunc(m.ONE, m.ONE_MINUS_SRC_ALPHA), s = d), M(a, n), a.kind === "mesh" ? (m.bindBuffer(m.ELEMENT_ARRAY_BUFFER, n.index), m.drawElements(m.TRIANGLES, e, m.UNSIGNED_INT, 0)) : b(e);
|
|
115
|
+
}
|
|
116
|
+
m.depthMask(!0), s && m.blendFunc(m.ONE, m.ONE_MINUS_SRC_ALPHA);
|
|
117
|
+
for (let [e, t] of k) o.has(e) || (m.deleteBuffer(t.vertex), t.index && m.deleteBuffer(t.index), k.delete(e));
|
|
118
|
+
},
|
|
119
|
+
destroy() {
|
|
120
|
+
if (a.removeEventListener("webglcontextlost", O), !m.isContextLost()) {
|
|
121
|
+
for (let e of k.values()) m.deleteBuffer(e.vertex), e.index && m.deleteBuffer(e.index);
|
|
122
|
+
for (let e of Object.values(E)) m.deleteProgram(e.program);
|
|
123
|
+
m.deleteBuffer(T);
|
|
124
|
+
}
|
|
125
|
+
k.clear(), h();
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
//#endregion
|
|
130
|
+
export { a as SOFTWARE_RENDERER, d as createWebGl3D, o as isSoftwareRenderer };
|
|
131
|
+
|
|
132
|
+
//# sourceMappingURL=webgl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgl.js","names":["SOFTWARE_RENDERER","isSoftwareRenderer","info","gl","name","UNIFORMS","compile","shader","s","type","code","vs","source","fs","program","attributes","i","uniforms","CORNERS","MAX_LOCATIONS","createWebGl3D","requireHardware","canvas","version","loseContext","gl2","angle","uint","divisor","location","value","drawInstanced","count","sources","glslPrograms","points","GLSL_ATTRIBUTES","mesh","lines","corners","programs","lost","handleLost","event","onLost","resources","uniformData","attribute","size","stride","offset","bind","F","U8","used","item","res","upload","existing","vertex","index","width","height","seen","additive","drawOrder","items","u","itemUniforms","frame","loc","writesDepth","add","key","p"],"sources":["../../../../../charts/src/engine/three-d/webgl.ts"],"sourcesContent":["// WebGL2 / WebGL (1) backend of the 3D charts: the same GLSL for both\n// (a macro prefix makes it GLSL ES 3.0), instancing through WebGL2 or\n// ANGLE_instanced_arrays, 32-bit indices through WebGL2 or\n// OES_element_index_uint. Attributes are bound for every draw (no vertex\n// array objects in WebGL 1): a few calls per item.\n\nimport type { RendererLostHandler } from \"../renderers/types\";\nimport {\n POINT_STRIDE,\n SEGMENT_STRIDE,\n VERTEX_STRIDE,\n drawOrder,\n type Item3D,\n type Renderer3D,\n} from \"./render-types\";\nimport {\n GLSL_ATTRIBUTES,\n glslPrograms,\n itemUniforms,\n writesDepth,\n type GlslSource,\n} from \"./shaders\";\n\ntype Gl = WebGLRenderingContext | WebGL2RenderingContext;\n\n/** Software rasterizers behind a WebGL context */\nexport const SOFTWARE_RENDERER =\n /swiftshader|llvmpipe|softpipe|software|basic render driver|microsoft basic/i;\n\nexport const isSoftwareRenderer = (gl: Gl): boolean => {\n const info = gl.getExtension(\"WEBGL_debug_renderer_info\");\n const name = info\n ? gl.getParameter(info.UNMASKED_RENDERER_WEBGL)\n : gl.getParameter(gl.RENDERER);\n return SOFTWARE_RENDERER.test(String(name ?? \"\"));\n};\n\nconst UNIFORMS = [\n \"u_viewProj\",\n \"u_viewport\",\n \"u_eye\",\n \"u_light\",\n \"u_material\",\n \"u_params\",\n \"u_fog\",\n] as const;\n\ninterface Program {\n program: WebGLProgram;\n uniforms: Record<(typeof UNIFORMS)[number], WebGLUniformLocation | null>;\n}\n\nconst compile = (\n gl: Gl,\n source: GlslSource,\n attributes: readonly string[],\n): Program | null => {\n const shader = (type: number, code: string) => {\n const s = gl.createShader(type);\n if (!s) return null;\n gl.shaderSource(s, code);\n gl.compileShader(s);\n if (!gl.getShaderParameter(s, gl.COMPILE_STATUS)) {\n gl.deleteShader(s);\n return null;\n }\n return s;\n };\n const vs = shader(gl.VERTEX_SHADER, source.vertex);\n const fs = shader(gl.FRAGMENT_SHADER, source.fragment);\n const program = gl.createProgram();\n if (!vs || !fs || !program) return null;\n gl.attachShader(program, vs);\n gl.attachShader(program, fs);\n attributes.forEach((name, i) => gl.bindAttribLocation(program, i, name));\n gl.linkProgram(program);\n gl.deleteShader(vs);\n gl.deleteShader(fs);\n if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {\n gl.deleteProgram(program);\n return null;\n }\n const uniforms = {} as Program[\"uniforms\"];\n for (const name of UNIFORMS)\n uniforms[name] = gl.getUniformLocation(program, name);\n return { program, uniforms };\n};\n\ninterface ItemResources {\n version: number;\n kind: Item3D[\"kind\"];\n vertex: WebGLBuffer;\n index: WebGLBuffer | null;\n /** `order` of the uploaded indices (meshes) */\n order: number;\n}\n\n/** Corners of the triangle strip of a billboard / segment */\nconst CORNERS = new Float32Array([0, 0, 1, 0, 0, 1, 1, 1]);\nconst MAX_LOCATIONS = 4;\n\nexport const createWebGl3D = (\n canvas: HTMLCanvasElement,\n version: 1 | 2,\n onLost: RendererLostHandler,\n /** Refuses software rendering: the decimating Canvas2D backend is faster there */\n requireHardware = false,\n): Renderer3D | null => {\n const attributes: WebGLContextAttributes = {\n alpha: true,\n premultipliedAlpha: true,\n antialias: true,\n depth: true,\n stencil: false,\n preserveDrawingBuffer: false,\n failIfMajorPerformanceCaveat: requireHardware,\n };\n const gl = canvas.getContext(\n version === 2 ? \"webgl2\" : \"webgl\",\n attributes,\n ) as Gl | null;\n if (!gl) return null;\n const loseContext = () =>\n gl.getExtension(\"WEBGL_lose_context\")?.loseContext();\n const gl2 = version === 2 ? (gl as WebGL2RenderingContext) : null;\n const angle = gl2 ? null : gl.getExtension(\"ANGLE_instanced_arrays\");\n const uint = gl2 ? true : !!gl.getExtension(\"OES_element_index_uint\");\n if (\n (!gl2 && (!angle || !uint)) ||\n (requireHardware && isSoftwareRenderer(gl))\n ) {\n loseContext();\n return null;\n }\n const divisor = (location: number, value: number) => {\n if (gl2) gl2.vertexAttribDivisor(location, value);\n else angle?.vertexAttribDivisorANGLE(location, value);\n };\n const drawInstanced = (count: number) => {\n if (gl2) gl2.drawArraysInstanced(gl.TRIANGLE_STRIP, 0, 4, count);\n else angle?.drawArraysInstancedANGLE(gl.TRIANGLE_STRIP, 0, 4, count);\n };\n\n const sources = glslPrograms(version);\n const points = compile(gl, sources.points, GLSL_ATTRIBUTES.points);\n const mesh = compile(gl, sources.mesh, GLSL_ATTRIBUTES.mesh);\n const lines = compile(gl, sources.lines, GLSL_ATTRIBUTES.lines);\n const corners = gl.createBuffer();\n if (!points || !mesh || !lines || !corners) {\n loseContext();\n return null;\n }\n const programs = { points, mesh, lines };\n gl.bindBuffer(gl.ARRAY_BUFFER, corners);\n gl.bufferData(gl.ARRAY_BUFFER, CORNERS, gl.STATIC_DRAW);\n\n let lost = false;\n const handleLost = (event: Event) => {\n event.preventDefault();\n lost = true;\n onLost();\n };\n canvas.addEventListener(\"webglcontextlost\", handleLost);\n\n const resources = new Map<string, ItemResources>();\n const uniformData = new Float32Array(40);\n\n const attribute = (\n location: number,\n size: number,\n type: number,\n stride: number,\n offset: number,\n perInstance: boolean,\n ) => {\n gl.enableVertexAttribArray(location);\n gl.vertexAttribPointer(\n location,\n size,\n type,\n type === gl.UNSIGNED_BYTE,\n stride,\n offset,\n );\n divisor(location, perInstance ? 1 : 0);\n };\n\n const bind = (item: Item3D, res: ItemResources) => {\n const F = gl.FLOAT;\n const U8 = gl.UNSIGNED_BYTE;\n let used: number;\n if (item.kind === \"mesh\") {\n gl.bindBuffer(gl.ARRAY_BUFFER, res.vertex);\n attribute(0, 3, F, VERTEX_STRIDE, 0, false);\n attribute(1, 3, F, VERTEX_STRIDE, 12, false);\n attribute(2, 4, U8, VERTEX_STRIDE, 24, false);\n used = 3;\n } else {\n gl.bindBuffer(gl.ARRAY_BUFFER, corners);\n attribute(0, 2, F, 0, 0, false);\n gl.bindBuffer(gl.ARRAY_BUFFER, res.vertex);\n if (item.kind === \"points\") {\n attribute(1, 3, F, POINT_STRIDE, 0, true);\n attribute(2, 1, F, POINT_STRIDE, 12, true);\n attribute(3, 4, U8, POINT_STRIDE, 16, true);\n } else {\n attribute(1, 3, F, SEGMENT_STRIDE, 0, true);\n attribute(2, 3, F, SEGMENT_STRIDE, 12, true);\n attribute(3, 4, U8, SEGMENT_STRIDE, 24, true);\n }\n used = 4;\n }\n for (let i = used; i < MAX_LOCATIONS; i++) {\n gl.disableVertexAttribArray(i);\n divisor(i, 0);\n }\n };\n\n const upload = (item: Item3D): ItemResources | null => {\n const existing = resources.get(item.key);\n if (\n existing &&\n existing.version === item.version &&\n existing.kind === item.kind\n ) {\n // same mesh, triangles in a new order (transparent, sorted by depth)\n if (\n item.kind === \"mesh\" &&\n existing.index &&\n (item.order ?? 0) !== existing.order\n ) {\n gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, existing.index);\n gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 0, item.indices);\n existing.order = item.order ?? 0;\n }\n return existing;\n }\n if (existing) {\n gl.deleteBuffer(existing.vertex);\n if (existing.index) gl.deleteBuffer(existing.index);\n resources.delete(item.key);\n }\n const vertex = gl.createBuffer();\n if (!vertex) return null;\n gl.bindBuffer(gl.ARRAY_BUFFER, vertex);\n gl.bufferData(\n gl.ARRAY_BUFFER,\n item.kind === \"mesh\" ? item.vertices : item.data,\n gl.STATIC_DRAW,\n );\n let index: WebGLBuffer | null = null;\n if (item.kind === \"mesh\") {\n index = gl.createBuffer();\n if (!index) {\n gl.deleteBuffer(vertex);\n return null;\n }\n gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, index);\n gl.bufferData(\n gl.ELEMENT_ARRAY_BUFFER,\n item.indices,\n item.order === undefined ? gl.STATIC_DRAW : gl.DYNAMIC_DRAW,\n );\n }\n const res = {\n version: item.version,\n kind: item.kind,\n vertex,\n index,\n order: item.kind === \"mesh\" ? (item.order ?? 0) : 0,\n };\n resources.set(item.key, res);\n return res;\n };\n\n return {\n kind: version === 2 ? \"webgl2\" : \"webgl\",\n canvas,\n resize(width, height) {\n canvas.width = Math.max(1, width);\n canvas.height = Math.max(1, height);\n },\n render(items, frame) {\n if (lost || gl.isContextLost()) return;\n gl.viewport(0, 0, canvas.width, canvas.height);\n gl.clearColor(0, 0, 0, 0);\n gl.clearDepth(1);\n gl.depthMask(true);\n gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.enable(gl.DEPTH_TEST);\n gl.depthFunc(gl.LEQUAL);\n gl.disable(gl.CULL_FACE);\n const seen = new Set<string>();\n let additive = false;\n for (const item of drawOrder(items)) {\n seen.add(item.key);\n const count = item.kind === \"mesh\" ? item.indices.length : item.count;\n if (count <= 0) continue;\n const res = upload(item);\n if (!res) continue;\n const program = programs[item.kind];\n gl.useProgram(program.program);\n const u = itemUniforms(item, frame, uniformData);\n const loc = program.uniforms;\n gl.uniformMatrix4fv(loc.u_viewProj, false, u.subarray(0, 16));\n gl.uniform4fv(loc.u_viewport, u.subarray(16, 20));\n gl.uniform4fv(loc.u_eye, u.subarray(20, 24));\n gl.uniform4fv(loc.u_light, u.subarray(24, 28));\n gl.uniform4fv(loc.u_material, u.subarray(28, 32));\n gl.uniform4fv(loc.u_params, u.subarray(32, 36));\n gl.uniform4fv(loc.u_fog, u.subarray(36, 40));\n gl.depthMask(writesDepth(item));\n const add = item.kind === \"points\" && !!item.additive;\n if (add !== additive) {\n // additive points: the colors add up, the coverage composites as usual\n if (add)\n gl.blendFuncSeparate(\n gl.ONE,\n gl.ONE,\n gl.ONE,\n gl.ONE_MINUS_SRC_ALPHA,\n );\n else gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n additive = add;\n }\n bind(item, res);\n if (item.kind === \"mesh\") {\n gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, res.index);\n gl.drawElements(gl.TRIANGLES, count, gl.UNSIGNED_INT, 0);\n } else {\n drawInstanced(count);\n }\n }\n gl.depthMask(true);\n if (additive) gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n for (const [key, res] of resources) {\n if (!seen.has(key)) {\n gl.deleteBuffer(res.vertex);\n if (res.index) gl.deleteBuffer(res.index);\n resources.delete(key);\n }\n }\n },\n destroy() {\n canvas.removeEventListener(\"webglcontextlost\", handleLost);\n if (!gl.isContextLost()) {\n for (const res of resources.values()) {\n gl.deleteBuffer(res.vertex);\n if (res.index) gl.deleteBuffer(res.index);\n }\n for (const p of Object.values(programs)) gl.deleteProgram(p.program);\n gl.deleteBuffer(corners);\n }\n resources.clear();\n loseContext();\n },\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./render-types.cjs"),t=require("./shaders.cjs");var n=16,r=32,i=8,a=16,o=4,s=async(s,c,l=!1)=>{let u=typeof navigator<`u`?navigator.gpu:void 0;if(!u)return null;let d=await u.requestAdapter();if(!d)return null;let f=d;if(l&&(f.info?.isFallbackAdapter||f.isFallbackAdapter))return null;let p=await d.requestDevice(),m=s.getContext(`webgpu`);if(!m)return p.destroy(),null;let h=u.getPreferredCanvasFormat();m.configure({device:p,format:h,alphaMode:`premultiplied`});let g=!1;p.lost.then(()=>{g||c()});let _=p.createBindGroupLayout({entries:[{binding:0,visibility:3,buffer:{type:`uniform`}}]}),v=p.createPipelineLayout({bindGroupLayouts:[_]}),y={color:{srcFactor:`one`,dstFactor:`one-minus-src-alpha`,operation:`add`},alpha:{srcFactor:`one`,dstFactor:`one-minus-src-alpha`,operation:`add`}},b={color:{srcFactor:`one`,dstFactor:`one`,operation:`add`},alpha:y.alpha},x=(e,t,n,r,i=y)=>{let a=p.createShaderModule({code:e});return p.createRenderPipeline({layout:v,vertex:{module:a,entryPoint:`vs`,buffers:t},fragment:{module:a,entryPoint:`fs`,targets:[{format:h,blend:i}]},primitive:{topology:n,cullMode:`none`},depthStencil:{format:`depth24plus`,depthWriteEnabled:r,depthCompare:`less-equal`},multisample:{count:o}})},S=[{arrayStride:20,stepMode:`instance`,attributes:[{shaderLocation:0,offset:0,format:`float32x3`},{shaderLocation:1,offset:12,format:`float32`},{shaderLocation:2,offset:16,format:`unorm8x4`}]}],C=[{arrayStride:28,stepMode:`vertex`,attributes:[{shaderLocation:0,offset:0,format:`float32x3`},{shaderLocation:1,offset:12,format:`float32x3`},{shaderLocation:2,offset:24,format:`unorm8x4`}]}],w=[{arrayStride:28,stepMode:`instance`,attributes:[{shaderLocation:0,offset:0,format:`float32x3`},{shaderLocation:1,offset:12,format:`float32x3`},{shaderLocation:2,offset:24,format:`unorm8x4`}]}],T={points:[x(t.WGSL_POINTS,S,`triangle-strip`,!1),x(t.WGSL_POINTS,S,`triangle-strip`,!0)],mesh:[x(t.WGSL_MESH,C,`triangle-list`,!1),x(t.WGSL_MESH,C,`triangle-list`,!0)],lines:[x(t.WGSL_LINES,w,`triangle-strip`,!1),x(t.WGSL_LINES,w,`triangle-strip`,!0)]},E=null,D=n=>{if(n.kind===`points`&&n.additive)return E??(E=x(t.WGSL_POINTS,S,`triangle-strip`,!1,b)),E;let r=T[n.kind];return r[e.writesDepth(n)?r.length-1:0]},O=null,k=()=>{let e=s.width,t=s.height;return O&&O.width===e&&O.height===t?O:(O?.color.destroy(),O?.depth.destroy(),O={width:e,height:t,color:p.createTexture({size:[e,t],sampleCount:o,format:h,usage:a}),depth:p.createTexture({size:[e,t],sampleCount:o,format:`depth24plus`,usage:a})},O)},A=new Map,j=new Float32Array(40),M=(e,t)=>{let n=e.byteLength;if(n<=0)return null;let r=p.createBuffer({size:Math.max(16,Math.ceil(n/4)*4),usage:t|i});return e instanceof Uint32Array?p.queue.writeBuffer(r,0,e.buffer,e.byteOffset,n):p.queue.writeBuffer(r,0,e),r},N=e=>{e.vertex?.destroy(),e.index?.destroy()},P=e=>{let t=A.get(e.key);if(t&&t.version===e.version&&t.kind===e.kind){if(e.kind===`mesh`&&t.index&&(e.order??0)!==t.order){let{indices:n}=e;p.queue.writeBuffer(t.index,0,n.buffer,n.byteOffset,n.byteLength),t.order=e.order??0}return t}t&&N(t);let i=M(e.kind===`mesh`?e.vertices:e.data,r),a=e.kind===`mesh`?M(e.indices,n):null;if(t)t.version=e.version,t.kind=e.kind,t.vertex=i,t.index=a,t.order=e.kind===`mesh`?e.order??0:0;else{let n=p.createBuffer({size:160,usage:72});t={version:e.version,kind:e.kind,vertex:i,index:a,order:e.kind===`mesh`?e.order??0:0,uniform:n,bindGroup:p.createBindGroup({layout:_,entries:[{binding:0,resource:{buffer:n}}]})},A.set(e.key,t)}return t};return{kind:`webgpu`,canvas:s,resize(e,t){s.width=Math.max(1,e),s.height=Math.max(1,t)},render(n,r){if(g)return;let{color:i,depth:a}=k(),o=p.createCommandEncoder(),s=o.beginRenderPass({colorAttachments:[{view:i.createView(),resolveTarget:m.getCurrentTexture().createView(),clearValue:{r:0,g:0,b:0,a:0},loadOp:`clear`,storeOp:`discard`}],depthStencilAttachment:{view:a.createView(),depthClearValue:1,depthLoadOp:`clear`,depthStoreOp:`discard`}}),c=new Set;for(let i of e.drawOrder(n)){c.add(i.key);let e=i.kind===`mesh`?i.indices.length:i.count;if(e<=0)continue;let n=P(i);if(!n.vertex)continue;p.queue.writeBuffer(n.uniform,0,t.itemUniforms(i,r,j));let a=D(i);if(a){if(s.setPipeline(a),s.setBindGroup(0,n.bindGroup),s.setVertexBuffer(0,n.vertex),i.kind===`mesh`){if(!n.index)continue;s.setIndexBuffer(n.index,`uint32`),s.drawIndexed(e)}else s.draw(4,e)}}s.end(),p.queue.submit([o.finish()]);for(let[e,t]of A)c.has(e)||(N(t),t.uniform.destroy(),A.delete(e))},destroy(){g=!0;for(let e of A.values())N(e),e.uniform.destroy();A.clear(),O?.color.destroy(),O?.depth.destroy(),O=null,m.unconfigure(),p.destroy()}}};exports.createWebGpu3D=s;
|
|
2
|
+
//# sourceMappingURL=webgpu.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgpu.cjs","names":["WGSL_POINTS","WGSL_MESH","WGSL_LINES","writesDepth","drawOrder","itemUniforms","require_render_types","require_shaders","BUFFER_INDEX","BUFFER_VERTEX","BUFFER_COPY_DST","TEXTURE_RENDER_ATTACHMENT","SAMPLES","createWebGpu3D","gpu","adapter","fallback","requireHardware","device","context","canvas","format","destroyed","onLost","bindGroupLayout","layout","blend","additive","pipeline","module","blending","depthWrite","pointBuffers","meshBuffers","lineBuffers","pipelines","additivePoints","pipelineOf","item","variants","targets","renderTargets","width","height","resources","uniformData","buffer","bytes","data","gpuBuffer","usage","release","res","upload","indices","vertex","index","uniform","encoder","pass","color","depth","seen","items","count","frame","chosen","key"],"sources":["../../../../../charts/src/engine/three-d/webgpu.ts"],"sourcesContent":["// WebGPU backend of the 3D charts: 4× MSAA, a depth buffer, one draw per\n// item (instanced billboards / segments, indexed triangles).\n\nimport type { RendererLostHandler } from \"../renderers/types\";\nimport {\n POINT_STRIDE,\n SEGMENT_STRIDE,\n VERTEX_STRIDE,\n drawOrder,\n type Item3D,\n type Renderer3D,\n} from \"./render-types\";\nimport {\n UNIFORM_BYTES,\n WGSL_LINES,\n WGSL_MESH,\n WGSL_POINTS,\n itemUniforms,\n writesDepth,\n} from \"./shaders\";\n\n// lib.dom has the WebGPU interfaces but not these constant objects\nconst BUFFER_INDEX = 0x10;\nconst BUFFER_VERTEX = 0x20;\nconst BUFFER_UNIFORM = 0x40;\nconst BUFFER_COPY_DST = 0x08;\nconst STAGE_VERTEX = 0x1;\nconst STAGE_FRAGMENT = 0x2;\nconst TEXTURE_RENDER_ATTACHMENT = 0x10;\n\nconst SAMPLES = 4;\n\ninterface ItemResources {\n version: number;\n kind: Item3D[\"kind\"];\n vertex: GPUBuffer | null;\n index: GPUBuffer | null;\n /** `order` of the uploaded indices (meshes) */\n order: number;\n uniform: GPUBuffer;\n bindGroup: GPUBindGroup;\n}\n\ntype GpuNavigator = Navigator & { gpu?: GPU };\n\nexport const createWebGpu3D = async (\n canvas: HTMLCanvasElement,\n onLost: RendererLostHandler,\n /** Refuses fallback (software) adapters */\n requireHardware = false,\n): Promise<Renderer3D | null> => {\n const gpu =\n typeof navigator !== \"undefined\"\n ? (navigator as GpuNavigator).gpu\n : undefined;\n if (!gpu) return null;\n const adapter = await gpu.requestAdapter();\n if (!adapter) return null;\n const fallback = adapter as GPUAdapter & {\n isFallbackAdapter?: boolean;\n info?: { isFallbackAdapter?: boolean };\n };\n if (\n requireHardware &&\n (fallback.info?.isFallbackAdapter || fallback.isFallbackAdapter)\n ) {\n return null;\n }\n const device = await adapter.requestDevice();\n const context = canvas.getContext(\"webgpu\") as GPUCanvasContext | null;\n if (!context) {\n device.destroy();\n return null;\n }\n const format = gpu.getPreferredCanvasFormat();\n context.configure({ device, format, alphaMode: \"premultiplied\" });\n\n let destroyed = false;\n void device.lost.then(() => {\n if (!destroyed) onLost();\n });\n\n const bindGroupLayout = device.createBindGroupLayout({\n entries: [\n {\n binding: 0,\n visibility: STAGE_VERTEX | STAGE_FRAGMENT,\n buffer: { type: \"uniform\" },\n },\n ],\n });\n const layout = device.createPipelineLayout({\n bindGroupLayouts: [bindGroupLayout],\n });\n const blend: GPUBlendState = {\n color: {\n srcFactor: \"one\",\n dstFactor: \"one-minus-src-alpha\",\n operation: \"add\",\n },\n alpha: {\n srcFactor: \"one\",\n dstFactor: \"one-minus-src-alpha\",\n operation: \"add\",\n },\n };\n // additive points: the colors add up, the coverage composites as usual\n const additive: GPUBlendState = {\n color: { srcFactor: \"one\", dstFactor: \"one\", operation: \"add\" },\n alpha: blend.alpha,\n };\n const pipeline = (\n code: string,\n buffers: GPUVertexBufferLayout[],\n topology: GPUPrimitiveTopology,\n depthWrite: boolean,\n blending: GPUBlendState = blend,\n ) => {\n const module = device.createShaderModule({ code });\n return device.createRenderPipeline({\n layout,\n vertex: { module, entryPoint: \"vs\", buffers },\n fragment: {\n module,\n entryPoint: \"fs\",\n targets: [{ format, blend: blending }],\n },\n primitive: { topology, cullMode: \"none\" },\n depthStencil: {\n format: \"depth24plus\",\n depthWriteEnabled: depthWrite,\n depthCompare: \"less-equal\",\n },\n multisample: { count: SAMPLES },\n });\n };\n const pointBuffers: GPUVertexBufferLayout[] = [\n {\n arrayStride: POINT_STRIDE,\n stepMode: \"instance\",\n attributes: [\n { shaderLocation: 0, offset: 0, format: \"float32x3\" },\n { shaderLocation: 1, offset: 12, format: \"float32\" },\n { shaderLocation: 2, offset: 16, format: \"unorm8x4\" },\n ],\n },\n ];\n const meshBuffers: GPUVertexBufferLayout[] = [\n {\n arrayStride: VERTEX_STRIDE,\n stepMode: \"vertex\",\n attributes: [\n { shaderLocation: 0, offset: 0, format: \"float32x3\" },\n { shaderLocation: 1, offset: 12, format: \"float32x3\" },\n { shaderLocation: 2, offset: 24, format: \"unorm8x4\" },\n ],\n },\n ];\n const lineBuffers: GPUVertexBufferLayout[] = [\n {\n arrayStride: SEGMENT_STRIDE,\n stepMode: \"instance\",\n attributes: [\n { shaderLocation: 0, offset: 0, format: \"float32x3\" },\n { shaderLocation: 1, offset: 12, format: \"float32x3\" },\n { shaderLocation: 2, offset: 24, format: \"unorm8x4\" },\n ],\n },\n ];\n const pipelines = {\n points: [\n pipeline(WGSL_POINTS, pointBuffers, \"triangle-strip\", false),\n pipeline(WGSL_POINTS, pointBuffers, \"triangle-strip\", true),\n ],\n mesh: [\n pipeline(WGSL_MESH, meshBuffers, \"triangle-list\", false),\n pipeline(WGSL_MESH, meshBuffers, \"triangle-list\", true),\n ],\n lines: [\n pipeline(WGSL_LINES, lineBuffers, \"triangle-strip\", false),\n pipeline(WGSL_LINES, lineBuffers, \"triangle-strip\", true),\n ],\n };\n let additivePoints: GPURenderPipeline | null = null;\n const pipelineOf = (item: Item3D) => {\n if (item.kind === \"points\" && item.additive) {\n additivePoints ??= pipeline(\n WGSL_POINTS,\n pointBuffers,\n \"triangle-strip\",\n false,\n additive,\n );\n return additivePoints;\n }\n const variants = pipelines[item.kind];\n return variants[writesDepth(item) ? variants.length - 1 : 0];\n };\n\n let targets: {\n width: number;\n height: number;\n color: GPUTexture;\n depth: GPUTexture;\n } | null = null;\n const renderTargets = () => {\n const width = canvas.width;\n const height = canvas.height;\n if (targets && targets.width === width && targets.height === height)\n return targets;\n targets?.color.destroy();\n targets?.depth.destroy();\n targets = {\n width,\n height,\n color: device.createTexture({\n size: [width, height],\n sampleCount: SAMPLES,\n format,\n usage: TEXTURE_RENDER_ATTACHMENT,\n }),\n depth: device.createTexture({\n size: [width, height],\n sampleCount: SAMPLES,\n format: \"depth24plus\",\n usage: TEXTURE_RENDER_ATTACHMENT,\n }),\n };\n return targets;\n };\n\n const resources = new Map<string, ItemResources>();\n const uniformData = new Float32Array(UNIFORM_BYTES / 4);\n\n const buffer = (data: ArrayBuffer | Uint32Array, usage: number) => {\n const bytes = data.byteLength;\n if (bytes <= 0) return null;\n const gpuBuffer = device.createBuffer({\n size: Math.max(16, Math.ceil(bytes / 4) * 4),\n usage: usage | BUFFER_COPY_DST,\n });\n if (data instanceof Uint32Array) {\n device.queue.writeBuffer(\n gpuBuffer,\n 0,\n data.buffer,\n data.byteOffset,\n bytes,\n );\n } else {\n device.queue.writeBuffer(gpuBuffer, 0, data);\n }\n return gpuBuffer;\n };\n\n const release = (res: ItemResources) => {\n res.vertex?.destroy();\n res.index?.destroy();\n };\n\n const upload = (item: Item3D): ItemResources => {\n let res = resources.get(item.key);\n if (res && res.version === item.version && res.kind === item.kind) {\n // same mesh, triangles in a new order (transparent, sorted by depth)\n if (\n item.kind === \"mesh\" &&\n res.index &&\n (item.order ?? 0) !== res.order\n ) {\n const { indices } = item;\n device.queue.writeBuffer(\n res.index,\n 0,\n indices.buffer,\n indices.byteOffset,\n indices.byteLength,\n );\n res.order = item.order ?? 0;\n }\n return res;\n }\n if (res) release(res);\n const vertex = buffer(\n item.kind === \"mesh\" ? item.vertices : item.data,\n BUFFER_VERTEX,\n );\n const index =\n item.kind === \"mesh\" ? buffer(item.indices, BUFFER_INDEX) : null;\n if (!res) {\n const uniform = device.createBuffer({\n size: UNIFORM_BYTES,\n usage: BUFFER_UNIFORM | BUFFER_COPY_DST,\n });\n res = {\n version: item.version,\n kind: item.kind,\n vertex,\n index,\n order: item.kind === \"mesh\" ? (item.order ?? 0) : 0,\n uniform,\n bindGroup: device.createBindGroup({\n layout: bindGroupLayout,\n entries: [{ binding: 0, resource: { buffer: uniform } }],\n }),\n };\n resources.set(item.key, res);\n } else {\n res.version = item.version;\n res.kind = item.kind;\n res.vertex = vertex;\n res.index = index;\n res.order = item.kind === \"mesh\" ? (item.order ?? 0) : 0;\n }\n return res;\n };\n\n return {\n kind: \"webgpu\",\n canvas,\n resize(width, height) {\n canvas.width = Math.max(1, width);\n canvas.height = Math.max(1, height);\n },\n render(items, frame) {\n if (destroyed) return;\n const { color, depth } = renderTargets();\n const encoder = device.createCommandEncoder();\n const pass = encoder.beginRenderPass({\n colorAttachments: [\n {\n view: color.createView(),\n resolveTarget: context.getCurrentTexture().createView(),\n clearValue: { r: 0, g: 0, b: 0, a: 0 },\n loadOp: \"clear\",\n storeOp: \"discard\",\n },\n ],\n depthStencilAttachment: {\n view: depth.createView(),\n depthClearValue: 1,\n depthLoadOp: \"clear\",\n depthStoreOp: \"discard\",\n },\n });\n const seen = new Set<string>();\n for (const item of drawOrder(items)) {\n seen.add(item.key);\n const count = item.kind === \"mesh\" ? item.indices.length : item.count;\n if (count <= 0) continue;\n const res = upload(item);\n if (!res.vertex) continue;\n device.queue.writeBuffer(\n res.uniform,\n 0,\n itemUniforms(item, frame, uniformData),\n );\n const chosen = pipelineOf(item);\n if (!chosen) continue;\n pass.setPipeline(chosen);\n pass.setBindGroup(0, res.bindGroup);\n pass.setVertexBuffer(0, res.vertex);\n if (item.kind === \"mesh\") {\n if (!res.index) continue;\n pass.setIndexBuffer(res.index, \"uint32\");\n pass.drawIndexed(count);\n } else {\n pass.draw(4, count);\n }\n }\n pass.end();\n device.queue.submit([encoder.finish()]);\n for (const [key, res] of resources) {\n if (!seen.has(key)) {\n release(res);\n res.uniform.destroy();\n resources.delete(key);\n }\n }\n },\n destroy() {\n destroyed = true;\n for (const res of resources.values()) {\n release(res);\n res.uniform.destroy();\n }\n resources.clear();\n targets?.color.destroy();\n targets?.depth.destroy();\n targets = null;\n context.unconfigure();\n device.destroy();\n },\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { RendererLostHandler } from '../renderers/types.cjs';
|
|
2
|
+
import { Renderer3D } from './render-types.cjs';
|
|
3
|
+
export declare const createWebGpu3D: (canvas: HTMLCanvasElement, onLost: RendererLostHandler,
|
|
4
|
+
/** Refuses fallback (software) adapters */
|
|
5
|
+
requireHardware?: boolean) => Promise<Renderer3D | null>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { RendererLostHandler } from '../renderers/types.js';
|
|
2
|
+
import { Renderer3D } from './render-types.js';
|
|
3
|
+
export declare const createWebGpu3D: (canvas: HTMLCanvasElement, onLost: RendererLostHandler,
|
|
4
|
+
/** Refuses fallback (software) adapters */
|
|
5
|
+
requireHardware?: boolean) => Promise<Renderer3D | null>;
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { drawOrder as e, writesDepth as t } from "./render-types.js";
|
|
2
|
+
import { WGSL_LINES as n, WGSL_MESH as r, WGSL_POINTS as i, itemUniforms as a } from "./shaders.js";
|
|
3
|
+
//#region src/engine/three-d/webgpu.ts
|
|
4
|
+
var o = 16, s = 32, c = 8, l = 16, u = 4, d = async (d, f, p = !1) => {
|
|
5
|
+
let m = typeof navigator < "u" ? navigator.gpu : void 0;
|
|
6
|
+
if (!m) return null;
|
|
7
|
+
let h = await m.requestAdapter();
|
|
8
|
+
if (!h) return null;
|
|
9
|
+
let g = h;
|
|
10
|
+
if (p && (g.info?.isFallbackAdapter || g.isFallbackAdapter)) return null;
|
|
11
|
+
let _ = await h.requestDevice(), v = d.getContext("webgpu");
|
|
12
|
+
if (!v) return _.destroy(), null;
|
|
13
|
+
let y = m.getPreferredCanvasFormat();
|
|
14
|
+
v.configure({
|
|
15
|
+
device: _,
|
|
16
|
+
format: y,
|
|
17
|
+
alphaMode: "premultiplied"
|
|
18
|
+
});
|
|
19
|
+
let b = !1;
|
|
20
|
+
_.lost.then(() => {
|
|
21
|
+
b || f();
|
|
22
|
+
});
|
|
23
|
+
let x = _.createBindGroupLayout({ entries: [{
|
|
24
|
+
binding: 0,
|
|
25
|
+
visibility: 3,
|
|
26
|
+
buffer: { type: "uniform" }
|
|
27
|
+
}] }), S = _.createPipelineLayout({ bindGroupLayouts: [x] }), C = {
|
|
28
|
+
color: {
|
|
29
|
+
srcFactor: "one",
|
|
30
|
+
dstFactor: "one-minus-src-alpha",
|
|
31
|
+
operation: "add"
|
|
32
|
+
},
|
|
33
|
+
alpha: {
|
|
34
|
+
srcFactor: "one",
|
|
35
|
+
dstFactor: "one-minus-src-alpha",
|
|
36
|
+
operation: "add"
|
|
37
|
+
}
|
|
38
|
+
}, w = {
|
|
39
|
+
color: {
|
|
40
|
+
srcFactor: "one",
|
|
41
|
+
dstFactor: "one",
|
|
42
|
+
operation: "add"
|
|
43
|
+
},
|
|
44
|
+
alpha: C.alpha
|
|
45
|
+
}, T = (e, t, n, r, i = C) => {
|
|
46
|
+
let a = _.createShaderModule({ code: e });
|
|
47
|
+
return _.createRenderPipeline({
|
|
48
|
+
layout: S,
|
|
49
|
+
vertex: {
|
|
50
|
+
module: a,
|
|
51
|
+
entryPoint: "vs",
|
|
52
|
+
buffers: t
|
|
53
|
+
},
|
|
54
|
+
fragment: {
|
|
55
|
+
module: a,
|
|
56
|
+
entryPoint: "fs",
|
|
57
|
+
targets: [{
|
|
58
|
+
format: y,
|
|
59
|
+
blend: i
|
|
60
|
+
}]
|
|
61
|
+
},
|
|
62
|
+
primitive: {
|
|
63
|
+
topology: n,
|
|
64
|
+
cullMode: "none"
|
|
65
|
+
},
|
|
66
|
+
depthStencil: {
|
|
67
|
+
format: "depth24plus",
|
|
68
|
+
depthWriteEnabled: r,
|
|
69
|
+
depthCompare: "less-equal"
|
|
70
|
+
},
|
|
71
|
+
multisample: { count: u }
|
|
72
|
+
});
|
|
73
|
+
}, E = [{
|
|
74
|
+
arrayStride: 20,
|
|
75
|
+
stepMode: "instance",
|
|
76
|
+
attributes: [
|
|
77
|
+
{
|
|
78
|
+
shaderLocation: 0,
|
|
79
|
+
offset: 0,
|
|
80
|
+
format: "float32x3"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
shaderLocation: 1,
|
|
84
|
+
offset: 12,
|
|
85
|
+
format: "float32"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
shaderLocation: 2,
|
|
89
|
+
offset: 16,
|
|
90
|
+
format: "unorm8x4"
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
}], D = [{
|
|
94
|
+
arrayStride: 28,
|
|
95
|
+
stepMode: "vertex",
|
|
96
|
+
attributes: [
|
|
97
|
+
{
|
|
98
|
+
shaderLocation: 0,
|
|
99
|
+
offset: 0,
|
|
100
|
+
format: "float32x3"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
shaderLocation: 1,
|
|
104
|
+
offset: 12,
|
|
105
|
+
format: "float32x3"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
shaderLocation: 2,
|
|
109
|
+
offset: 24,
|
|
110
|
+
format: "unorm8x4"
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
}], O = [{
|
|
114
|
+
arrayStride: 28,
|
|
115
|
+
stepMode: "instance",
|
|
116
|
+
attributes: [
|
|
117
|
+
{
|
|
118
|
+
shaderLocation: 0,
|
|
119
|
+
offset: 0,
|
|
120
|
+
format: "float32x3"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
shaderLocation: 1,
|
|
124
|
+
offset: 12,
|
|
125
|
+
format: "float32x3"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
shaderLocation: 2,
|
|
129
|
+
offset: 24,
|
|
130
|
+
format: "unorm8x4"
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
}], k = {
|
|
134
|
+
points: [T(i, E, "triangle-strip", !1), T(i, E, "triangle-strip", !0)],
|
|
135
|
+
mesh: [T(r, D, "triangle-list", !1), T(r, D, "triangle-list", !0)],
|
|
136
|
+
lines: [T(n, O, "triangle-strip", !1), T(n, O, "triangle-strip", !0)]
|
|
137
|
+
}, A = null, j = (e) => {
|
|
138
|
+
if (e.kind === "points" && e.additive) return A ?? (A = T(i, E, "triangle-strip", !1, w)), A;
|
|
139
|
+
let n = k[e.kind];
|
|
140
|
+
return n[t(e) ? n.length - 1 : 0];
|
|
141
|
+
}, M = null, N = () => {
|
|
142
|
+
let e = d.width, t = d.height;
|
|
143
|
+
return M && M.width === e && M.height === t ? M : (M?.color.destroy(), M?.depth.destroy(), M = {
|
|
144
|
+
width: e,
|
|
145
|
+
height: t,
|
|
146
|
+
color: _.createTexture({
|
|
147
|
+
size: [e, t],
|
|
148
|
+
sampleCount: u,
|
|
149
|
+
format: y,
|
|
150
|
+
usage: l
|
|
151
|
+
}),
|
|
152
|
+
depth: _.createTexture({
|
|
153
|
+
size: [e, t],
|
|
154
|
+
sampleCount: u,
|
|
155
|
+
format: "depth24plus",
|
|
156
|
+
usage: l
|
|
157
|
+
})
|
|
158
|
+
}, M);
|
|
159
|
+
}, P = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new Float32Array(40), I = (e, t) => {
|
|
160
|
+
let n = e.byteLength;
|
|
161
|
+
if (n <= 0) return null;
|
|
162
|
+
let r = _.createBuffer({
|
|
163
|
+
size: Math.max(16, Math.ceil(n / 4) * 4),
|
|
164
|
+
usage: t | c
|
|
165
|
+
});
|
|
166
|
+
return e instanceof Uint32Array ? _.queue.writeBuffer(r, 0, e.buffer, e.byteOffset, n) : _.queue.writeBuffer(r, 0, e), r;
|
|
167
|
+
}, L = (e) => {
|
|
168
|
+
e.vertex?.destroy(), e.index?.destroy();
|
|
169
|
+
}, R = (e) => {
|
|
170
|
+
let t = P.get(e.key);
|
|
171
|
+
if (t && t.version === e.version && t.kind === e.kind) {
|
|
172
|
+
if (e.kind === "mesh" && t.index && (e.order ?? 0) !== t.order) {
|
|
173
|
+
let { indices: n } = e;
|
|
174
|
+
_.queue.writeBuffer(t.index, 0, n.buffer, n.byteOffset, n.byteLength), t.order = e.order ?? 0;
|
|
175
|
+
}
|
|
176
|
+
return t;
|
|
177
|
+
}
|
|
178
|
+
t && L(t);
|
|
179
|
+
let n = I(e.kind === "mesh" ? e.vertices : e.data, s), r = e.kind === "mesh" ? I(e.indices, o) : null;
|
|
180
|
+
if (t) t.version = e.version, t.kind = e.kind, t.vertex = n, t.index = r, t.order = e.kind === "mesh" ? e.order ?? 0 : 0;
|
|
181
|
+
else {
|
|
182
|
+
let i = _.createBuffer({
|
|
183
|
+
size: 160,
|
|
184
|
+
usage: 72
|
|
185
|
+
});
|
|
186
|
+
t = {
|
|
187
|
+
version: e.version,
|
|
188
|
+
kind: e.kind,
|
|
189
|
+
vertex: n,
|
|
190
|
+
index: r,
|
|
191
|
+
order: e.kind === "mesh" ? e.order ?? 0 : 0,
|
|
192
|
+
uniform: i,
|
|
193
|
+
bindGroup: _.createBindGroup({
|
|
194
|
+
layout: x,
|
|
195
|
+
entries: [{
|
|
196
|
+
binding: 0,
|
|
197
|
+
resource: { buffer: i }
|
|
198
|
+
}]
|
|
199
|
+
})
|
|
200
|
+
}, P.set(e.key, t);
|
|
201
|
+
}
|
|
202
|
+
return t;
|
|
203
|
+
};
|
|
204
|
+
return {
|
|
205
|
+
kind: "webgpu",
|
|
206
|
+
canvas: d,
|
|
207
|
+
resize(e, t) {
|
|
208
|
+
d.width = Math.max(1, e), d.height = Math.max(1, t);
|
|
209
|
+
},
|
|
210
|
+
render(t, n) {
|
|
211
|
+
if (b) return;
|
|
212
|
+
let { color: r, depth: i } = N(), o = _.createCommandEncoder(), s = o.beginRenderPass({
|
|
213
|
+
colorAttachments: [{
|
|
214
|
+
view: r.createView(),
|
|
215
|
+
resolveTarget: v.getCurrentTexture().createView(),
|
|
216
|
+
clearValue: {
|
|
217
|
+
r: 0,
|
|
218
|
+
g: 0,
|
|
219
|
+
b: 0,
|
|
220
|
+
a: 0
|
|
221
|
+
},
|
|
222
|
+
loadOp: "clear",
|
|
223
|
+
storeOp: "discard"
|
|
224
|
+
}],
|
|
225
|
+
depthStencilAttachment: {
|
|
226
|
+
view: i.createView(),
|
|
227
|
+
depthClearValue: 1,
|
|
228
|
+
depthLoadOp: "clear",
|
|
229
|
+
depthStoreOp: "discard"
|
|
230
|
+
}
|
|
231
|
+
}), c = /* @__PURE__ */ new Set();
|
|
232
|
+
for (let r of e(t)) {
|
|
233
|
+
c.add(r.key);
|
|
234
|
+
let e = r.kind === "mesh" ? r.indices.length : r.count;
|
|
235
|
+
if (e <= 0) continue;
|
|
236
|
+
let t = R(r);
|
|
237
|
+
if (!t.vertex) continue;
|
|
238
|
+
_.queue.writeBuffer(t.uniform, 0, a(r, n, F));
|
|
239
|
+
let i = j(r);
|
|
240
|
+
if (i) {
|
|
241
|
+
if (s.setPipeline(i), s.setBindGroup(0, t.bindGroup), s.setVertexBuffer(0, t.vertex), r.kind === "mesh") {
|
|
242
|
+
if (!t.index) continue;
|
|
243
|
+
s.setIndexBuffer(t.index, "uint32"), s.drawIndexed(e);
|
|
244
|
+
} else s.draw(4, e);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
s.end(), _.queue.submit([o.finish()]);
|
|
248
|
+
for (let [e, t] of P) c.has(e) || (L(t), t.uniform.destroy(), P.delete(e));
|
|
249
|
+
},
|
|
250
|
+
destroy() {
|
|
251
|
+
b = !0;
|
|
252
|
+
for (let e of P.values()) L(e), e.uniform.destroy();
|
|
253
|
+
P.clear(), M?.color.destroy(), M?.depth.destroy(), M = null, v.unconfigure(), _.destroy();
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
//#endregion
|
|
258
|
+
export { d as createWebGpu3D };
|
|
259
|
+
|
|
260
|
+
//# sourceMappingURL=webgpu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgpu.js","names":["BUFFER_INDEX","BUFFER_VERTEX","BUFFER_COPY_DST","TEXTURE_RENDER_ATTACHMENT","SAMPLES","createWebGpu3D","gpu","adapter","fallback","requireHardware","device","context","canvas","format","destroyed","onLost","bindGroupLayout","layout","blend","additive","pipeline","module","blending","depthWrite","pointBuffers","meshBuffers","lineBuffers","pipelines","WGSL_POINTS","WGSL_MESH","WGSL_LINES","additivePoints","pipelineOf","item","variants","writesDepth","targets","renderTargets","width","height","resources","uniformData","buffer","bytes","data","gpuBuffer","usage","release","res","upload","indices","vertex","index","uniform","encoder","pass","color","depth","seen","drawOrder","items","count","itemUniforms","frame","chosen","key"],"sources":["../../../../../charts/src/engine/three-d/webgpu.ts"],"sourcesContent":["// WebGPU backend of the 3D charts: 4× MSAA, a depth buffer, one draw per\n// item (instanced billboards / segments, indexed triangles).\n\nimport type { RendererLostHandler } from \"../renderers/types\";\nimport {\n POINT_STRIDE,\n SEGMENT_STRIDE,\n VERTEX_STRIDE,\n drawOrder,\n type Item3D,\n type Renderer3D,\n} from \"./render-types\";\nimport {\n UNIFORM_BYTES,\n WGSL_LINES,\n WGSL_MESH,\n WGSL_POINTS,\n itemUniforms,\n writesDepth,\n} from \"./shaders\";\n\n// lib.dom has the WebGPU interfaces but not these constant objects\nconst BUFFER_INDEX = 0x10;\nconst BUFFER_VERTEX = 0x20;\nconst BUFFER_UNIFORM = 0x40;\nconst BUFFER_COPY_DST = 0x08;\nconst STAGE_VERTEX = 0x1;\nconst STAGE_FRAGMENT = 0x2;\nconst TEXTURE_RENDER_ATTACHMENT = 0x10;\n\nconst SAMPLES = 4;\n\ninterface ItemResources {\n version: number;\n kind: Item3D[\"kind\"];\n vertex: GPUBuffer | null;\n index: GPUBuffer | null;\n /** `order` of the uploaded indices (meshes) */\n order: number;\n uniform: GPUBuffer;\n bindGroup: GPUBindGroup;\n}\n\ntype GpuNavigator = Navigator & { gpu?: GPU };\n\nexport const createWebGpu3D = async (\n canvas: HTMLCanvasElement,\n onLost: RendererLostHandler,\n /** Refuses fallback (software) adapters */\n requireHardware = false,\n): Promise<Renderer3D | null> => {\n const gpu =\n typeof navigator !== \"undefined\"\n ? (navigator as GpuNavigator).gpu\n : undefined;\n if (!gpu) return null;\n const adapter = await gpu.requestAdapter();\n if (!adapter) return null;\n const fallback = adapter as GPUAdapter & {\n isFallbackAdapter?: boolean;\n info?: { isFallbackAdapter?: boolean };\n };\n if (\n requireHardware &&\n (fallback.info?.isFallbackAdapter || fallback.isFallbackAdapter)\n ) {\n return null;\n }\n const device = await adapter.requestDevice();\n const context = canvas.getContext(\"webgpu\") as GPUCanvasContext | null;\n if (!context) {\n device.destroy();\n return null;\n }\n const format = gpu.getPreferredCanvasFormat();\n context.configure({ device, format, alphaMode: \"premultiplied\" });\n\n let destroyed = false;\n void device.lost.then(() => {\n if (!destroyed) onLost();\n });\n\n const bindGroupLayout = device.createBindGroupLayout({\n entries: [\n {\n binding: 0,\n visibility: STAGE_VERTEX | STAGE_FRAGMENT,\n buffer: { type: \"uniform\" },\n },\n ],\n });\n const layout = device.createPipelineLayout({\n bindGroupLayouts: [bindGroupLayout],\n });\n const blend: GPUBlendState = {\n color: {\n srcFactor: \"one\",\n dstFactor: \"one-minus-src-alpha\",\n operation: \"add\",\n },\n alpha: {\n srcFactor: \"one\",\n dstFactor: \"one-minus-src-alpha\",\n operation: \"add\",\n },\n };\n // additive points: the colors add up, the coverage composites as usual\n const additive: GPUBlendState = {\n color: { srcFactor: \"one\", dstFactor: \"one\", operation: \"add\" },\n alpha: blend.alpha,\n };\n const pipeline = (\n code: string,\n buffers: GPUVertexBufferLayout[],\n topology: GPUPrimitiveTopology,\n depthWrite: boolean,\n blending: GPUBlendState = blend,\n ) => {\n const module = device.createShaderModule({ code });\n return device.createRenderPipeline({\n layout,\n vertex: { module, entryPoint: \"vs\", buffers },\n fragment: {\n module,\n entryPoint: \"fs\",\n targets: [{ format, blend: blending }],\n },\n primitive: { topology, cullMode: \"none\" },\n depthStencil: {\n format: \"depth24plus\",\n depthWriteEnabled: depthWrite,\n depthCompare: \"less-equal\",\n },\n multisample: { count: SAMPLES },\n });\n };\n const pointBuffers: GPUVertexBufferLayout[] = [\n {\n arrayStride: POINT_STRIDE,\n stepMode: \"instance\",\n attributes: [\n { shaderLocation: 0, offset: 0, format: \"float32x3\" },\n { shaderLocation: 1, offset: 12, format: \"float32\" },\n { shaderLocation: 2, offset: 16, format: \"unorm8x4\" },\n ],\n },\n ];\n const meshBuffers: GPUVertexBufferLayout[] = [\n {\n arrayStride: VERTEX_STRIDE,\n stepMode: \"vertex\",\n attributes: [\n { shaderLocation: 0, offset: 0, format: \"float32x3\" },\n { shaderLocation: 1, offset: 12, format: \"float32x3\" },\n { shaderLocation: 2, offset: 24, format: \"unorm8x4\" },\n ],\n },\n ];\n const lineBuffers: GPUVertexBufferLayout[] = [\n {\n arrayStride: SEGMENT_STRIDE,\n stepMode: \"instance\",\n attributes: [\n { shaderLocation: 0, offset: 0, format: \"float32x3\" },\n { shaderLocation: 1, offset: 12, format: \"float32x3\" },\n { shaderLocation: 2, offset: 24, format: \"unorm8x4\" },\n ],\n },\n ];\n const pipelines = {\n points: [\n pipeline(WGSL_POINTS, pointBuffers, \"triangle-strip\", false),\n pipeline(WGSL_POINTS, pointBuffers, \"triangle-strip\", true),\n ],\n mesh: [\n pipeline(WGSL_MESH, meshBuffers, \"triangle-list\", false),\n pipeline(WGSL_MESH, meshBuffers, \"triangle-list\", true),\n ],\n lines: [\n pipeline(WGSL_LINES, lineBuffers, \"triangle-strip\", false),\n pipeline(WGSL_LINES, lineBuffers, \"triangle-strip\", true),\n ],\n };\n let additivePoints: GPURenderPipeline | null = null;\n const pipelineOf = (item: Item3D) => {\n if (item.kind === \"points\" && item.additive) {\n additivePoints ??= pipeline(\n WGSL_POINTS,\n pointBuffers,\n \"triangle-strip\",\n false,\n additive,\n );\n return additivePoints;\n }\n const variants = pipelines[item.kind];\n return variants[writesDepth(item) ? variants.length - 1 : 0];\n };\n\n let targets: {\n width: number;\n height: number;\n color: GPUTexture;\n depth: GPUTexture;\n } | null = null;\n const renderTargets = () => {\n const width = canvas.width;\n const height = canvas.height;\n if (targets && targets.width === width && targets.height === height)\n return targets;\n targets?.color.destroy();\n targets?.depth.destroy();\n targets = {\n width,\n height,\n color: device.createTexture({\n size: [width, height],\n sampleCount: SAMPLES,\n format,\n usage: TEXTURE_RENDER_ATTACHMENT,\n }),\n depth: device.createTexture({\n size: [width, height],\n sampleCount: SAMPLES,\n format: \"depth24plus\",\n usage: TEXTURE_RENDER_ATTACHMENT,\n }),\n };\n return targets;\n };\n\n const resources = new Map<string, ItemResources>();\n const uniformData = new Float32Array(UNIFORM_BYTES / 4);\n\n const buffer = (data: ArrayBuffer | Uint32Array, usage: number) => {\n const bytes = data.byteLength;\n if (bytes <= 0) return null;\n const gpuBuffer = device.createBuffer({\n size: Math.max(16, Math.ceil(bytes / 4) * 4),\n usage: usage | BUFFER_COPY_DST,\n });\n if (data instanceof Uint32Array) {\n device.queue.writeBuffer(\n gpuBuffer,\n 0,\n data.buffer,\n data.byteOffset,\n bytes,\n );\n } else {\n device.queue.writeBuffer(gpuBuffer, 0, data);\n }\n return gpuBuffer;\n };\n\n const release = (res: ItemResources) => {\n res.vertex?.destroy();\n res.index?.destroy();\n };\n\n const upload = (item: Item3D): ItemResources => {\n let res = resources.get(item.key);\n if (res && res.version === item.version && res.kind === item.kind) {\n // same mesh, triangles in a new order (transparent, sorted by depth)\n if (\n item.kind === \"mesh\" &&\n res.index &&\n (item.order ?? 0) !== res.order\n ) {\n const { indices } = item;\n device.queue.writeBuffer(\n res.index,\n 0,\n indices.buffer,\n indices.byteOffset,\n indices.byteLength,\n );\n res.order = item.order ?? 0;\n }\n return res;\n }\n if (res) release(res);\n const vertex = buffer(\n item.kind === \"mesh\" ? item.vertices : item.data,\n BUFFER_VERTEX,\n );\n const index =\n item.kind === \"mesh\" ? buffer(item.indices, BUFFER_INDEX) : null;\n if (!res) {\n const uniform = device.createBuffer({\n size: UNIFORM_BYTES,\n usage: BUFFER_UNIFORM | BUFFER_COPY_DST,\n });\n res = {\n version: item.version,\n kind: item.kind,\n vertex,\n index,\n order: item.kind === \"mesh\" ? (item.order ?? 0) : 0,\n uniform,\n bindGroup: device.createBindGroup({\n layout: bindGroupLayout,\n entries: [{ binding: 0, resource: { buffer: uniform } }],\n }),\n };\n resources.set(item.key, res);\n } else {\n res.version = item.version;\n res.kind = item.kind;\n res.vertex = vertex;\n res.index = index;\n res.order = item.kind === \"mesh\" ? (item.order ?? 0) : 0;\n }\n return res;\n };\n\n return {\n kind: \"webgpu\",\n canvas,\n resize(width, height) {\n canvas.width = Math.max(1, width);\n canvas.height = Math.max(1, height);\n },\n render(items, frame) {\n if (destroyed) return;\n const { color, depth } = renderTargets();\n const encoder = device.createCommandEncoder();\n const pass = encoder.beginRenderPass({\n colorAttachments: [\n {\n view: color.createView(),\n resolveTarget: context.getCurrentTexture().createView(),\n clearValue: { r: 0, g: 0, b: 0, a: 0 },\n loadOp: \"clear\",\n storeOp: \"discard\",\n },\n ],\n depthStencilAttachment: {\n view: depth.createView(),\n depthClearValue: 1,\n depthLoadOp: \"clear\",\n depthStoreOp: \"discard\",\n },\n });\n const seen = new Set<string>();\n for (const item of drawOrder(items)) {\n seen.add(item.key);\n const count = item.kind === \"mesh\" ? item.indices.length : item.count;\n if (count <= 0) continue;\n const res = upload(item);\n if (!res.vertex) continue;\n device.queue.writeBuffer(\n res.uniform,\n 0,\n itemUniforms(item, frame, uniformData),\n );\n const chosen = pipelineOf(item);\n if (!chosen) continue;\n pass.setPipeline(chosen);\n pass.setBindGroup(0, res.bindGroup);\n pass.setVertexBuffer(0, res.vertex);\n if (item.kind === \"mesh\") {\n if (!res.index) continue;\n pass.setIndexBuffer(res.index, \"uint32\");\n pass.drawIndexed(count);\n } else {\n pass.draw(4, count);\n }\n }\n pass.end();\n device.queue.submit([encoder.finish()]);\n for (const [key, res] of resources) {\n if (!seen.has(key)) {\n release(res);\n res.uniform.destroy();\n resources.delete(key);\n }\n }\n },\n destroy() {\n destroyed = true;\n for (const res of resources.values()) {\n release(res);\n res.uniform.destroy();\n }\n resources.clear();\n targets?.color.destroy();\n targets?.depth.destroy();\n targets = null;\n context.unconfigure();\n device.destroy();\n },\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./scale.cjs");var
|
|
1
|
+
const e=require("./locale.cjs"),t=require("./scale.cjs");var n=1e3,r=60*n,i=60*r,a=24*i,o=30*a,s=365*a,c=[{unit:`second`,step:1,ms:n},{unit:`second`,step:5,ms:5*n},{unit:`second`,step:15,ms:15*n},{unit:`second`,step:30,ms:30*n},{unit:`minute`,step:1,ms:r},{unit:`minute`,step:5,ms:5*r},{unit:`minute`,step:15,ms:15*r},{unit:`minute`,step:30,ms:30*r},{unit:`hour`,step:1,ms:i},{unit:`hour`,step:3,ms:3*i},{unit:`hour`,step:6,ms:6*i},{unit:`hour`,step:12,ms:12*i},{unit:`day`,step:1,ms:a},{unit:`day`,step:2,ms:2*a},{unit:`day`,step:7,ms:7*a},{unit:`month`,step:1,ms:o},{unit:`month`,step:3,ms:3*o},{unit:`month`,step:6,ms:6*o}],l=(e,t=2)=>String(e).padStart(t,`0`),u=(e,t)=>{let n=new Date(e);return t?{year:n.getUTCFullYear(),month:n.getUTCMonth(),date:n.getUTCDate(),day:n.getUTCDay(),hours:n.getUTCHours(),minutes:n.getUTCMinutes(),seconds:n.getUTCSeconds(),ms:n.getUTCMilliseconds()}:{year:n.getFullYear(),month:n.getMonth(),date:n.getDate(),day:n.getDay(),hours:n.getHours(),minutes:n.getMinutes(),seconds:n.getSeconds(),ms:n.getMilliseconds()}},d=(e,t,n,r=1,i=0,a=0,o=0)=>{if(e){let e=Date.UTC(t,n,r,i,a,o);if(t>=0&&t<100){let t=new Date(e);return t.setUTCFullYear(t.getUTCFullYear()-1900),t.getTime()}return e}let s=new Date(t,n,r,i,a,o);return t>=0&&t<100&&s.setFullYear(s.getFullYear()-1900),s.getTime()},f=(e,r)=>{let i=e/Math.max(1,r);if(i<n*.75)return{unit:`millisecond`,step:t.tickStep(0,e,r),ms:1};for(let e of c)if(e.ms>=i*.75)return e;let a=Math.max(1,t.tickStep(0,e/s,r));return{unit:`year`,step:Math.round(a),ms:Math.round(a)*s}},p=(e,{unit:t,step:n},r)=>{let i=u(e,r);switch(t){case`second`:return d(r,i.year,i.month,i.date,i.hours,i.minutes,i.seconds-i.seconds%n);case`minute`:return d(r,i.year,i.month,i.date,i.hours,i.minutes-i.minutes%n);case`hour`:return d(r,i.year,i.month,i.date,i.hours-i.hours%n);case`day`:return d(r,i.year,i.month,i.date-(n===7?(i.day+6)%7:0));case`month`:return d(r,i.year,i.month-i.month%n);case`year`:return d(r,i.year-i.year%n,0);default:return e}},m=(e,{unit:t,step:n},r)=>{let{year:i,month:a,date:o,hours:s,minutes:c,seconds:l}=u(e,r);switch(t){case`second`:return d(r,i,a,o,s,c,l+n);case`minute`:return d(r,i,a,o,s,c+n,l);case`hour`:return d(r,i,a,o,s+n,c,l);case`day`:return d(r,i,a,o+n,s,c,l);case`month`:return d(r,i,a+n,o,s,c,l);case`year`:return d(r,i+n,a,o,s,c,l);default:return e+n}},h=(e,n,r,i,a=`local`)=>{e>n&&([e,n]=[n,e]);let o=f(n-e,r);if(o.unit===`millisecond`)return{values:t.linearTicks(e,n,r),unit:`millisecond`,format:e=>w(e,`millisecond`,i,a)};let s=a===`utc`,c=[],l=p(e,o,s);for(;l<e;)l=m(l,o,s);for(;l<=n&&c.length<500;)c.push(l),l=m(l,o,s);let{unit:u}=o;return{values:c,unit:u,format:e=>C(e,u,i,a)}},g=e=>`${e.year}-${l(e.month+1)}-${l(e.date)}`,_=e=>`${l(e.hours)}:${l(e.minutes)}`,v={hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`},y={...v,second:`2-digit`},b={month:`short`,day:`numeric`},x={year:`numeric`,month:`short`,day:`numeric`},S=(t,n,r)=>e.dateFormat(t,n===`utc`?{...r,timeZone:`UTC`}:r),C=(e,t,n,r)=>{let i=u(e,r===`utc`),a=i.hours===0&&i.minutes===0&&i.seconds===0,o=i.month===0&&i.date===1;if(n){let s=t=>S(n,r,t).format(e);switch(t){case`second`:return s(y);case`minute`:case`hour`:return s(a?b:v);case`day`:return s(o?{year:`numeric`}:b);case`month`:return s(i.month===0?{year:`numeric`}:{month:`short`});default:return s({year:`numeric`})}}switch(t){case`second`:return`${_(i)}:${l(i.seconds)}`;case`minute`:case`hour`:return a?`${l(i.month+1)}-${l(i.date)}`:_(i);case`day`:return o?String(i.year):`${l(i.month+1)}-${l(i.date)}`;case`month`:return i.month===0?String(i.year):`${i.year}-${l(i.month+1)}`;default:return String(i.year)}},w=(e,t=`minute`,n,r=`local`)=>{if(!Number.isFinite(e)||Number.isNaN(new Date(e).getTime()))return`–`;let i=u(e,r===`utc`);if(n){let a=t=>S(n,r,t).format(e);switch(t){case`millisecond`:return`${a({...x,...y})}.${l(i.ms,3)}`;case`second`:return a({...x,...y});case`minute`:case`hour`:return a({...x,...v});default:return a({...x,weekday:`short`})}}switch(t){case`millisecond`:return`${g(i)} ${_(i)}:${l(i.seconds)}.${l(i.ms,3)}`;case`second`:return`${g(i)} ${_(i)}:${l(i.seconds)}`;case`minute`:case`hour`:return`${g(i)} ${_(i)}`;default:return g(i)}};exports.formatTime=w,exports.timeTicks=h;
|
|
2
2
|
//# sourceMappingURL=time.cjs.map
|