minerva-design 1.4.0 → 1.6.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 +15 -0
- package/README.md +21 -21
- package/custom-elements.json +3072 -611
- package/dist/angular/fesm2022/minerva-angular.mjs +1491 -5
- package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
- package/dist/angular/types/minerva-angular.d.ts +595 -5
- package/dist/charts/canvas.d.cts +4 -3
- package/dist/charts/canvas.d.ts +4 -3
- package/dist/charts/core.cjs +1 -1
- package/dist/charts/core.d.cts +6 -4
- package/dist/charts/core.d.ts +6 -4
- package/dist/charts/core.js +24 -16
- package/dist/charts/engine/axis.cjs +1 -1
- package/dist/charts/engine/axis.cjs.map +1 -1
- package/dist/charts/engine/axis.js +42 -19
- 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.js +155 -127
- 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.js +370 -255
- 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 +48 -2
- 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 +34 -1
- package/dist/charts/engine/controller.d.ts +34 -1
- package/dist/charts/engine/controller.js +318 -273
- 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 +3 -1
- package/dist/charts/engine/data.d.ts +3 -1
- package/dist/charts/engine/data.js +6 -4
- 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 +6 -0
- package/dist/charts/engine/format.d.ts +6 -0
- package/dist/charts/engine/format.js +15 -2
- 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 +1708 -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 +339 -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 +76 -0
- package/dist/charts/engine/graph/force.d.ts +76 -0
- package/dist/charts/engine/graph/force.js +423 -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 +50 -0
- package/dist/charts/engine/graph/geometry.d.ts +50 -0
- package/dist/charts/engine/graph/geometry.js +197 -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 +52 -0
- package/dist/charts/engine/graph/model.d.ts +52 -0
- package/dist/charts/engine/graph/model.js +108 -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 +640 -0
- package/dist/charts/engine/graph/types.d.ts +640 -0
- package/dist/charts/engine/graph/worker.cjs +52 -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 +135 -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 +131 -112
- package/dist/charts/engine/items.js.map +1 -1
- package/dist/charts/engine/labels.cjs +1 -1
- package/dist/charts/engine/labels.cjs.map +1 -1
- package/dist/charts/engine/labels.d.cts +17 -0
- package/dist/charts/engine/labels.d.ts +17 -0
- package/dist/charts/engine/labels.js +28 -4
- package/dist/charts/engine/labels.js.map +1 -1
- package/dist/charts/engine/layout.cjs +1 -1
- package/dist/charts/engine/layout.cjs.map +1 -1
- package/dist/charts/engine/layout.d.cts +9 -0
- package/dist/charts/engine/layout.d.ts +9 -0
- package/dist/charts/engine/layout.js +11 -2
- package/dist/charts/engine/layout.js.map +1 -1
- package/dist/charts/engine/model.cjs +1 -1
- package/dist/charts/engine/model.cjs.map +1 -1
- package/dist/charts/engine/model.d.cts +73 -3
- package/dist/charts/engine/model.d.ts +73 -3
- package/dist/charts/engine/model.js +258 -154
- package/dist/charts/engine/model.js.map +1 -1
- package/dist/charts/engine/orderbook/field.cjs +37 -0
- package/dist/charts/engine/orderbook/field.cjs.map +1 -0
- package/dist/charts/engine/orderbook/field.d.cts +92 -0
- package/dist/charts/engine/orderbook/field.d.ts +92 -0
- package/dist/charts/engine/orderbook/field.js +297 -0
- package/dist/charts/engine/orderbook/field.js.map +1 -0
- package/dist/charts/engine/orderbook/format.cjs +1 -1
- package/dist/charts/engine/orderbook/format.cjs.map +1 -1
- package/dist/charts/engine/orderbook/format.d.cts +3 -2
- package/dist/charts/engine/orderbook/format.d.ts +3 -2
- package/dist/charts/engine/orderbook/format.js +5 -5
- package/dist/charts/engine/orderbook/format.js.map +1 -1
- package/dist/charts/engine/orderbook/heatmap.cjs +1 -1
- package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -1
- package/dist/charts/engine/orderbook/heatmap.js +566 -475
- package/dist/charts/engine/orderbook/heatmap.js.map +1 -1
- package/dist/charts/engine/orderbook/host.cjs +1 -1
- package/dist/charts/engine/orderbook/host.cjs.map +1 -1
- package/dist/charts/engine/orderbook/host.d.cts +8 -1
- package/dist/charts/engine/orderbook/host.d.ts +8 -1
- package/dist/charts/engine/orderbook/host.js +27 -5
- package/dist/charts/engine/orderbook/host.js.map +1 -1
- package/dist/charts/engine/orderbook/ladder.cjs +1 -1
- package/dist/charts/engine/orderbook/ladder.cjs.map +1 -1
- package/dist/charts/engine/orderbook/ladder.js +1 -1
- package/dist/charts/engine/orderbook/ladder.js.map +1 -1
- 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 +42 -0
- package/dist/charts/engine/orderbook/layout.d.ts +42 -0
- package/dist/charts/engine/orderbook/layout.js +76 -0
- package/dist/charts/engine/orderbook/layout.js.map +1 -0
- package/dist/charts/engine/orderbook/tape.cjs +1 -1
- package/dist/charts/engine/orderbook/tape.cjs.map +1 -1
- package/dist/charts/engine/orderbook/tape.js +4 -4
- package/dist/charts/engine/orderbook/tape.js.map +1 -1
- package/dist/charts/engine/orderbook/types.d.cts +27 -3
- package/dist/charts/engine/orderbook/types.d.ts +27 -3
- package/dist/charts/engine/overlay.cjs +1 -1
- package/dist/charts/engine/overlay.cjs.map +1 -1
- package/dist/charts/engine/overlay.d.cts +27 -0
- package/dist/charts/engine/overlay.d.ts +27 -0
- package/dist/charts/engine/overlay.js +34 -12
- 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 +35 -3
- package/dist/charts/engine/presets.d.ts +35 -3
- package/dist/charts/engine/presets.js +121 -101
- package/dist/charts/engine/presets.js.map +1 -1
- package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
- package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
- package/dist/charts/engine/renderers/canvas2d.js +13 -9
- package/dist/charts/engine/renderers/canvas2d.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 +23 -21
- package/dist/charts/engine/renderers/detect.js.map +1 -1
- package/dist/charts/engine/renderers/follow.cjs +2 -0
- package/dist/charts/engine/renderers/follow.cjs.map +1 -0
- package/dist/charts/engine/renderers/follow.d.cts +8 -0
- package/dist/charts/engine/renderers/follow.d.ts +8 -0
- package/dist/charts/engine/renderers/follow.js +10 -0
- package/dist/charts/engine/renderers/follow.js.map +1 -0
- package/dist/charts/engine/renderers/gl-budget.cjs +2 -0
- package/dist/charts/engine/renderers/gl-budget.cjs.map +1 -0
- package/dist/charts/engine/renderers/gl-budget.d.cts +32 -0
- package/dist/charts/engine/renderers/gl-budget.d.ts +32 -0
- package/dist/charts/engine/renderers/gl-budget.js +95 -0
- package/dist/charts/engine/renderers/gl-budget.js.map +1 -0
- package/dist/charts/engine/renderers/gl.cjs +1 -1
- package/dist/charts/engine/renderers/gl.cjs.map +1 -1
- package/dist/charts/engine/renderers/gl.js +1 -1
- package/dist/charts/engine/renderers/gl.js.map +1 -1
- package/dist/charts/engine/renderers/shaders.cjs +9 -6
- package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
- package/dist/charts/engine/renderers/shaders.d.cts +1 -1
- package/dist/charts/engine/renderers/shaders.d.ts +1 -1
- package/dist/charts/engine/renderers/shaders.js +9 -6
- package/dist/charts/engine/renderers/shaders.js.map +1 -1
- package/dist/charts/engine/renderers/types.cjs.map +1 -1
- package/dist/charts/engine/renderers/types.d.cts +2 -0
- package/dist/charts/engine/renderers/types.d.ts +2 -0
- package/dist/charts/engine/renderers/types.js.map +1 -1
- package/dist/charts/engine/renderers/webgl.cjs +1 -1
- package/dist/charts/engine/renderers/webgl.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgl.js +85 -64
- package/dist/charts/engine/renderers/webgl.js.map +1 -1
- 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.js +72 -58
- package/dist/charts/engine/renderers/webgl2.js.map +1 -1
- package/dist/charts/engine/renderers/webgpu.cjs +1 -1
- package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgpu.js +1 -1
- package/dist/charts/engine/renderers/webgpu.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 +104 -4
- package/dist/charts/engine/scene.d.ts +104 -4
- package/dist/charts/engine/scene.js +412 -193
- package/dist/charts/engine/scene.js.map +1 -1
- package/dist/charts/engine/shapes/bullet.cjs +1 -1
- package/dist/charts/engine/shapes/bullet.cjs.map +1 -1
- package/dist/charts/engine/shapes/bullet.js +110 -110
- package/dist/charts/engine/shapes/bullet.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.js +4 -1
- 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 +419 -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 +5 -1
- package/dist/charts/engine/shapes/draw.d.ts +5 -1
- package/dist/charts/engine/shapes/draw.js +47 -17
- package/dist/charts/engine/shapes/draw.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 +3 -1
- package/dist/charts/engine/shapes/hit.d.ts +3 -1
- package/dist/charts/engine/shapes/hit.js +75 -46
- package/dist/charts/engine/shapes/hit.js.map +1 -1
- package/dist/charts/engine/shapes/index.d.cts +3 -2
- package/dist/charts/engine/shapes/index.d.ts +3 -2
- package/dist/charts/engine/shapes/labels.cjs +1 -1
- package/dist/charts/engine/shapes/labels.cjs.map +1 -1
- package/dist/charts/engine/shapes/labels.js +12 -4
- package/dist/charts/engine/shapes/labels.js.map +1 -1
- 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 +3 -1
- package/dist/charts/engine/shapes/layout.d.ts +3 -1
- package/dist/charts/engine/shapes/layout.js +106 -78
- package/dist/charts/engine/shapes/layout.js.map +1 -1
- 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 +33 -3
- package/dist/charts/engine/shapes/scene.d.ts +33 -3
- package/dist/charts/engine/shapes/scene.js +62 -19
- package/dist/charts/engine/shapes/scene.js.map +1 -1
- package/dist/charts/engine/shapes/types.d.cts +121 -8
- package/dist/charts/engine/shapes/types.d.ts +121 -8
- 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 +1 -1
- package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -1
- package/dist/charts/engine/three-d/canvas2d.d.cts +41 -3
- package/dist/charts/engine/three-d/canvas2d.d.ts +41 -3
- package/dist/charts/engine/three-d/canvas2d.js +166 -67
- package/dist/charts/engine/three-d/canvas2d.js.map +1 -1
- package/dist/charts/engine/three-d/chart.cjs +1 -1
- package/dist/charts/engine/three-d/chart.cjs.map +1 -1
- package/dist/charts/engine/three-d/chart.js +219 -215
- package/dist/charts/engine/three-d/chart.js.map +1 -1
- package/dist/charts/engine/three-d/detect.cjs +1 -1
- package/dist/charts/engine/three-d/detect.cjs.map +1 -1
- package/dist/charts/engine/three-d/detect.d.cts +3 -2
- package/dist/charts/engine/three-d/detect.d.ts +3 -2
- package/dist/charts/engine/three-d/detect.js +22 -20
- package/dist/charts/engine/three-d/detect.js.map +1 -1
- package/dist/charts/engine/three-d/geometry.cjs +1 -1
- package/dist/charts/engine/three-d/geometry.cjs.map +1 -1
- package/dist/charts/engine/three-d/geometry.d.cts +6 -0
- package/dist/charts/engine/three-d/geometry.d.ts +6 -0
- package/dist/charts/engine/three-d/geometry.js +106 -90
- package/dist/charts/engine/three-d/geometry.js.map +1 -1
- package/dist/charts/engine/three-d/model.cjs +1 -1
- package/dist/charts/engine/three-d/model.cjs.map +1 -1
- package/dist/charts/engine/three-d/model.d.cts +2 -0
- package/dist/charts/engine/three-d/model.d.ts +2 -0
- package/dist/charts/engine/three-d/model.js +2 -0
- package/dist/charts/engine/three-d/model.js.map +1 -1
- package/dist/charts/engine/three-d/oit.cjs +109 -0
- package/dist/charts/engine/three-d/oit.cjs.map +1 -0
- package/dist/charts/engine/three-d/oit.d.cts +34 -0
- package/dist/charts/engine/three-d/oit.d.ts +34 -0
- package/dist/charts/engine/three-d/oit.js +111 -0
- package/dist/charts/engine/three-d/oit.js.map +1 -0
- package/dist/charts/engine/three-d/overlay.cjs +1 -1
- package/dist/charts/engine/three-d/overlay.cjs.map +1 -1
- package/dist/charts/engine/three-d/overlay.js +43 -36
- package/dist/charts/engine/three-d/overlay.js.map +1 -1
- package/dist/charts/engine/three-d/render-types.cjs +1 -1
- package/dist/charts/engine/three-d/render-types.cjs.map +1 -1
- package/dist/charts/engine/three-d/render-types.d.cts +37 -3
- package/dist/charts/engine/three-d/render-types.d.ts +37 -3
- package/dist/charts/engine/three-d/render-types.js +6 -10
- package/dist/charts/engine/three-d/render-types.js.map +1 -1
- package/dist/charts/engine/three-d/shaders.cjs +109 -48
- package/dist/charts/engine/three-d/shaders.cjs.map +1 -1
- package/dist/charts/engine/three-d/shaders.d.cts +12 -5
- package/dist/charts/engine/three-d/shaders.d.ts +12 -5
- package/dist/charts/engine/three-d/shaders.js +118 -55
- package/dist/charts/engine/three-d/shaders.js.map +1 -1
- package/dist/charts/engine/three-d/sort.cjs +1 -1
- package/dist/charts/engine/three-d/sort.cjs.map +1 -1
- package/dist/charts/engine/three-d/sort.d.cts +18 -5
- package/dist/charts/engine/three-d/sort.d.ts +18 -5
- package/dist/charts/engine/three-d/sort.js +129 -43
- package/dist/charts/engine/three-d/sort.js.map +1 -1
- package/dist/charts/engine/three-d/types.d.cts +36 -0
- package/dist/charts/engine/three-d/types.d.ts +36 -0
- package/dist/charts/engine/three-d/webgl.cjs +1 -1
- package/dist/charts/engine/three-d/webgl.cjs.map +1 -1
- package/dist/charts/engine/three-d/webgl.d.cts +9 -0
- package/dist/charts/engine/three-d/webgl.d.ts +9 -0
- package/dist/charts/engine/three-d/webgl.js +199 -74
- package/dist/charts/engine/three-d/webgl.js.map +1 -1
- package/dist/charts/engine/three-d/webgpu.cjs +1 -1
- package/dist/charts/engine/three-d/webgpu.cjs.map +1 -1
- package/dist/charts/engine/three-d/webgpu.js +231 -94
- package/dist/charts/engine/three-d/webgpu.js.map +1 -1
- package/dist/charts/engine/trading/chart.cjs +1 -1
- package/dist/charts/engine/trading/chart.cjs.map +1 -1
- package/dist/charts/engine/trading/chart.d.cts +10 -1
- package/dist/charts/engine/trading/chart.d.ts +10 -1
- package/dist/charts/engine/trading/chart.js +1677 -813
- package/dist/charts/engine/trading/chart.js.map +1 -1
- package/dist/charts/engine/trading/drawings.cjs +2 -1
- package/dist/charts/engine/trading/drawings.cjs.map +1 -1
- package/dist/charts/engine/trading/drawings.d.cts +53 -9
- package/dist/charts/engine/trading/drawings.d.ts +53 -9
- package/dist/charts/engine/trading/drawings.js +346 -71
- package/dist/charts/engine/trading/drawings.js.map +1 -1
- package/dist/charts/engine/trading/format.cjs +1 -1
- package/dist/charts/engine/trading/format.cjs.map +1 -1
- package/dist/charts/engine/trading/format.d.cts +19 -0
- package/dist/charts/engine/trading/format.d.ts +19 -0
- package/dist/charts/engine/trading/format.js +65 -21
- package/dist/charts/engine/trading/format.js.map +1 -1
- package/dist/charts/engine/trading/geometry.cjs +1 -1
- package/dist/charts/engine/trading/geometry.cjs.map +1 -1
- package/dist/charts/engine/trading/geometry.d.cts +16 -0
- package/dist/charts/engine/trading/geometry.d.ts +16 -0
- package/dist/charts/engine/trading/geometry.js +19 -4
- package/dist/charts/engine/trading/geometry.js.map +1 -1
- package/dist/charts/engine/trading/index.cjs +1 -1
- package/dist/charts/engine/trading/index.d.cts +2 -1
- package/dist/charts/engine/trading/index.d.ts +2 -1
- package/dist/charts/engine/trading/index.js +4 -3
- package/dist/charts/engine/trading/indicators.cjs +1 -1
- package/dist/charts/engine/trading/indicators.cjs.map +1 -1
- package/dist/charts/engine/trading/indicators.d.cts +180 -10
- package/dist/charts/engine/trading/indicators.d.ts +180 -10
- package/dist/charts/engine/trading/indicators.js +449 -173
- package/dist/charts/engine/trading/indicators.js.map +1 -1
- package/dist/charts/engine/trading/labels.cjs +1 -1
- package/dist/charts/engine/trading/labels.cjs.map +1 -1
- package/dist/charts/engine/trading/labels.js +104 -4
- package/dist/charts/engine/trading/labels.js.map +1 -1
- package/dist/charts/engine/trading/store.cjs +1 -1
- package/dist/charts/engine/trading/store.cjs.map +1 -1
- package/dist/charts/engine/trading/store.d.cts +21 -0
- package/dist/charts/engine/trading/store.d.ts +21 -0
- package/dist/charts/engine/trading/store.js +22 -1
- package/dist/charts/engine/trading/store.js.map +1 -1
- package/dist/charts/engine/trading/studies.cjs +1 -1
- package/dist/charts/engine/trading/studies.cjs.map +1 -1
- package/dist/charts/engine/trading/studies.d.cts +49 -8
- package/dist/charts/engine/trading/studies.d.ts +49 -8
- package/dist/charts/engine/trading/studies.js +352 -93
- package/dist/charts/engine/trading/studies.js.map +1 -1
- 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 +514 -16
- package/dist/charts/engine/trading/types.d.ts +514 -16
- package/dist/charts/engine/types.d.cts +106 -11
- package/dist/charts/engine/types.d.ts +106 -11
- package/dist/charts/index.cjs +1 -1
- package/dist/charts/index.d.cts +3 -2
- package/dist/charts/index.d.ts +3 -2
- package/dist/charts/index.js +30 -22
- package/dist/charts/react/charts.cjs +1 -1
- package/dist/charts/react/charts.cjs.map +1 -1
- package/dist/charts/react/charts.js +51 -34
- 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 +219 -0
- package/dist/charts/react/graph.d.ts +219 -0
- package/dist/charts/react/graph.js +160 -0
- package/dist/charts/react/graph.js.map +1 -0
- package/dist/charts/react/orderbook.cjs +1 -1
- package/dist/charts/react/orderbook.cjs.map +1 -1
- package/dist/charts/react/orderbook.d.cts +3 -1
- package/dist/charts/react/orderbook.d.ts +3 -1
- package/dist/charts/react/orderbook.js +1 -0
- package/dist/charts/react/orderbook.js.map +1 -1
- package/dist/charts/react/shapes.cjs +1 -1
- package/dist/charts/react/shapes.cjs.map +1 -1
- package/dist/charts/react/shapes.d.cts +88 -4
- package/dist/charts/react/shapes.d.ts +88 -4
- package/dist/charts/react/shapes.js +55 -12
- package/dist/charts/react/shapes.js.map +1 -1
- package/dist/charts/react/three-d.cjs +1 -1
- package/dist/charts/react/three-d.cjs.map +1 -1
- package/dist/charts/react/three-d.d.cts +7 -0
- package/dist/charts/react/three-d.d.ts +7 -0
- package/dist/charts/react/three-d.js +14 -13
- package/dist/charts/react/three-d.js.map +1 -1
- package/dist/charts/react/trading.cjs +1 -1
- package/dist/charts/react/trading.cjs.map +1 -1
- package/dist/charts/react/trading.d.cts +54 -2
- package/dist/charts/react/trading.d.ts +54 -2
- package/dist/charts/react/trading.js +68 -37
- package/dist/charts/react/trading.js.map +1 -1
- package/dist/charts/react/types.d.cts +11 -0
- package/dist/charts/react/types.d.ts +11 -0
- 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 +5 -4
- 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 +42 -19
- 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 +296 -251
- 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 +6 -4
- 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 +15 -2
- package/dist/native/charts/src/engine/format.js.map +1 -1
- package/dist/native/charts/src/engine/labels.cjs +1 -1
- package/dist/native/charts/src/engine/labels.cjs.map +1 -1
- package/dist/native/charts/src/engine/labels.js +42 -5
- package/dist/native/charts/src/engine/labels.js.map +1 -1
- 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 +11 -2
- package/dist/native/charts/src/engine/layout.js.map +1 -1
- 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 +278 -174
- package/dist/native/charts/src/engine/model.js.map +1 -1
- package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
- 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 +110 -90
- package/dist/native/charts/src/engine/presets.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 +421 -202
- package/dist/native/charts/src/engine/scene.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.js +110 -110
- package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/calendar.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/calendar.js +21 -16
- package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -1
- 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 +419 -0
- package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/draw.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/draw.js +47 -17
- package/dist/native/charts/src/engine/shapes/draw.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/hit.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/hit.js +73 -44
- package/dist/native/charts/src/engine/shapes/hit.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/labels.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/labels.js +12 -4
- package/dist/native/charts/src/engine/shapes/labels.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/layout.cjs +2 -2
- package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/layout.js +136 -94
- package/dist/native/charts/src/engine/shapes/layout.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/scene.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/scene.js +62 -19
- package/dist/native/charts/src/engine/shapes/scene.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.js +127 -115
- 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.js +8 -5
- package/dist/native/components/Chart/charts.js.map +1 -1
- 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.d.cts +6 -1
- package/dist/native/components/Chart/scene.d.ts +6 -1
- package/dist/native/components/Chart/scene.js +226 -108
- package/dist/native/components/Chart/scene.js.map +1 -1
- package/dist/native/components/Chart/types.d.cts +7 -1
- package/dist/native/components/Chart/types.d.ts +7 -1
- package/dist/native/components/Charts/charts.cjs +1 -1
- package/dist/native/components/Charts/charts.cjs.map +1 -1
- package/dist/native/components/Charts/charts.js +60 -43
- package/dist/native/components/Charts/charts.js.map +1 -1
- package/dist/native/components/Charts/types.d.cts +11 -0
- package/dist/native/components/Charts/types.d.ts +11 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs +1 -1
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -1
- package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +1 -1
- package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +1 -1
- package/dist/native/components/ShapeChart/ShapeChartBase.js +97 -106
- package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -1
- package/dist/native/components/ShapeChart/charts.cjs +1 -1
- package/dist/native/components/ShapeChart/charts.cjs.map +1 -1
- package/dist/native/components/ShapeChart/charts.d.cts +6 -1
- package/dist/native/components/ShapeChart/charts.d.ts +6 -1
- package/dist/native/components/ShapeChart/charts.js +138 -96
- package/dist/native/components/ShapeChart/charts.js.map +1 -1
- package/dist/native/components/ShapeChart/draw.cjs +1 -1
- package/dist/native/components/ShapeChart/draw.cjs.map +1 -1
- package/dist/native/components/ShapeChart/draw.d.cts +1 -1
- package/dist/native/components/ShapeChart/draw.d.ts +1 -1
- package/dist/native/components/ShapeChart/draw.js +26 -17
- package/dist/native/components/ShapeChart/draw.js.map +1 -1
- package/dist/native/components/ShapeChart/geometry.cjs +1 -1
- package/dist/native/components/ShapeChart/geometry.cjs.map +1 -1
- package/dist/native/components/ShapeChart/geometry.js +233 -70
- package/dist/native/components/ShapeChart/geometry.js.map +1 -1
- package/dist/native/components/ShapeChart/index.cjs +1 -1
- package/dist/native/components/ShapeChart/index.d.cts +1 -1
- package/dist/native/components/ShapeChart/index.d.ts +1 -1
- package/dist/native/components/ShapeChart/index.js +2 -2
- package/dist/native/components/ShapeChart/recorder.cjs +1 -1
- package/dist/native/components/ShapeChart/recorder.cjs.map +1 -1
- package/dist/native/components/ShapeChart/recorder.d.cts +10 -1
- package/dist/native/components/ShapeChart/recorder.d.ts +10 -1
- package/dist/native/components/ShapeChart/recorder.js +19 -10
- package/dist/native/components/ShapeChart/recorder.js.map +1 -1
- package/dist/native/components/ShapeChart/types.d.cts +95 -8
- package/dist/native/components/ShapeChart/types.d.ts +95 -8
- package/dist/native/index.cjs +1 -1
- package/dist/native/index.js +2 -2
- package/dist/native/source/components/Chart/ChartBase.tsx +19 -6
- package/dist/native/source/components/Chart/charts.tsx +10 -3
- package/dist/native/source/components/Chart/scene.tsx +243 -14
- package/dist/native/source/components/Chart/types.ts +7 -0
- package/dist/native/source/components/Charts/charts.tsx +37 -2
- package/dist/native/source/components/Charts/types.ts +11 -0
- package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +10 -34
- package/dist/native/source/components/ShapeChart/charts.tsx +91 -35
- package/dist/native/source/components/ShapeChart/draw.tsx +39 -8
- package/dist/native/source/components/ShapeChart/geometry.ts +376 -25
- package/dist/native/source/components/ShapeChart/index.ts +1 -0
- package/dist/native/source/components/ShapeChart/recorder.ts +20 -5
- package/dist/native/source/components/ShapeChart/types.ts +99 -6
- package/dist/native/source/manifest.ts +1 -0
- package/dist/taro/chart-a11y.d.ts +7 -0
- package/dist/taro/charts.d.ts +29 -6
- package/dist/taro/index.js +3129 -1902
- package/dist/taro/shape-charts.d.ts +99 -5
- package/dist/uni/AreaChart.vue +2 -1
- package/dist/uni/AreaChart.vue.d.ts +5 -1
- package/dist/uni/Badge.vue.d.ts +1 -1
- package/dist/uni/BarChart.vue +2 -1
- package/dist/uni/BarChart.vue.d.ts +5 -1
- package/dist/uni/BoxPlotChart.vue +2 -1
- package/dist/uni/BoxPlotChart.vue.d.ts +8 -0
- package/dist/uni/BubbleChart.vue +2 -1
- package/dist/uni/BubbleChart.vue.d.ts +4 -0
- package/dist/uni/BulletChart.vue.d.ts +4 -0
- package/dist/uni/CalendarHeatmap.vue.d.ts +2 -0
- package/dist/uni/CandlestickChart.vue +2 -1
- package/dist/uni/CandlestickChart.vue.d.ts +4 -0
- package/dist/uni/Chart.vue +2 -1
- 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/Divider.vue.d.ts +1 -1
- package/dist/uni/DonutChart.vue.d.ts +5 -1
- package/dist/uni/FunnelChart.vue.d.ts +4 -0
- package/dist/uni/GanttChart.vue +2 -1
- package/dist/uni/GanttChart.vue.d.ts +15 -0
- package/dist/uni/GaugeChart.vue.d.ts +5 -1
- package/dist/uni/HeatmapChart.vue +2 -1
- package/dist/uni/HeatmapChart.vue.d.ts +8 -2
- package/dist/uni/HistogramChart.vue +2 -1
- package/dist/uni/HistogramChart.vue.d.ts +4 -0
- package/dist/uni/HorizontalBarChart.vue +2 -1
- package/dist/uni/HorizontalBarChart.vue.d.ts +3 -1
- package/dist/uni/LineChart.vue +2 -1
- package/dist/uni/LineChart.vue.d.ts +4 -0
- package/dist/uni/MixedChart.vue +2 -1
- package/dist/uni/MixedChart.vue.d.ts +4 -0
- package/dist/uni/PieChart.vue.d.ts +5 -1
- package/dist/uni/QuadrantChart.vue +2 -1
- package/dist/uni/QuadrantChart.vue.d.ts +4 -0
- package/dist/uni/RadarChart.vue.d.ts +4 -0
- package/dist/uni/RadialBarChart.vue.d.ts +4 -0
- package/dist/uni/RangeAreaChart.vue +2 -1
- package/dist/uni/RangeAreaChart.vue.d.ts +4 -0
- package/dist/uni/SankeyChart.vue.d.ts +4 -0
- package/dist/uni/ScatterChart.vue +2 -1
- package/dist/uni/ScatterChart.vue.d.ts +4 -0
- package/dist/uni/Sparkline.vue +2 -1
- package/dist/uni/Sparkline.vue.d.ts +4 -0
- package/dist/uni/SunburstChart.vue.d.ts +4 -0
- package/dist/uni/ToastProvider.vue.d.ts +1 -1
- package/dist/uni/TreemapChart.vue.d.ts +4 -0
- package/dist/uni/WaterfallChart.vue +2 -1
- package/dist/uni/WaterfallChart.vue.d.ts +9 -0
- package/dist/uni/chart-a11y.d.ts +7 -0
- package/dist/uni/chart-a11y.js +29 -0
- package/dist/uni/chart-canvas.d.ts +12 -0
- package/dist/uni/chart-canvas.js +15 -1
- package/dist/uni/chart-types.d.ts +36 -5
- package/dist/uni/chart-types.js +31 -3
- package/dist/uni/charts-canvas.js +3 -2
- package/dist/uni/index.d.ts +2 -1
- package/dist/uni/index.js +1 -0
- package/dist/uni/manifest.d.ts +7 -0
- package/dist/uni/manifest.js +10 -0
- package/dist/uni/named-chart-options.d.ts +11 -2
- package/dist/uni/named-chart-options.js +21 -1
- package/dist/uni/shape-chart-canvas.d.ts +3 -3
- package/dist/uni/shape-chart-canvas.js +17 -58
- package/dist/uni/shape-chart-types.d.ts +53 -3
- package/dist/uni/shape-chart-types.js +45 -1
- 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/Bar3DChart.vue.d.ts +2 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +8 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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 +181 -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/GanttChart.vue.d.ts +19 -0
- package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +12 -1
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/GraphChart.vue.d.ts +186 -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 +9 -5
- package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/Line3DChart.vue.d.ts +2 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +2 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +2 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +2 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +2 -0
- package/dist/vue/components/Chart/TradingChart.vue.d.ts +58 -1
- package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/TreeChart.vue.d.ts +174 -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/WaterfallChart.vue.d.ts +12 -1
- package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/graph.d.ts +156 -0
- package/dist/vue/components/Chart/graph.js +137 -0
- package/dist/vue/components/Chart/graph.js.map +1 -0
- package/dist/vue/components/Chart/index.d.ts +5 -1
- package/dist/vue/components/Chart/index.js +5 -1
- package/dist/vue/components/Chart/orderbook.d.ts +5 -1
- package/dist/vue/components/Chart/orderbook.js +2 -0
- package/dist/vue/components/Chart/orderbook.js.map +1 -1
- package/dist/vue/components/Chart/three-d.d.ts +3 -0
- package/dist/vue/components/Chart/three-d.js +2 -0
- package/dist/vue/components/Chart/three-d.js.map +1 -1
- package/dist/vue/components/Chart/trading.d.ts +30 -3
- package/dist/vue/components/Chart/trading.js +9 -0
- package/dist/vue/components/Chart/trading.js.map +1 -1
- package/dist/vue/components/Chart/types.d.ts +74 -2
- package/dist/vue/global.d.ts +2 -38
- package/dist/vue/groups/charts.js +10 -2
- package/dist/vue/groups/charts.js.map +1 -1
- package/dist/vue/index.js +6 -2
- 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 +6 -11
- package/dist/vue/plugin.js.map +1 -1
- package/dist/weapp/area-chart/index.wxml +1 -1
- package/dist/weapp/bar-chart/index.wxml +1 -1
- package/dist/weapp/box-plot-chart/index.wxml +1 -1
- package/dist/weapp/bubble-chart/index.wxml +1 -1
- package/dist/weapp/candlestick-chart/index.wxml +1 -1
- package/dist/weapp/chart/index.wxml +1 -1
- package/dist/weapp/charts/canvas.js +1987 -175
- package/dist/weapp/charts/core.js +3 -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 +148 -57
- package/dist/weapp/gantt-chart/index.wxml +1 -1
- package/dist/weapp/heatmap-chart/index.wxml +1 -1
- package/dist/weapp/histogram-chart/index.wxml +1 -1
- package/dist/weapp/horizontal-bar-chart/index.wxml +1 -1
- package/dist/weapp/line-chart/index.wxml +1 -1
- package/dist/weapp/mixed-chart/index.wxml +1 -1
- package/dist/weapp/quadrant-chart/index.wxml +1 -1
- package/dist/weapp/range-area-chart/index.wxml +1 -1
- package/dist/weapp/scatter-chart/index.wxml +1 -1
- package/dist/weapp/sparkline/index.wxml +1 -1
- package/dist/weapp/types.d.ts +96 -4
- package/dist/weapp/waterfall-chart/index.wxml +1 -1
- package/dist/web-components/components/chart/charts.d.ts +4 -2
- package/dist/web-components/components/chart/charts.js +8 -1
- package/dist/web-components/components/chart/charts.js.map +1 -1
- package/dist/web-components/components/chart/extended.d.ts +21 -7
- package/dist/web-components/components/chart/extended.js +29 -9
- package/dist/web-components/components/chart/extended.js.map +1 -1
- package/dist/web-components/components/chart/shapes-extended.d.ts +37 -1
- package/dist/web-components/components/chart/shapes-extended.js +27 -1
- package/dist/web-components/components/chart/shapes-extended.js.map +1 -1
- package/dist/web-components/components/chart-3d/chart-3d.d.ts +1 -1
- package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -1
- package/dist/web-components/components/graph/graph.d.ts +156 -0
- package/dist/web-components/components/graph/graph.js +150 -0
- package/dist/web-components/components/graph/graph.js.map +1 -0
- package/dist/web-components/components/trading-chart/trading-chart.d.ts +49 -2
- package/dist/web-components/components/trading-chart/trading-chart.js +62 -0
- package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -1
- package/dist/web-components/elements/chart.d.ts +1 -1
- package/dist/web-components/elements/chart.js +6 -5
- package/dist/web-components/elements/chart.js.map +1 -1
- 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/html-custom-data.json +318 -4
- package/dist/web-components/types/react.d.ts +63 -4
- package/dist/web-components/types/solid.d.ts +55 -8
- package/dist/web-components/types/svelte.d.ts +55 -8
- package/dist/web-components/types/vue.d.ts +55 -4
- package/package.json +16 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpu.cjs","names":["WGSL_POINTS","WGSL_MESH","WGSL_LINES","drawOrder","itemUniforms","writesDepth","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","pipeline","module","depthWrite","pointBuffers","meshBuffers","lineBuffers","pipelines","targets","renderTargets","width","height","resources","uniformData","buffer","bytes","data","gpuBuffer","usage","release","res","upload","item","indices","vertex","index","uniform","encoder","pass","color","depth","seen","items","count","frame","variants","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 const pipeline = (\n code: string,\n buffers: GPUVertexBufferLayout[],\n topology: GPUPrimitiveTopology,\n depthWrite: boolean,\n ) => {\n const module = device.createShaderModule({ code });\n return device.createRenderPipeline({\n layout,\n vertex: { module, entryPoint: \"vs\", buffers },\n fragment: { module, entryPoint: \"fs\", targets: [{ format, blend }] },\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\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 variants = pipelines[item.kind];\n const chosen = variants[writesDepth(item) ? variants.length - 1 : 0];\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
|
+
{"version":3,"file":"webgpu.cjs","names":["WGSL_POINTS","WGSL_MESH","WGSL_LINES","writesDepth","WGSL_COMPOSITE","drawOrder","drawRank","itemUniforms","require_render_types","require_oit","require_shaders","BUFFER_INDEX","BUFFER_VERTEX","BUFFER_COPY_DST","STAGE_FRAGMENT","TEXTURE_RENDER_ATTACHMENT","SAMPLES","OIT_FORMAT","createWebGpu3D","gpu","adapter","fallback","requireHardware","device","context","canvas","format","destroyed","onLost","bindGroupLayout","layout","blend","additive","sum","pipeline","module","oit","blending","depthWrite","pointBuffers","meshBuffers","lineBuffers","pipelines","additivePoints","pipelineOf","item","variants","compositeLayout","compositeModule","oitPipelines","orderIndependent","targets","destroyOit","renderTargets","width","height","oitTargets","t","texture","samples","accumResolved","extraResolved","resources","uniformData","buffer","bytes","data","gpuBuffer","usage","release","res","upload","indices","vertex","index","uniform","ordered","items","blended","encoder","screen","seen","draw","count","frame","pass","chosen","main","transparent","last","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). With blended\n// items (transparent meshes, blended or additive points), three passes:\n// the opaque items; the blended ones into the float targets of the\n// weighted blended order-independent transparency (`oit.ts`, multisampled,\n// testing the opaque depth, resolved); then their composite and the lines.\n\nimport type { RendererLostHandler } from \"../renderers/types\";\nimport { WGSL_COMPOSITE } from \"./oit\";\nimport {\n POINT_STRIDE,\n SEGMENT_STRIDE,\n VERTEX_STRIDE,\n drawOrder,\n drawRank,\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_BINDING = 0x04;\nconst TEXTURE_RENDER_ATTACHMENT = 0x10;\n\nconst SAMPLES = 4;\n/** Format of the transparency targets (renderable, blendable, resolvable) */\nconst OIT_FORMAT: GPUTextureFormat = \"rgba16float\";\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 // transparency targets: plain sums\n const sum: GPUBlendState = {\n color: { srcFactor: \"one\", dstFactor: \"one\", operation: \"add\" },\n alpha: { srcFactor: \"one\", dstFactor: \"one\", operation: \"add\" },\n };\n const pipeline = (\n code: string,\n buffers: GPUVertexBufferLayout[],\n topology: GPUPrimitiveTopology,\n depthWrite: boolean,\n blending: GPUBlendState = blend,\n oit = false,\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: oit ? \"fsOit\" : \"fs\",\n targets: oit\n ? [\n { format: OIT_FORMAT, blend: sum },\n { format: OIT_FORMAT, blend: sum },\n ]\n : [{ 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 // order-independent transparency: validated once (rgba16float targets are\n // core, but a failing driver falls back to the sorted blending)\n device.pushErrorScope(\"validation\");\n const compositeLayout = device.createBindGroupLayout({\n entries: [0, 1].map((binding) => ({\n binding,\n visibility: STAGE_FRAGMENT,\n texture: { sampleType: \"unfilterable-float\" as const },\n })),\n });\n const compositeModule = device.createShaderModule({ code: WGSL_COMPOSITE });\n const oitPipelines = {\n points: pipeline(\n WGSL_POINTS,\n pointBuffers,\n \"triangle-strip\",\n false,\n blend,\n true,\n ),\n mesh: pipeline(WGSL_MESH, meshBuffers, \"triangle-list\", false, blend, true),\n composite: device.createRenderPipeline({\n layout: device.createPipelineLayout({\n bindGroupLayouts: [compositeLayout],\n }),\n vertex: { module: compositeModule, entryPoint: \"vs\" },\n fragment: {\n module: compositeModule,\n entryPoint: \"fs\",\n targets: [{ format, blend }],\n },\n primitive: { topology: \"triangle-list\" },\n depthStencil: {\n format: \"depth24plus\",\n depthWriteEnabled: false,\n depthCompare: \"always\",\n },\n multisample: { count: SAMPLES },\n }),\n };\n const orderIndependent = !(await device.popErrorScope());\n\n let targets: {\n width: number;\n height: number;\n color: GPUTexture;\n depth: GPUTexture;\n /** Transparency targets, created on first use */\n oit: {\n accum: GPUTexture;\n extra: GPUTexture;\n accumResolved: GPUTexture;\n extraResolved: GPUTexture;\n bindGroup: GPUBindGroup;\n } | null;\n } | null = null;\n const destroyOit = () => {\n const oit = targets?.oit;\n if (!oit) return;\n oit.accum.destroy();\n oit.extra.destroy();\n oit.accumResolved.destroy();\n oit.extraResolved.destroy();\n };\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 destroyOit();\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 oit: null,\n };\n return targets;\n };\n const oitTargets = (t: NonNullable<typeof targets>) => {\n if (t.oit) return t.oit;\n const texture = (samples: number) =>\n device.createTexture({\n size: [t.width, t.height],\n sampleCount: samples,\n format: OIT_FORMAT,\n usage:\n samples > 1\n ? TEXTURE_RENDER_ATTACHMENT\n : TEXTURE_RENDER_ATTACHMENT | TEXTURE_BINDING,\n });\n const accumResolved = texture(1);\n const extraResolved = texture(1);\n t.oit = {\n accum: texture(SAMPLES),\n extra: texture(SAMPLES),\n accumResolved,\n extraResolved,\n bindGroup: device.createBindGroup({\n layout: compositeLayout,\n entries: [\n { binding: 0, resource: accumResolved.createView() },\n { binding: 1, resource: extraResolved.createView() },\n ],\n }),\n };\n return t.oit;\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 orderIndependent,\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 t = renderTargets();\n const ordered = drawOrder(items);\n const blended =\n orderIndependent && ordered.some((item) => drawRank(item) === 2);\n const encoder = device.createCommandEncoder();\n const screen = context.getCurrentTexture().createView();\n const seen = new Set<string>();\n /** Draws an item; false when it has nothing to draw */\n const draw = (\n pass: GPURenderPassEncoder,\n item: Item3D,\n chosen: GPURenderPipeline,\n ) => {\n const count = item.kind === \"mesh\" ? item.indices.length : item.count;\n if (count <= 0) return;\n const res = upload(item);\n if (!res.vertex) return;\n device.queue.writeBuffer(\n res.uniform,\n 0,\n itemUniforms(item, frame, uniformData),\n );\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) return;\n pass.setIndexBuffer(res.index, \"uint32\");\n pass.drawIndexed(count);\n } else {\n pass.draw(4, count);\n }\n };\n\n // opaque items (every item without blended ones)\n const main = encoder.beginRenderPass({\n colorAttachments: [\n {\n view: t.color.createView(),\n resolveTarget: blended ? undefined : screen,\n clearValue: { r: 0, g: 0, b: 0, a: 0 },\n loadOp: \"clear\",\n storeOp: blended ? \"store\" : \"discard\",\n },\n ],\n depthStencilAttachment: {\n view: t.depth.createView(),\n depthClearValue: 1,\n depthLoadOp: \"clear\",\n depthStoreOp: blended ? \"store\" : \"discard\",\n },\n });\n for (const item of ordered) {\n if (blended && drawRank(item) > 1) break;\n seen.add(item.key);\n draw(main, item, pipelineOf(item));\n }\n main.end();\n\n if (blended) {\n // blended items, in any order, into the transparency targets\n const oit = oitTargets(t);\n const transparent = encoder.beginRenderPass({\n colorAttachments: [\n {\n view: oit.accum.createView(),\n resolveTarget: oit.accumResolved.createView(),\n clearValue: { r: 0, g: 0, b: 0, a: 0 },\n loadOp: \"clear\",\n storeOp: \"discard\",\n },\n {\n view: oit.extra.createView(),\n resolveTarget: oit.extraResolved.createView(),\n clearValue: { r: 0, g: 0, b: 0, a: 0 },\n loadOp: \"clear\",\n storeOp: \"discard\",\n },\n ],\n depthStencilAttachment: {\n view: t.depth.createView(),\n depthReadOnly: true,\n },\n });\n for (const item of ordered) {\n if (drawRank(item) !== 2 || item.kind === \"lines\") continue;\n seen.add(item.key);\n draw(transparent, item, oitPipelines[item.kind]);\n }\n transparent.end();\n\n // their composite over the opaque items, then the lines\n const last = encoder.beginRenderPass({\n colorAttachments: [\n {\n view: t.color.createView(),\n resolveTarget: screen,\n loadOp: \"load\",\n storeOp: \"discard\",\n },\n ],\n depthStencilAttachment: {\n view: t.depth.createView(),\n depthLoadOp: \"load\",\n depthStoreOp: \"discard\",\n },\n });\n last.setPipeline(oitPipelines.composite);\n last.setBindGroup(0, oit.bindGroup);\n last.draw(3);\n for (const item of ordered) {\n if (drawRank(item) < 3) continue;\n seen.add(item.key);\n draw(last, item, pipelineOf(item));\n }\n last.end();\n }\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 destroyOit();\n targets = null;\n context.unconfigure();\n device.destroy();\n },\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import { drawOrder as e } from "./render-types.js";
|
|
2
|
-
import {
|
|
1
|
+
import { drawOrder as e, drawRank as t, writesDepth as n } from "./render-types.js";
|
|
2
|
+
import { WGSL_COMPOSITE as r } from "./oit.js";
|
|
3
|
+
import { WGSL_LINES as i, WGSL_MESH as a, WGSL_POINTS as o, itemUniforms as s } from "./shaders.js";
|
|
3
4
|
//#region src/engine/three-d/webgpu.ts
|
|
4
|
-
var
|
|
5
|
-
let
|
|
6
|
-
if (!
|
|
7
|
-
let
|
|
8
|
-
if (!
|
|
9
|
-
let
|
|
10
|
-
if (
|
|
11
|
-
let
|
|
12
|
-
if (!
|
|
13
|
-
let
|
|
14
|
-
|
|
15
|
-
device:
|
|
16
|
-
format:
|
|
5
|
+
var c = 16, l = 32, u = 8, d = 2, f = 16, p = 4, m = "rgba16float", h = async (h, g, _ = !1) => {
|
|
6
|
+
let v = typeof navigator < "u" ? navigator.gpu : void 0;
|
|
7
|
+
if (!v) return null;
|
|
8
|
+
let y = await v.requestAdapter();
|
|
9
|
+
if (!y) return null;
|
|
10
|
+
let b = y;
|
|
11
|
+
if (_ && (b.info?.isFallbackAdapter || b.isFallbackAdapter)) return null;
|
|
12
|
+
let x = await y.requestDevice(), S = h.getContext("webgpu");
|
|
13
|
+
if (!S) return x.destroy(), null;
|
|
14
|
+
let C = v.getPreferredCanvasFormat();
|
|
15
|
+
S.configure({
|
|
16
|
+
device: x,
|
|
17
|
+
format: C,
|
|
17
18
|
alphaMode: "premultiplied"
|
|
18
19
|
});
|
|
19
|
-
let
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
let w = !1;
|
|
21
|
+
x.lost.then(() => {
|
|
22
|
+
w || g();
|
|
22
23
|
});
|
|
23
|
-
let
|
|
24
|
+
let T = x.createBindGroupLayout({ entries: [{
|
|
24
25
|
binding: 0,
|
|
25
26
|
visibility: 3,
|
|
26
27
|
buffer: { type: "uniform" }
|
|
27
|
-
}] }),
|
|
28
|
+
}] }), E = x.createPipelineLayout({ bindGroupLayouts: [T] }), D = {
|
|
28
29
|
color: {
|
|
29
30
|
srcFactor: "one",
|
|
30
31
|
dstFactor: "one-minus-src-alpha",
|
|
@@ -35,21 +36,45 @@ var o = 16, s = 32, c = 8, l = 16, u = 4, d = async (d, f, p = !1) => {
|
|
|
35
36
|
dstFactor: "one-minus-src-alpha",
|
|
36
37
|
operation: "add"
|
|
37
38
|
}
|
|
38
|
-
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
}, O = {
|
|
40
|
+
color: {
|
|
41
|
+
srcFactor: "one",
|
|
42
|
+
dstFactor: "one",
|
|
43
|
+
operation: "add"
|
|
44
|
+
},
|
|
45
|
+
alpha: D.alpha
|
|
46
|
+
}, k = {
|
|
47
|
+
color: {
|
|
48
|
+
srcFactor: "one",
|
|
49
|
+
dstFactor: "one",
|
|
50
|
+
operation: "add"
|
|
51
|
+
},
|
|
52
|
+
alpha: {
|
|
53
|
+
srcFactor: "one",
|
|
54
|
+
dstFactor: "one",
|
|
55
|
+
operation: "add"
|
|
56
|
+
}
|
|
57
|
+
}, A = (e, t, n, r, i = D, a = !1) => {
|
|
58
|
+
let o = x.createShaderModule({ code: e });
|
|
59
|
+
return x.createRenderPipeline({
|
|
60
|
+
layout: E,
|
|
42
61
|
vertex: {
|
|
43
|
-
module:
|
|
62
|
+
module: o,
|
|
44
63
|
entryPoint: "vs",
|
|
45
64
|
buffers: t
|
|
46
65
|
},
|
|
47
66
|
fragment: {
|
|
48
|
-
module:
|
|
49
|
-
entryPoint: "fs",
|
|
50
|
-
targets: [{
|
|
51
|
-
format:
|
|
52
|
-
blend:
|
|
67
|
+
module: o,
|
|
68
|
+
entryPoint: a ? "fsOit" : "fs",
|
|
69
|
+
targets: a ? [{
|
|
70
|
+
format: m,
|
|
71
|
+
blend: k
|
|
72
|
+
}, {
|
|
73
|
+
format: m,
|
|
74
|
+
blend: k
|
|
75
|
+
}] : [{
|
|
76
|
+
format: C,
|
|
77
|
+
blend: i
|
|
53
78
|
}]
|
|
54
79
|
},
|
|
55
80
|
primitive: {
|
|
@@ -61,9 +86,9 @@ var o = 16, s = 32, c = 8, l = 16, u = 4, d = async (d, f, p = !1) => {
|
|
|
61
86
|
depthWriteEnabled: r,
|
|
62
87
|
depthCompare: "less-equal"
|
|
63
88
|
},
|
|
64
|
-
multisample: { count:
|
|
89
|
+
multisample: { count: p }
|
|
65
90
|
});
|
|
66
|
-
},
|
|
91
|
+
}, j = [{
|
|
67
92
|
arrayStride: 20,
|
|
68
93
|
stepMode: "instance",
|
|
69
94
|
attributes: [
|
|
@@ -83,7 +108,7 @@ var o = 16, s = 32, c = 8, l = 16, u = 4, d = async (d, f, p = !1) => {
|
|
|
83
108
|
format: "unorm8x4"
|
|
84
109
|
}
|
|
85
110
|
]
|
|
86
|
-
}],
|
|
111
|
+
}], M = [{
|
|
87
112
|
arrayStride: 28,
|
|
88
113
|
stepMode: "vertex",
|
|
89
114
|
attributes: [
|
|
@@ -103,7 +128,7 @@ var o = 16, s = 32, c = 8, l = 16, u = 4, d = async (d, f, p = !1) => {
|
|
|
103
128
|
format: "unorm8x4"
|
|
104
129
|
}
|
|
105
130
|
]
|
|
106
|
-
}],
|
|
131
|
+
}], N = [{
|
|
107
132
|
arrayStride: 28,
|
|
108
133
|
stepMode: "instance",
|
|
109
134
|
attributes: [
|
|
@@ -123,52 +148,115 @@ var o = 16, s = 32, c = 8, l = 16, u = 4, d = async (d, f, p = !1) => {
|
|
|
123
148
|
format: "unorm8x4"
|
|
124
149
|
}
|
|
125
150
|
]
|
|
126
|
-
}],
|
|
127
|
-
points: [
|
|
128
|
-
mesh: [
|
|
129
|
-
lines: [
|
|
130
|
-
},
|
|
131
|
-
|
|
132
|
-
|
|
151
|
+
}], P = {
|
|
152
|
+
points: [A(o, j, "triangle-strip", !1), A(o, j, "triangle-strip", !0)],
|
|
153
|
+
mesh: [A(a, M, "triangle-list", !1), A(a, M, "triangle-list", !0)],
|
|
154
|
+
lines: [A(i, N, "triangle-strip", !1), A(i, N, "triangle-strip", !0)]
|
|
155
|
+
}, F = null, I = (e) => {
|
|
156
|
+
if (e.kind === "points" && e.additive) return F ?? (F = A(o, j, "triangle-strip", !1, O)), F;
|
|
157
|
+
let t = P[e.kind];
|
|
158
|
+
return t[n(e) ? t.length - 1 : 0];
|
|
159
|
+
};
|
|
160
|
+
x.pushErrorScope("validation");
|
|
161
|
+
let L = x.createBindGroupLayout({ entries: [0, 1].map((e) => ({
|
|
162
|
+
binding: e,
|
|
163
|
+
visibility: d,
|
|
164
|
+
texture: { sampleType: "unfilterable-float" }
|
|
165
|
+
})) }), R = x.createShaderModule({ code: r }), z = {
|
|
166
|
+
points: A(o, j, "triangle-strip", !1, D, !0),
|
|
167
|
+
mesh: A(a, M, "triangle-list", !1, D, !0),
|
|
168
|
+
composite: x.createRenderPipeline({
|
|
169
|
+
layout: x.createPipelineLayout({ bindGroupLayouts: [L] }),
|
|
170
|
+
vertex: {
|
|
171
|
+
module: R,
|
|
172
|
+
entryPoint: "vs"
|
|
173
|
+
},
|
|
174
|
+
fragment: {
|
|
175
|
+
module: R,
|
|
176
|
+
entryPoint: "fs",
|
|
177
|
+
targets: [{
|
|
178
|
+
format: C,
|
|
179
|
+
blend: D
|
|
180
|
+
}]
|
|
181
|
+
},
|
|
182
|
+
primitive: { topology: "triangle-list" },
|
|
183
|
+
depthStencil: {
|
|
184
|
+
format: "depth24plus",
|
|
185
|
+
depthWriteEnabled: !1,
|
|
186
|
+
depthCompare: "always"
|
|
187
|
+
},
|
|
188
|
+
multisample: { count: p }
|
|
189
|
+
})
|
|
190
|
+
}, B = !await x.popErrorScope(), V = null, H = () => {
|
|
191
|
+
let e = V?.oit;
|
|
192
|
+
e && (e.accum.destroy(), e.extra.destroy(), e.accumResolved.destroy(), e.extraResolved.destroy());
|
|
193
|
+
}, U = () => {
|
|
194
|
+
let e = h.width, t = h.height;
|
|
195
|
+
return V && V.width === e && V.height === t ? V : (V?.color.destroy(), V?.depth.destroy(), H(), V = {
|
|
133
196
|
width: e,
|
|
134
197
|
height: t,
|
|
135
|
-
color:
|
|
198
|
+
color: x.createTexture({
|
|
136
199
|
size: [e, t],
|
|
137
|
-
sampleCount:
|
|
138
|
-
format:
|
|
139
|
-
usage:
|
|
200
|
+
sampleCount: p,
|
|
201
|
+
format: C,
|
|
202
|
+
usage: f
|
|
140
203
|
}),
|
|
141
|
-
depth:
|
|
204
|
+
depth: x.createTexture({
|
|
142
205
|
size: [e, t],
|
|
143
|
-
sampleCount:
|
|
206
|
+
sampleCount: p,
|
|
144
207
|
format: "depth24plus",
|
|
145
|
-
usage:
|
|
208
|
+
usage: f
|
|
209
|
+
}),
|
|
210
|
+
oit: null
|
|
211
|
+
}, V);
|
|
212
|
+
}, W = (e) => {
|
|
213
|
+
if (e.oit) return e.oit;
|
|
214
|
+
let t = (t) => x.createTexture({
|
|
215
|
+
size: [e.width, e.height],
|
|
216
|
+
sampleCount: t,
|
|
217
|
+
format: m,
|
|
218
|
+
usage: t > 1 ? f : 20
|
|
219
|
+
}), n = t(1), r = t(1);
|
|
220
|
+
return e.oit = {
|
|
221
|
+
accum: t(p),
|
|
222
|
+
extra: t(p),
|
|
223
|
+
accumResolved: n,
|
|
224
|
+
extraResolved: r,
|
|
225
|
+
bindGroup: x.createBindGroup({
|
|
226
|
+
layout: L,
|
|
227
|
+
entries: [{
|
|
228
|
+
binding: 0,
|
|
229
|
+
resource: n.createView()
|
|
230
|
+
}, {
|
|
231
|
+
binding: 1,
|
|
232
|
+
resource: r.createView()
|
|
233
|
+
}]
|
|
146
234
|
})
|
|
147
|
-
},
|
|
148
|
-
},
|
|
235
|
+
}, e.oit;
|
|
236
|
+
}, G = /* @__PURE__ */ new Map(), K = /* @__PURE__ */ new Float32Array(40), q = (e, t) => {
|
|
149
237
|
let n = e.byteLength;
|
|
150
238
|
if (n <= 0) return null;
|
|
151
|
-
let r =
|
|
239
|
+
let r = x.createBuffer({
|
|
152
240
|
size: Math.max(16, Math.ceil(n / 4) * 4),
|
|
153
|
-
usage: t |
|
|
241
|
+
usage: t | u
|
|
154
242
|
});
|
|
155
|
-
return e instanceof Uint32Array ?
|
|
156
|
-
},
|
|
243
|
+
return e instanceof Uint32Array ? x.queue.writeBuffer(r, 0, e.buffer, e.byteOffset, n) : x.queue.writeBuffer(r, 0, e), r;
|
|
244
|
+
}, J = (e) => {
|
|
157
245
|
e.vertex?.destroy(), e.index?.destroy();
|
|
158
|
-
},
|
|
159
|
-
let t =
|
|
246
|
+
}, Y = (e) => {
|
|
247
|
+
let t = G.get(e.key);
|
|
160
248
|
if (t && t.version === e.version && t.kind === e.kind) {
|
|
161
249
|
if (e.kind === "mesh" && t.index && (e.order ?? 0) !== t.order) {
|
|
162
250
|
let { indices: n } = e;
|
|
163
|
-
|
|
251
|
+
x.queue.writeBuffer(t.index, 0, n.buffer, n.byteOffset, n.byteLength), t.order = e.order ?? 0;
|
|
164
252
|
}
|
|
165
253
|
return t;
|
|
166
254
|
}
|
|
167
|
-
t &&
|
|
168
|
-
let n =
|
|
255
|
+
t && J(t);
|
|
256
|
+
let n = q(e.kind === "mesh" ? e.vertices : e.data, l), r = e.kind === "mesh" ? q(e.indices, c) : null;
|
|
169
257
|
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;
|
|
170
258
|
else {
|
|
171
|
-
let i =
|
|
259
|
+
let i = x.createBuffer({
|
|
172
260
|
size: 160,
|
|
173
261
|
usage: 72
|
|
174
262
|
});
|
|
@@ -179,29 +267,40 @@ var o = 16, s = 32, c = 8, l = 16, u = 4, d = async (d, f, p = !1) => {
|
|
|
179
267
|
index: r,
|
|
180
268
|
order: e.kind === "mesh" ? e.order ?? 0 : 0,
|
|
181
269
|
uniform: i,
|
|
182
|
-
bindGroup:
|
|
183
|
-
layout:
|
|
270
|
+
bindGroup: x.createBindGroup({
|
|
271
|
+
layout: T,
|
|
184
272
|
entries: [{
|
|
185
273
|
binding: 0,
|
|
186
274
|
resource: { buffer: i }
|
|
187
275
|
}]
|
|
188
276
|
})
|
|
189
|
-
},
|
|
277
|
+
}, G.set(e.key, t);
|
|
190
278
|
}
|
|
191
279
|
return t;
|
|
192
280
|
};
|
|
193
281
|
return {
|
|
194
282
|
kind: "webgpu",
|
|
195
|
-
canvas:
|
|
283
|
+
canvas: h,
|
|
284
|
+
orderIndependent: B,
|
|
196
285
|
resize(e, t) {
|
|
197
|
-
|
|
286
|
+
h.width = Math.max(1, e), h.height = Math.max(1, t);
|
|
198
287
|
},
|
|
199
|
-
render(
|
|
200
|
-
if (
|
|
201
|
-
let
|
|
288
|
+
render(n, r) {
|
|
289
|
+
if (w) return;
|
|
290
|
+
let i = U(), a = e(n), o = B && a.some((e) => t(e) === 2), c = x.createCommandEncoder(), l = S.getCurrentTexture().createView(), u = /* @__PURE__ */ new Set(), d = (e, t, n) => {
|
|
291
|
+
let i = t.kind === "mesh" ? t.indices.length : t.count;
|
|
292
|
+
if (i <= 0) return;
|
|
293
|
+
let a = Y(t);
|
|
294
|
+
if (a.vertex) {
|
|
295
|
+
if (x.queue.writeBuffer(a.uniform, 0, s(t, r, K)), e.setPipeline(n), e.setBindGroup(0, a.bindGroup), e.setVertexBuffer(0, a.vertex), t.kind === "mesh") {
|
|
296
|
+
if (!a.index) return;
|
|
297
|
+
e.setIndexBuffer(a.index, "uint32"), e.drawIndexed(i);
|
|
298
|
+
} else e.draw(4, i);
|
|
299
|
+
}
|
|
300
|
+
}, f = c.beginRenderPass({
|
|
202
301
|
colorAttachments: [{
|
|
203
|
-
view:
|
|
204
|
-
resolveTarget:
|
|
302
|
+
view: i.color.createView(),
|
|
303
|
+
resolveTarget: o ? void 0 : l,
|
|
205
304
|
clearValue: {
|
|
206
305
|
r: 0,
|
|
207
306
|
g: 0,
|
|
@@ -209,41 +308,79 @@ var o = 16, s = 32, c = 8, l = 16, u = 4, d = async (d, f, p = !1) => {
|
|
|
209
308
|
a: 0
|
|
210
309
|
},
|
|
211
310
|
loadOp: "clear",
|
|
212
|
-
storeOp: "discard"
|
|
311
|
+
storeOp: o ? "store" : "discard"
|
|
213
312
|
}],
|
|
214
313
|
depthStencilAttachment: {
|
|
215
|
-
view:
|
|
314
|
+
view: i.depth.createView(),
|
|
216
315
|
depthClearValue: 1,
|
|
217
316
|
depthLoadOp: "clear",
|
|
218
|
-
depthStoreOp: "discard"
|
|
219
|
-
}
|
|
220
|
-
}), l = /* @__PURE__ */ new Set();
|
|
221
|
-
for (let r of e(t)) {
|
|
222
|
-
l.add(r.key);
|
|
223
|
-
let e = r.kind === "mesh" ? r.indices.length : r.count;
|
|
224
|
-
if (e <= 0) continue;
|
|
225
|
-
let t = F(r);
|
|
226
|
-
if (!t.vertex) continue;
|
|
227
|
-
_.queue.writeBuffer(t.uniform, 0, i(r, n, M));
|
|
228
|
-
let o = O[r.kind], s = o[a(r) ? o.length - 1 : 0];
|
|
229
|
-
if (s) {
|
|
230
|
-
if (c.setPipeline(s), c.setBindGroup(0, t.bindGroup), c.setVertexBuffer(0, t.vertex), r.kind === "mesh") {
|
|
231
|
-
if (!t.index) continue;
|
|
232
|
-
c.setIndexBuffer(t.index, "uint32"), c.drawIndexed(e);
|
|
233
|
-
} else c.draw(4, e);
|
|
317
|
+
depthStoreOp: o ? "store" : "discard"
|
|
234
318
|
}
|
|
319
|
+
});
|
|
320
|
+
for (let e of a) {
|
|
321
|
+
if (o && t(e) > 1) break;
|
|
322
|
+
u.add(e.key), d(f, e, I(e));
|
|
323
|
+
}
|
|
324
|
+
if (f.end(), o) {
|
|
325
|
+
let e = W(i), n = c.beginRenderPass({
|
|
326
|
+
colorAttachments: [{
|
|
327
|
+
view: e.accum.createView(),
|
|
328
|
+
resolveTarget: e.accumResolved.createView(),
|
|
329
|
+
clearValue: {
|
|
330
|
+
r: 0,
|
|
331
|
+
g: 0,
|
|
332
|
+
b: 0,
|
|
333
|
+
a: 0
|
|
334
|
+
},
|
|
335
|
+
loadOp: "clear",
|
|
336
|
+
storeOp: "discard"
|
|
337
|
+
}, {
|
|
338
|
+
view: e.extra.createView(),
|
|
339
|
+
resolveTarget: e.extraResolved.createView(),
|
|
340
|
+
clearValue: {
|
|
341
|
+
r: 0,
|
|
342
|
+
g: 0,
|
|
343
|
+
b: 0,
|
|
344
|
+
a: 0
|
|
345
|
+
},
|
|
346
|
+
loadOp: "clear",
|
|
347
|
+
storeOp: "discard"
|
|
348
|
+
}],
|
|
349
|
+
depthStencilAttachment: {
|
|
350
|
+
view: i.depth.createView(),
|
|
351
|
+
depthReadOnly: !0
|
|
352
|
+
}
|
|
353
|
+
});
|
|
354
|
+
for (let e of a) t(e) === 2 && e.kind !== "lines" && (u.add(e.key), d(n, e, z[e.kind]));
|
|
355
|
+
n.end();
|
|
356
|
+
let r = c.beginRenderPass({
|
|
357
|
+
colorAttachments: [{
|
|
358
|
+
view: i.color.createView(),
|
|
359
|
+
resolveTarget: l,
|
|
360
|
+
loadOp: "load",
|
|
361
|
+
storeOp: "discard"
|
|
362
|
+
}],
|
|
363
|
+
depthStencilAttachment: {
|
|
364
|
+
view: i.depth.createView(),
|
|
365
|
+
depthLoadOp: "load",
|
|
366
|
+
depthStoreOp: "discard"
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
r.setPipeline(z.composite), r.setBindGroup(0, e.bindGroup), r.draw(3);
|
|
370
|
+
for (let e of a) t(e) < 3 || (u.add(e.key), d(r, e, I(e)));
|
|
371
|
+
r.end();
|
|
235
372
|
}
|
|
236
|
-
|
|
237
|
-
for (let [e, t] of
|
|
373
|
+
x.queue.submit([c.finish()]);
|
|
374
|
+
for (let [e, t] of G) u.has(e) || (J(t), t.uniform.destroy(), G.delete(e));
|
|
238
375
|
},
|
|
239
376
|
destroy() {
|
|
240
|
-
|
|
241
|
-
for (let e of
|
|
242
|
-
|
|
377
|
+
w = !0;
|
|
378
|
+
for (let e of G.values()) J(e), e.uniform.destroy();
|
|
379
|
+
G.clear(), V?.color.destroy(), V?.depth.destroy(), H(), V = null, S.unconfigure(), x.destroy();
|
|
243
380
|
}
|
|
244
381
|
};
|
|
245
382
|
};
|
|
246
383
|
//#endregion
|
|
247
|
-
export {
|
|
384
|
+
export { h as createWebGpu3D };
|
|
248
385
|
|
|
249
386
|
//# sourceMappingURL=webgpu.js.map
|