taffy-layout 1.4.0 → 2.0.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/README.ja-JP.md CHANGED
@@ -71,10 +71,7 @@ childStyle.height = "auto";
71
71
  // ノードを生成
72
72
  const child1 = tree.newLeaf(childStyle);
73
73
  const child2 = tree.newLeaf(childStyle);
74
- const container = tree.newWithChildren(
75
- containerStyle,
76
- BigUint64Array.from([child1, child2]),
77
- );
74
+ const container = tree.newWithChildren(containerStyle, [child1, child2]);
78
75
 
79
76
  // レイアウト計算
80
77
  tree.computeLayout(container, { width: 300, height: 200 });
package/README.md CHANGED
@@ -71,10 +71,7 @@ childStyle.height = "auto";
71
71
  // Create nodes
72
72
  const child1 = tree.newLeaf(childStyle);
73
73
  const child2 = tree.newLeaf(childStyle);
74
- const container = tree.newWithChildren(
75
- containerStyle,
76
- BigUint64Array.from([child1, child2]),
77
- );
74
+ const container = tree.newWithChildren(containerStyle, [child1, child2]);
78
75
 
79
76
  // Compute layout
80
77
  tree.computeLayout(container, { width: 300, height: 200 });
package/README.zh-CN.md CHANGED
@@ -71,10 +71,7 @@ childStyle.height = "auto";
71
71
  // 创建节点
72
72
  const child1 = tree.newLeaf(childStyle);
73
73
  const child2 = tree.newLeaf(childStyle);
74
- const container = tree.newWithChildren(
75
- containerStyle,
76
- BigUint64Array.from([child1, child2]),
77
- );
74
+ const container = tree.newWithChildren(containerStyle, [child1, child2]);
78
75
 
79
76
  // 计算布局
80
77
  tree.computeLayout(container, { width: 300, height: 200 });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taffy-layout",
3
- "version": "1.4.0",
3
+ "version": "2.0.0",
4
4
  "description": "WebAssembly bindings for Taffy layout library",
5
5
  "keywords": [
6
6
  "layout",
package/pkg/README.md CHANGED
@@ -71,10 +71,7 @@ childStyle.height = "auto";
71
71
  // Create nodes
72
72
  const child1 = tree.newLeaf(childStyle);
73
73
  const child2 = tree.newLeaf(childStyle);
74
- const container = tree.newWithChildren(
75
- containerStyle,
76
- BigUint64Array.from([child1, child2]),
77
- );
74
+ const container = tree.newWithChildren(containerStyle, [child1, child2]);
78
75
 
79
76
  // Compute layout
80
77
  tree.computeLayout(container, { width: 300, height: 200 });
@@ -2294,11 +2294,11 @@ export class TaffyTree {
2294
2294
  * const child1 = tree.newLeaf(new Style());
2295
2295
  * const child2 = tree.newLeaf(new Style());
2296
2296
  * const child3 = tree.newLeaf(new Style());
2297
- * const children = BigUint64Array.from([child1, child2, child3]);
2297
+ * const children = [child1, child2, child3];
2298
2298
  * tree.setChildren(parentId, children);
2299
2299
  * ```
2300
2300
  */
2301
- setChildren(parent: bigint, children: BigUint64Array): void;
2301
+ setChildren(parent: bigint, children: bigint[]): void;
2302
2302
  /**
2303
2303
  * Creates a new TaffyTree with pre-allocated capacity
2304
2304
  *
@@ -2455,7 +2455,7 @@ export class TaffyTree {
2455
2455
  * The children must already exist in the tree.
2456
2456
  *
2457
2457
  * @param style - The style configuration for the node
2458
- * @param children - Array of child node IDs (as BigUint64Array)
2458
+ * @param children - Array of child node IDs (as bigint[])
2459
2459
  *
2460
2460
  * @returns - The node ID (`bigint`)
2461
2461
  *
@@ -2472,11 +2472,11 @@ export class TaffyTree {
2472
2472
  *
2473
2473
  * const container: bigint = tree.newWithChildren(
2474
2474
  * containerStyle,
2475
- * BigUint64Array.from([child1, child2])
2475
+ * [child1, child2]
2476
2476
  * );
2477
2477
  * ```
2478
2478
  */
2479
- newWithChildren(style: Style, children: BigUint64Array): bigint;
2479
+ newWithChildren(style: Style, children: bigint[]): bigint;
2480
2480
  /**
2481
2481
  * Gets the child at a specific index
2482
2482
  *
@@ -2598,12 +2598,13 @@ export class TaffyTree {
2598
2598
  * ```typescript
2599
2599
  * const tree = new TaffyTree();
2600
2600
  * const parentId = tree.newLeaf(new Style());
2601
+ * const child0 = tree.newLeaf(new Style());
2601
2602
  * const child1 = tree.newLeaf(new Style());
2602
2603
  * const child2 = tree.newLeaf(new Style());
2603
2604
  * const child3 = tree.newLeaf(new Style());
2604
- * tree.setChildren(parentId, BigUint64Array.from([child1, child2, child3]));
2605
+ * tree.setChildren(parentId, [child0, child1, child2, child3]);
2605
2606
  *
2606
- * tree.removeChildrenRange(parentId, 1, 3);
2607
+ * tree.removeChildrenRange(parentId, 1, 3); // Removes child1 and child2
2607
2608
  * ```
2608
2609
  */
2609
2610
  removeChildrenRange(parent: bigint, startIndex: number, endIndex: number): void;
@@ -2681,11 +2682,11 @@ export class TaffyTree {
2681
2682
  * const tree = new TaffyTree();
2682
2683
  * const id1 = tree.newLeaf(new Style());
2683
2684
  * const id2 = tree.newLeaf(new Style());
2684
- * const nodes = BigUint64Array.from([id1, id2]);
2685
+ * const nodes = [id1, id2];
2685
2686
  * const contexts = tree.getDisjointNodeContextMut(nodes);
2686
2687
  * ```
2687
2688
  */
2688
- getDisjointNodeContextMut(children: BigUint64Array): any[];
2689
+ getDisjointNodeContextMut(children: bigint[]): any[];
2689
2690
  /**
2690
2691
  * Creates a new empty TaffyTree
2691
2692
  *
@@ -2827,7 +2828,7 @@ export class TaffyTree {
2827
2828
  *
2828
2829
  * @param parent - The parent node ID
2829
2830
  *
2830
- * @returns - Array of child node IDs (`BigUint64Array`)
2831
+ * @returns - Array of child node IDs
2831
2832
  *
2832
2833
  * @throws `TaffyError` if the parent node does not exist
2833
2834
  *
@@ -2835,10 +2836,10 @@ export class TaffyTree {
2835
2836
  * ```typescript
2836
2837
  * const tree = new TaffyTree();
2837
2838
  * const parentId = tree.newLeaf(new Style());
2838
- * const children: BigUint64Array = tree.children(parentId);
2839
+ * const children = tree.children(parentId);
2839
2840
  * ```
2840
2841
  */
2841
- children(parent: bigint): BigUint64Array;
2842
+ children(parent: bigint): bigint[];
2842
2843
  /**
2843
2844
  * Creates a new leaf node with the given style
2844
2845
  *
@@ -3112,7 +3113,7 @@ export interface InitOutput {
3112
3113
  readonly taffyerror_message: (a: number) => [number, number];
3113
3114
  readonly taffytree_addChild: (a: number, b: bigint, c: bigint) => [number, number];
3114
3115
  readonly taffytree_childCount: (a: number, b: bigint) => number;
3115
- readonly taffytree_children: (a: number, b: bigint) => [number, number, number, number];
3116
+ readonly taffytree_children: (a: number, b: bigint) => [number, number, number];
3116
3117
  readonly taffytree_clear: (a: number) => void;
3117
3118
  readonly taffytree_computeLayout: (a: number, b: bigint, c: any) => [number, number];
3118
3119
  readonly taffytree_computeLayoutWithMeasure: (a: number, b: bigint, c: any, d: any) => [number, number];
@@ -3121,7 +3122,7 @@ export interface InitOutput {
3121
3122
  readonly taffytree_disableRounding: (a: number) => void;
3122
3123
  readonly taffytree_enableRounding: (a: number) => void;
3123
3124
  readonly taffytree_getChildAtIndex: (a: number, b: bigint, c: number) => [bigint, number, number];
3124
- readonly taffytree_getDisjointNodeContextMut: (a: number, b: number, c: number) => [number, number, number, number];
3125
+ readonly taffytree_getDisjointNodeContextMut: (a: number, b: any) => [number, number, number, number];
3125
3126
  readonly taffytree_getLayout: (a: number, b: bigint) => [number, number, number];
3126
3127
  readonly taffytree_getNodeContext: (a: number, b: bigint) => [number, number, number];
3127
3128
  readonly taffytree_getNodeContextMut: (a: number, b: bigint) => [number, number, number];
@@ -3131,7 +3132,7 @@ export interface InitOutput {
3131
3132
  readonly taffytree_new: () => number;
3132
3133
  readonly taffytree_newLeaf: (a: number, b: number) => [bigint, number, number];
3133
3134
  readonly taffytree_newLeafWithContext: (a: number, b: number, c: any) => [bigint, number, number];
3134
- readonly taffytree_newWithChildren: (a: number, b: number, c: number, d: number) => [bigint, number, number];
3135
+ readonly taffytree_newWithChildren: (a: number, b: number, c: any) => [bigint, number, number];
3135
3136
  readonly taffytree_parent: (a: number, b: bigint) => [number, bigint];
3136
3137
  readonly taffytree_printTree: (a: number, b: bigint) => [number, number];
3137
3138
  readonly taffytree_remove: (a: number, b: bigint) => [bigint, number, number];
@@ -3139,7 +3140,7 @@ export interface InitOutput {
3139
3140
  readonly taffytree_removeChildAtIndex: (a: number, b: bigint, c: number) => [bigint, number, number];
3140
3141
  readonly taffytree_removeChildrenRange: (a: number, b: bigint, c: number, d: number) => [number, number];
3141
3142
  readonly taffytree_replaceChildAtIndex: (a: number, b: bigint, c: number, d: bigint) => [bigint, number, number];
3142
- readonly taffytree_setChildren: (a: number, b: bigint, c: number, d: number) => [number, number];
3143
+ readonly taffytree_setChildren: (a: number, b: bigint, c: any) => [number, number];
3143
3144
  readonly taffytree_setNodeContext: (a: number, b: bigint, c: any) => [number, number];
3144
3145
  readonly taffytree_setStyle: (a: number, b: bigint, c: number) => [number, number];
3145
3146
  readonly taffytree_totalNodeCount: (a: number) => number;
package/pkg/taffy_wasm.js CHANGED
@@ -88,24 +88,11 @@ function getArrayJsValueFromWasm0(ptr, len) {
88
88
  return result;
89
89
  }
90
90
 
91
- function getArrayU64FromWasm0(ptr, len) {
92
- ptr = ptr >>> 0;
93
- return getBigUint64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);
94
- }
95
-
96
91
  function getArrayU8FromWasm0(ptr, len) {
97
92
  ptr = ptr >>> 0;
98
93
  return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
99
94
  }
100
95
 
101
- let cachedBigUint64ArrayMemory0 = null;
102
- function getBigUint64ArrayMemory0() {
103
- if (cachedBigUint64ArrayMemory0 === null || cachedBigUint64ArrayMemory0.byteLength === 0) {
104
- cachedBigUint64ArrayMemory0 = new BigUint64Array(wasm.memory.buffer);
105
- }
106
- return cachedBigUint64ArrayMemory0;
107
- }
108
-
109
96
  let cachedDataViewMemory0 = null;
110
97
  function getDataViewMemory0() {
111
98
  if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
@@ -140,13 +127,6 @@ function isLikeNone(x) {
140
127
  return x === undefined || x === null;
141
128
  }
142
129
 
143
- function passArray64ToWasm0(arg, malloc) {
144
- const ptr = malloc(arg.length * 8, 8) >>> 0;
145
- getBigUint64ArrayMemory0().set(arg, ptr / 8);
146
- WASM_VECTOR_LEN = arg.length;
147
- return ptr;
148
- }
149
-
150
130
  function passArrayJsValueToWasm0(array, malloc) {
151
131
  const ptr = malloc(array.length * 4, 4) >>> 0;
152
132
  for (let i = 0; i < array.length; i++) {
@@ -3369,16 +3349,14 @@ export class TaffyTree {
3369
3349
  * const child1 = tree.newLeaf(new Style());
3370
3350
  * const child2 = tree.newLeaf(new Style());
3371
3351
  * const child3 = tree.newLeaf(new Style());
3372
- * const children = BigUint64Array.from([child1, child2, child3]);
3352
+ * const children = [child1, child2, child3];
3373
3353
  * tree.setChildren(parentId, children);
3374
3354
  * ```
3375
3355
  * @param {bigint} parent
3376
- * @param {BigUint64Array} children
3356
+ * @param {bigint[]} children
3377
3357
  */
3378
3358
  setChildren(parent, children) {
3379
- const ptr0 = passArray64ToWasm0(children, wasm.__wbindgen_malloc);
3380
- const len0 = WASM_VECTOR_LEN;
3381
- const ret = wasm.taffytree_setChildren(this.__wbg_ptr, parent, ptr0, len0);
3359
+ const ret = wasm.taffytree_setChildren(this.__wbg_ptr, parent, children);
3382
3360
  if (ret[1]) {
3383
3361
  throw takeFromExternrefTable0(ret[0]);
3384
3362
  }
@@ -3579,7 +3557,7 @@ export class TaffyTree {
3579
3557
  * The children must already exist in the tree.
3580
3558
  *
3581
3559
  * @param style - The style configuration for the node
3582
- * @param children - Array of child node IDs (as BigUint64Array)
3560
+ * @param children - Array of child node IDs (as bigint[])
3583
3561
  *
3584
3562
  * @returns - The node ID (`bigint`)
3585
3563
  *
@@ -3596,18 +3574,16 @@ export class TaffyTree {
3596
3574
  *
3597
3575
  * const container: bigint = tree.newWithChildren(
3598
3576
  * containerStyle,
3599
- * BigUint64Array.from([child1, child2])
3577
+ * [child1, child2]
3600
3578
  * );
3601
3579
  * ```
3602
3580
  * @param {Style} style
3603
- * @param {BigUint64Array} children
3581
+ * @param {bigint[]} children
3604
3582
  * @returns {bigint}
3605
3583
  */
3606
3584
  newWithChildren(style, children) {
3607
3585
  _assertClass(style, Style);
3608
- const ptr0 = passArray64ToWasm0(children, wasm.__wbindgen_malloc);
3609
- const len0 = WASM_VECTOR_LEN;
3610
- const ret = wasm.taffytree_newWithChildren(this.__wbg_ptr, style.__wbg_ptr, ptr0, len0);
3586
+ const ret = wasm.taffytree_newWithChildren(this.__wbg_ptr, style.__wbg_ptr, children);
3611
3587
  if (ret[2]) {
3612
3588
  throw takeFromExternrefTable0(ret[1]);
3613
3589
  }
@@ -3786,12 +3762,13 @@ export class TaffyTree {
3786
3762
  * ```typescript
3787
3763
  * const tree = new TaffyTree();
3788
3764
  * const parentId = tree.newLeaf(new Style());
3765
+ * const child0 = tree.newLeaf(new Style());
3789
3766
  * const child1 = tree.newLeaf(new Style());
3790
3767
  * const child2 = tree.newLeaf(new Style());
3791
3768
  * const child3 = tree.newLeaf(new Style());
3792
- * tree.setChildren(parentId, BigUint64Array.from([child1, child2, child3]));
3769
+ * tree.setChildren(parentId, [child0, child1, child2, child3]);
3793
3770
  *
3794
- * tree.removeChildrenRange(parentId, 1, 3);
3771
+ * tree.removeChildrenRange(parentId, 1, 3); // Removes child1 and child2
3795
3772
  * ```
3796
3773
  * @param {bigint} parent
3797
3774
  * @param {number} startIndex
@@ -3895,22 +3872,20 @@ export class TaffyTree {
3895
3872
  * const tree = new TaffyTree();
3896
3873
  * const id1 = tree.newLeaf(new Style());
3897
3874
  * const id2 = tree.newLeaf(new Style());
3898
- * const nodes = BigUint64Array.from([id1, id2]);
3875
+ * const nodes = [id1, id2];
3899
3876
  * const contexts = tree.getDisjointNodeContextMut(nodes);
3900
3877
  * ```
3901
- * @param {BigUint64Array} children
3878
+ * @param {bigint[]} children
3902
3879
  * @returns {any[]}
3903
3880
  */
3904
3881
  getDisjointNodeContextMut(children) {
3905
- const ptr0 = passArray64ToWasm0(children, wasm.__wbindgen_malloc);
3906
- const len0 = WASM_VECTOR_LEN;
3907
- const ret = wasm.taffytree_getDisjointNodeContextMut(this.__wbg_ptr, ptr0, len0);
3882
+ const ret = wasm.taffytree_getDisjointNodeContextMut(this.__wbg_ptr, children);
3908
3883
  if (ret[3]) {
3909
3884
  throw takeFromExternrefTable0(ret[2]);
3910
3885
  }
3911
- var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
3886
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
3912
3887
  wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
3913
- return v2;
3888
+ return v1;
3914
3889
  }
3915
3890
  /**
3916
3891
  * Creates a new empty TaffyTree
@@ -4097,7 +4072,7 @@ export class TaffyTree {
4097
4072
  *
4098
4073
  * @param parent - The parent node ID
4099
4074
  *
4100
- * @returns - Array of child node IDs (`BigUint64Array`)
4075
+ * @returns - Array of child node IDs
4101
4076
  *
4102
4077
  * @throws `TaffyError` if the parent node does not exist
4103
4078
  *
@@ -4105,19 +4080,17 @@ export class TaffyTree {
4105
4080
  * ```typescript
4106
4081
  * const tree = new TaffyTree();
4107
4082
  * const parentId = tree.newLeaf(new Style());
4108
- * const children: BigUint64Array = tree.children(parentId);
4083
+ * const children = tree.children(parentId);
4109
4084
  * ```
4110
4085
  * @param {bigint} parent
4111
- * @returns {BigUint64Array}
4086
+ * @returns {bigint[]}
4112
4087
  */
4113
4088
  children(parent) {
4114
4089
  const ret = wasm.taffytree_children(this.__wbg_ptr, parent);
4115
- if (ret[3]) {
4116
- throw takeFromExternrefTable0(ret[2]);
4090
+ if (ret[2]) {
4091
+ throw takeFromExternrefTable0(ret[1]);
4117
4092
  }
4118
- var v1 = getArrayU64FromWasm0(ret[0], ret[1]).slice();
4119
- wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
4120
- return v1;
4093
+ return takeFromExternrefTable0(ret[0]);
4121
4094
  }
4122
4095
  /**
4123
4096
  * Creates a new leaf node with the given style
@@ -4553,7 +4526,6 @@ function __wbg_get_imports() {
4553
4526
  function __wbg_finalize_init(instance, module) {
4554
4527
  wasm = instance.exports;
4555
4528
  __wbg_init.__wbindgen_wasm_module = module;
4556
- cachedBigUint64ArrayMemory0 = null;
4557
4529
  cachedDataViewMemory0 = null;
4558
4530
  cachedUint8ArrayMemory0 = null;
4559
4531
 
Binary file
@@ -176,7 +176,7 @@ export const style_width: (a: number) => any;
176
176
  export const taffyerror_message: (a: number) => [number, number];
177
177
  export const taffytree_addChild: (a: number, b: bigint, c: bigint) => [number, number];
178
178
  export const taffytree_childCount: (a: number, b: bigint) => number;
179
- export const taffytree_children: (a: number, b: bigint) => [number, number, number, number];
179
+ export const taffytree_children: (a: number, b: bigint) => [number, number, number];
180
180
  export const taffytree_clear: (a: number) => void;
181
181
  export const taffytree_computeLayout: (a: number, b: bigint, c: any) => [number, number];
182
182
  export const taffytree_computeLayoutWithMeasure: (a: number, b: bigint, c: any, d: any) => [number, number];
@@ -185,7 +185,7 @@ export const taffytree_dirty: (a: number, b: bigint) => [number, number, number]
185
185
  export const taffytree_disableRounding: (a: number) => void;
186
186
  export const taffytree_enableRounding: (a: number) => void;
187
187
  export const taffytree_getChildAtIndex: (a: number, b: bigint, c: number) => [bigint, number, number];
188
- export const taffytree_getDisjointNodeContextMut: (a: number, b: number, c: number) => [number, number, number, number];
188
+ export const taffytree_getDisjointNodeContextMut: (a: number, b: any) => [number, number, number, number];
189
189
  export const taffytree_getLayout: (a: number, b: bigint) => [number, number, number];
190
190
  export const taffytree_getNodeContext: (a: number, b: bigint) => [number, number, number];
191
191
  export const taffytree_getNodeContextMut: (a: number, b: bigint) => [number, number, number];
@@ -195,7 +195,7 @@ export const taffytree_markDirty: (a: number, b: bigint) => [number, number];
195
195
  export const taffytree_new: () => number;
196
196
  export const taffytree_newLeaf: (a: number, b: number) => [bigint, number, number];
197
197
  export const taffytree_newLeafWithContext: (a: number, b: number, c: any) => [bigint, number, number];
198
- export const taffytree_newWithChildren: (a: number, b: number, c: number, d: number) => [bigint, number, number];
198
+ export const taffytree_newWithChildren: (a: number, b: number, c: any) => [bigint, number, number];
199
199
  export const taffytree_parent: (a: number, b: bigint) => [number, bigint];
200
200
  export const taffytree_printTree: (a: number, b: bigint) => [number, number];
201
201
  export const taffytree_remove: (a: number, b: bigint) => [bigint, number, number];
@@ -203,7 +203,7 @@ export const taffytree_removeChild: (a: number, b: bigint, c: bigint) => [bigint
203
203
  export const taffytree_removeChildAtIndex: (a: number, b: bigint, c: number) => [bigint, number, number];
204
204
  export const taffytree_removeChildrenRange: (a: number, b: bigint, c: number, d: number) => [number, number];
205
205
  export const taffytree_replaceChildAtIndex: (a: number, b: bigint, c: number, d: bigint) => [bigint, number, number];
206
- export const taffytree_setChildren: (a: number, b: bigint, c: number, d: number) => [number, number];
206
+ export const taffytree_setChildren: (a: number, b: bigint, c: any) => [number, number];
207
207
  export const taffytree_setNodeContext: (a: number, b: bigint, c: any) => [number, number];
208
208
  export const taffytree_setStyle: (a: number, b: bigint, c: number) => [number, number];
209
209
  export const taffytree_totalNodeCount: (a: number) => number;