Cleanup/Perf: Float32Array/Float64Array removal (#5877)

## Summary

Redoing https://github.com/Comfy-Org/ComfyUI_frontend/pull/5567, without
the link rendering changes.

## Changes

- **What**: Standardizing the Point/Size/Rect logic around numeric
tuples instead of typed arrays.

## Review Focus

Cutting here and going to continue in a second PR.

Do the simpler types make sense?
Do we want to keep the behavior of Rectangle as it is now?

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5877-WIP-Float32Array-Float64Array-removal-27f6d73d36508169a39eff1e4a87a61c)
by [Unito](https://www.unito.io)

---------

Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
Alexander Brown
2025-10-02 17:20:31 -07:00
committed by GitHub
parent 720de8cc8a
commit 4b1c165d43
24 changed files with 166 additions and 218 deletions

View File

@@ -84,8 +84,8 @@ describe('LGraphNode', () => {
}))
}
node.configure(configureData)
expect(node.pos).toEqual(new Float32Array([50, 60]))
expect(node.size).toEqual(new Float32Array([70, 80]))
expect(node.pos).toEqual(new Float64Array([50, 60]))
expect(node.size).toEqual(new Float64Array([70, 80]))
})
test('should configure inputs correctly', () => {
@@ -266,7 +266,7 @@ describe('LGraphNode', () => {
const node = new LGraphNode('TestNode') as unknown as Omit<
LGraphNode,
'boundingRect'
> & { boundingRect: Float32Array }
> & { boundingRect: Float64Array }
node.pos = [100, 100]
node.size = [100, 100]
node.boundingRect[0] = 100
@@ -335,7 +335,7 @@ describe('LGraphNode', () => {
const node = new LGraphNode('TestNode') as unknown as Omit<
LGraphNode,
'boundingRect'
> & { boundingRect: Float32Array }
> & { boundingRect: Float64Array }
node.pos = [100, 100]
node.size = [100, 100]
node.boundingRect[0] = 100
@@ -367,7 +367,7 @@ describe('LGraphNode', () => {
const node = new LGraphNode('TestNode') as unknown as Omit<
LGraphNode,
'boundingRect'
> & { boundingRect: Float32Array }
> & { boundingRect: Float64Array }
node.pos = [100, 100]
node.size = [100, 100]
node.boundingRect[0] = 100
@@ -400,7 +400,7 @@ describe('LGraphNode', () => {
const node = new LGraphNode('TestNode') as unknown as Omit<
LGraphNode,
'boundingRect'
> & { boundingRect: Float32Array }
> & { boundingRect: Float64Array }
node.pos = [100, 100]
node.size = [100, 100]
node.boundingRect[0] = 100
@@ -571,7 +571,7 @@ describe('LGraphNode', () => {
name: 'test_in',
type: 'string',
link: null,
boundingRect: new Float32Array([0, 0, 0, 0])
boundingRect: [0, 0, 0, 0]
}
})
test('should return position based on title height when collapsed', () => {
@@ -590,11 +590,11 @@ describe('LGraphNode', () => {
test('should return default vertical position when input.pos is undefined and not collapsed', () => {
node.flags.collapsed = false
const inputSlot2 = {
const inputSlot2: INodeInputSlot = {
name: 'test_in_2',
type: 'number',
link: null,
boundingRect: new Float32Array([0, 0, 0, 0])
boundingRect: [0, 0, 0, 0]
}
node.inputs = [inputSlot, inputSlot2]
const slotIndex = 0

View File

@@ -4,7 +4,7 @@ exports[`LGraph > supports schema v0.4 graphs > oldSchemaGraph 1`] = `
LGraph {
"_groups": [
LGraphGroup {
"_bounding": Float32Array [
"_bounding": Rectangle [
20,
20,
1,
@@ -12,11 +12,11 @@ LGraph {
],
"_children": Set {},
"_nodes": [],
"_pos": Float32Array [
"_pos": Float64Array [
20,
20,
],
"_size": Float32Array [
"_size": Float64Array [
1,
3,
],
@@ -39,11 +39,11 @@ LGraph {
LGraphNode {
"_collapsed_width": undefined,
"_level": undefined,
"_pos": Float32Array [
"_pos": Float64Array [
10,
10,
],
"_posSize": Float32Array [
"_posSize": Rectangle [
10,
10,
140,
@@ -51,7 +51,7 @@ LGraph {
],
"_relative_id": undefined,
"_shape": undefined,
"_size": Float32Array [
"_size": Float64Array [
140,
60,
],
@@ -111,11 +111,11 @@ LGraph {
"1": LGraphNode {
"_collapsed_width": undefined,
"_level": undefined,
"_pos": Float32Array [
"_pos": Float64Array [
10,
10,
],
"_posSize": Float32Array [
"_posSize": Rectangle [
10,
10,
140,
@@ -123,7 +123,7 @@ LGraph {
],
"_relative_id": undefined,
"_shape": undefined,
"_size": Float32Array [
"_size": Float64Array [
140,
60,
],
@@ -184,11 +184,11 @@ LGraph {
LGraphNode {
"_collapsed_width": undefined,
"_level": undefined,
"_pos": Float32Array [
"_pos": Float64Array [
10,
10,
],
"_posSize": Float32Array [
"_posSize": Rectangle [
10,
10,
140,
@@ -196,7 +196,7 @@ LGraph {
],
"_relative_id": undefined,
"_shape": undefined,
"_size": Float32Array [
"_size": Float64Array [
140,
60,
],