[Bug] SOLVED the issue caused by hidden 3D axes.
- Dominant language
- TypeScript
- Stars
- 67.3k
- Forks
- 19.8k
- Avg merge
- 11d 14h
- Merged PRs (30d)
- 8
Description
### Version
5.5.1
### Link to Minimal Reproduction
https://codepen.io/akiastyle/pen/LEPRddW
### Steps to Reproduce
When I create a 3D bar and hide all axes to customize the chart's view and the XY plane, I encounter a large number of errors, which increases the execution time. I am using vanilla JavaScript.

### Current Behavior
I resolved this issue by modifying the code in echarts-gl.min.js. The error was caused by null axis values.
The correction I made is specifically required only in the explained rows, even though similar changes might need to be applied to other rows as well. My activity was limited to the modifications mentioned above.
### Expected Behavior
I resolved the issue by changing specific lines in the echarts-gl.min.js code. The problem was caused by null axis values, and I addressed it as follows:
On.prototype = {
constructor: On,
add: function (e) {
return Et.add(this.array, this.array, e.array), this._dirty = !0, this },
set: function (e, t, r, i) {
return this.array[0] = e,
this.array[1] = t,
this.array[2] = r,
this.array[3] = i,
this._dirty = !0, this },
setArray: function (e) {
return
this.array[0] = e?.[0] ?? 0, <---------------------------- this.array[0] = e[0],
this.array[1] = e?.[1] ?? 0, <---------------------------- this.array[1] = e[1],
this.array[2] = e?.[2] ?? 0, <---------------------------- this.array[2] = e[2],
this.array[3] = e?.[3] ?? 0, <---------------------------- this.array[3] = e[3],
this._dirty = !0,
this
},
AND
this._axes.forEach((function(i) {
for (var n = i.axisLineCoords, a = (i.labelsMesh.geometry,
0); a < t.length; a++)
t[a].setArray(n?[a] ?? 0), <---------------------------- t[a].setArray(n[a]),
t[a].w = 1,
t[a].transformMat4(i.rootNode.worldTransform).transformMat4(e.viewMatrix).transformMat4(e.projectionMatrix),
t[a].x /= t[a].w,
t[a].y /= t[a].w;
var o, s, l = t[1].x - t[0].x, h = t[1].y - t[0].y, u = (t[1].x + t[0].x) / 2, c = (t[1].y + t[0].y) / 2;
Math.abs(h / l) < .5 ? (o = "center",
s = c > r.y ? "bottom" : "top") : (s = "middle",
o = u > r.x ? "left" : "right"),
i.setSpriteAlign(o, s, this._api)
}
### Environment
```markdown
- OS:
- Browser: chrome latest
- Framework: none
```
### Any additional comments?
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.