nodi-modular 0.0.26 → 0.0.28

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/index.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export function do_nothing_just_tell_wasm_bindgen_to_generate_types(): void;
4
- export type NodeOutput = (Map<string, Item[]> | undefined)[];
5
-
6
4
  /**
7
5
  * Evaluation item interoperability type.
8
6
  */
@@ -13,35 +11,126 @@ export interface GeometryTransformInterop {
13
11
  transform: TransformInterop;
14
12
  }
15
13
 
16
- export interface GroupInteropHandle {
17
- objects: GeometryInteropHandleProxy[];
14
+ export type NodeOutput = (Map<string, Item[]> | undefined)[];
15
+
16
+ export type GeometryInteropVec = GeometryInterop[];
17
+
18
+ export type NodeConnectionInteropVec = NodeConnectionInterop[];
19
+
20
+ export type NodePropertyInteropVec = NodePropertyInterop[];
21
+
22
+ export type NodeInteropVec = NodeInterop[];
23
+
24
+ export type EdgeInteropVec = EdgeInterop[];
25
+
26
+ export interface GeometrySpreadsheet {
27
+ points: Point3<number>[];
28
+ curves: CurveProxy[];
29
+ surfaces: SurfaceProxy[];
30
+ meshes: MeshInterop[];
18
31
  }
19
32
 
20
- /**
21
- * Interop struct for transform
22
- * Represents a 4x4 matrix as a 16-element array
23
- */
24
- export type TransformInterop = number[];
33
+ export interface DataTreeInterop {
34
+ branches: IndexMap<string, string[]>;
35
+ }
25
36
 
26
- export interface IndicesInteropHandle {
37
+ export interface DataTreeFormatInterop {
38
+ outputs: IndexMap<string, string>;
39
+ }
40
+
41
+ export interface MeshInteropHandle {
27
42
  count: number;
28
- indices: number;
43
+ vertices: number;
44
+ normals: number;
45
+ indices: IndicesInteropHandle | undefined;
46
+ transform: TransformInterop | undefined;
29
47
  }
30
48
 
31
49
  /**
32
- * Interop struct for evaluation results
50
+ * Options for adaptive tessellation to create geometry interoperability
33
51
  */
34
- export interface EvaluationInterop {
52
+ export interface AdaptiveTessellationOptions {
35
53
  /**
36
- * Processed nodes in the latest evaluation
54
+ * Whether to enable adaptive tessellation
37
55
  */
38
- processedNodes: GraphNodeSet[];
56
+ enabled: boolean;
39
57
  /**
40
- * Geometry identifiers in the latest evaluation
58
+ * Tolerance for the normal vector: if the L2 norm of the normal vectors is below this value, the edge is considered flat
41
59
  */
42
- geometryIdentifiers: GeometryIdentifier[];
60
+ normTolerance: number;
61
+ /**
62
+ * Minimum number of divisions in u direction
63
+ */
64
+ minDivsU: number;
65
+ /**
66
+ * Minimum number of divisions in v direction
67
+ */
68
+ minDivsV: number;
69
+ /**
70
+ * Minimum depth for division
71
+ */
72
+ minDepth: number;
73
+ /**
74
+ * Maximum depth for division
75
+ */
76
+ maxDepth: number;
77
+ }
78
+
79
+ export type GeometryInteropHandleProxy = { variant: "Mesh"; data: MeshInteropHandle } | { variant: "Curve"; data: CurveInteropHandle } | { variant: "Group"; data: GroupInteropHandle };
80
+
81
+ export interface PointListHandleUnit {
82
+ count: number;
83
+ points: number;
84
+ }
85
+
86
+ /**
87
+ * Point display handle for wasm interop
88
+ */
89
+ export interface PointListDisplayHandle {
90
+ list: PointListHandleUnit[];
91
+ pointSize: number;
92
+ }
93
+
94
+ /**
95
+ * Vector display handle for wasm interop
96
+ * stride = 6 (3 for point, 3 for vector)
97
+ */
98
+ export interface VectorDisplayHandle {
99
+ count: number;
100
+ vertices: number;
101
+ }
102
+
103
+ export type DisplayProxyHandle = { variant: "Vector"; data: VectorDisplayHandle } | { variant: "PointList"; data: PointListDisplayHandle };
104
+
105
+ export type NodeSectionInterop = { type: "section"; content: NodeFolderInterop } | { type: "item"; content: NodeItemInterop };
106
+
107
+ export interface NodeItemInterop {
108
+ key: string;
109
+ name: string;
43
110
  }
44
111
 
112
+ export type NodeFolderInterop = IndexMap<string, NodeSectionInterop>;
113
+
114
+ export interface NodeMapInterop {
115
+ folder: NodeFolderInterop;
116
+ }
117
+
118
+ /**
119
+ * Curve interop handle for wasm interop
120
+ * stride = 3 (x, y, z)
121
+ */
122
+ export interface CurveInteropHandle {
123
+ count: number;
124
+ vertices: number;
125
+ transform: TransformInterop | undefined;
126
+ }
127
+
128
+ /**
129
+ * Interop struct for transform
130
+ * Represents a 4x4 matrix as a 16-element array
131
+ */
132
+ export type TransformInterop = number[];
133
+
45
134
  /**
46
135
  * Interop struct for node
47
136
  */
@@ -107,41 +196,22 @@ export interface NodeMetaInterop {
107
196
  hasGeometry: boolean;
108
197
  }
109
198
 
110
- export interface EdgeInterop {
111
- source: EdgeUnitInterop<OutputId>;
112
- destination: EdgeUnitInterop<InputId>;
113
- empty: boolean;
114
- }
115
-
116
- export interface EdgeUnitInterop<IO> {
117
- node: NodeId;
118
- io: IO;
119
- }
120
-
121
- export interface IOInterop {
122
- id: string;
123
- name: string;
124
- accessType: AccessTypes;
125
- hint: TypeHint | undefined;
126
- connections: string[];
127
- }
128
-
129
- export interface DataTreeInterop {
130
- branches: IndexMap<string, string[]>;
131
- }
132
-
133
- export interface DataTreeFormatInterop {
134
- outputs: IndexMap<string, string>;
199
+ /**
200
+ * Interop struct for evaluation results
201
+ */
202
+ export interface EvaluationInterop {
203
+ /**
204
+ * Processed nodes in the latest evaluation
205
+ */
206
+ processedNodes: GraphNodeSet[];
207
+ /**
208
+ * Geometry identifiers in the latest evaluation
209
+ */
210
+ geometryIdentifiers: GeometryIdentifier[];
135
211
  }
136
212
 
137
- export type GeometryInteropHandleProxy = { variant: "Mesh"; data: MeshInteropHandle } | { variant: "Curve"; data: CurveInteropHandle } | { variant: "Group"; data: GroupInteropHandle };
138
-
139
- export interface MeshInteropHandle {
140
- count: number;
141
- vertices: number;
142
- normals: number;
143
- indices: IndicesInteropHandle | undefined;
144
- transform: TransformInterop | undefined;
213
+ export interface GroupInteropHandle {
214
+ objects: GeometryInteropHandleProxy[];
145
215
  }
146
216
 
147
217
  export interface NodeCreationSetting {
@@ -178,36 +248,6 @@ export interface NodePropertyInterop {
178
248
  disabled?: boolean;
179
249
  }
180
250
 
181
- /**
182
- * Options for adaptive tessellation to create geometry interoperability
183
- */
184
- export interface AdaptiveTessellationOptions {
185
- /**
186
- * Whether to enable adaptive tessellation
187
- */
188
- enabled: boolean;
189
- /**
190
- * Tolerance for the normal vector: if the L2 norm of the normal vectors is below this value, the edge is considered flat
191
- */
192
- normTolerance: number;
193
- /**
194
- * Minimum number of divisions in u direction
195
- */
196
- minDivsU: number;
197
- /**
198
- * Minimum number of divisions in v direction
199
- */
200
- minDivsV: number;
201
- /**
202
- * Minimum depth for division
203
- */
204
- minDepth: number;
205
- /**
206
- * Maximum depth for division
207
- */
208
- maxDepth: number;
209
- }
210
-
211
251
  export interface NodeConnectionInterop {
212
252
  outputNodeId: string;
213
253
  outputIndex: number;
@@ -216,58 +256,9 @@ export interface NodeConnectionInterop {
216
256
  inputConnectionIndex: number | undefined;
217
257
  }
218
258
 
219
- export interface PointListHandleUnit {
220
- count: number;
221
- points: number;
222
- }
223
-
224
- /**
225
- * Point display handle for wasm interop
226
- */
227
- export interface PointListDisplayHandle {
228
- list: PointListHandleUnit[];
229
- pointSize: number;
230
- }
231
-
232
- /**
233
- * Vector display handle for wasm interop
234
- * stride = 6 (3 for point, 3 for vector)
235
- */
236
- export interface VectorDisplayHandle {
259
+ export interface IndicesInteropHandle {
237
260
  count: number;
238
- vertices: number;
239
- }
240
-
241
- export type DisplayProxyHandle = { variant: "Vector"; data: VectorDisplayHandle } | { variant: "PointList"; data: PointListDisplayHandle };
242
-
243
- export interface GeometrySpreadsheet {
244
- points: Point3<number>[];
245
- curves: CurveProxy[];
246
- surfaces: SurfaceProxy[];
247
- meshes: MeshInterop[];
248
- }
249
-
250
- export type GeometryInteropVec = GeometryInterop[];
251
-
252
- export type NodeConnectionInteropVec = NodeConnectionInterop[];
253
-
254
- export type NodePropertyInteropVec = NodePropertyInterop[];
255
-
256
- export type NodeInteropVec = NodeInterop[];
257
-
258
- export type EdgeInteropVec = EdgeInterop[];
259
-
260
- export type NodeSectionInterop = { type: "section"; content: NodeFolderInterop } | { type: "item"; content: NodeItemInterop };
261
-
262
- export interface NodeItemInterop {
263
- key: string;
264
- name: string;
265
- }
266
-
267
- export type NodeFolderInterop = IndexMap<string, NodeSectionInterop>;
268
-
269
- export interface NodeMapInterop {
270
- folder: NodeFolderInterop;
261
+ indices: number;
271
262
  }
272
263
 
273
264
 
@@ -302,14 +293,23 @@ export type Transform3<T = number> = FixedLengthArray<T, 16>;
302
293
  export type Matrix4<T = number> = FixedLengthArray<FixedLengthArray<T, 4>, 4>;
303
294
 
304
295
 
305
- /**
306
- * Curve interop handle for wasm interop
307
- * stride = 3 (x, y, z)
308
- */
309
- export interface CurveInteropHandle {
310
- count: number;
311
- vertices: number;
312
- transform: TransformInterop | undefined;
296
+ export interface IOInterop {
297
+ id: string;
298
+ name: string;
299
+ accessType: AccessTypes;
300
+ hint: TypeHint | undefined;
301
+ connections: string[];
302
+ }
303
+
304
+ export interface EdgeInterop {
305
+ source: EdgeUnitInterop<OutputId>;
306
+ destination: EdgeUnitInterop<InputId>;
307
+ empty: boolean;
308
+ }
309
+
310
+ export interface EdgeUnitInterop<IO> {
311
+ node: NodeId;
312
+ io: IO;
313
313
  }
314
314
 
315
315
  /**
@@ -334,22 +334,23 @@ export interface GeometryIdentifier {
334
334
  transform: TransformInterop;
335
335
  }
336
336
 
337
- export type GraphMappingTypes = "None" | "Bezier" | "Linear" | "Sine";
337
+ export interface NodePropertyCategoryValue {
338
+ candidates: IndexMap<string, number>;
339
+ selected: number;
340
+ }
338
341
 
339
- export interface Node<T> {
340
- id: NodeId;
341
- name: string;
342
- label: string | undefined;
343
- input: InputIOManager;
344
- output: OutputIOManager;
345
- entity: T;
346
- enabled: boolean;
347
- visible: boolean;
342
+ export interface NodePropertyRangeValue {
343
+ value: number;
344
+ min: number | undefined;
345
+ max: number | undefined;
346
+ step: number | undefined;
348
347
  }
349
348
 
350
- export type OutputIOManager = IOManager<OutputId, InputId>;
349
+ export type NodePropertyValue = { type: "Number"; content: number } | { type: "Range"; content: NodePropertyRangeValue } | { type: "Range2d"; content: [NodePropertyRangeValue, NodePropertyRangeValue] } | { type: "String"; content: string } | { type: "Bool"; content: boolean } | { type: "NumberVector"; content: number[] } | { type: "Category"; content: NodePropertyCategoryValue } | { type: "Vector2d"; content: [number, number] } | { type: "Vector3d"; content: [number, number, number] } | { type: "Point2d"; content: [number, number] } | { type: "Point3d"; content: [number, number, number] } | { type: "Points2d"; content: [number, number][] } | { type: "Buffer"; content: number[] };
351
350
 
352
- export type InputIOManager = IOManager<InputId, OutputId>;
351
+ export type TypeHint = Internal;
352
+
353
+ export type AccessTypes = "Item" | "List" | "Tree";
353
354
 
354
355
  /**
355
356
  * Graph structure
@@ -365,25 +366,51 @@ export interface Graph<T, U> {
365
366
  sub_graphs?: IndexMap<SubGraphId, SubGraph<T, U>>;
366
367
  }
367
368
 
369
+ export interface Prune<T, U> {
370
+ connectedComponents: ConnectedComponents<T, U>[];
371
+ bypass: Connection[] | undefined;
372
+ }
373
+
374
+ export interface Node<T> {
375
+ id: NodeId;
376
+ name: string;
377
+ label: string | undefined;
378
+ input: InputIOManager;
379
+ output: OutputIOManager;
380
+ entity: T;
381
+ enabled: boolean;
382
+ visible: boolean;
383
+ }
384
+
385
+ export type OutputIOManager = IOManager<OutputId, InputId>;
386
+
387
+ export type InputIOManager = IOManager<InputId, OutputId>;
388
+
389
+ export interface Connection {
390
+ source: NodeParameter<OutputId>;
391
+ destination: NodeParameter<InputId>;
392
+ }
393
+
394
+ export interface NodeParameter<T> {
395
+ nodeId: NodeId;
396
+ parameterId: T;
397
+ parameterIndex: number;
398
+ }
399
+
368
400
  export interface SubGraphIdSet {
369
401
  subGraphId: SubGraphId;
370
402
  instanceId: SubGraphInstanceId;
371
403
  }
372
404
 
373
- export interface NodePropertyCategoryValue {
374
- candidates: Map<string, number>;
375
- selected: number;
405
+ export interface ConnectedComponentNode {
406
+ sources: NodeId[];
407
+ destinations: NodeId[];
376
408
  }
377
409
 
378
- export interface NodePropertyRangeValue {
379
- value: number;
380
- min: number | undefined;
381
- max: number | undefined;
382
- step: number | undefined;
410
+ export interface ConnectedComponents<T, U> {
411
+ nodes: IndexMap<NodeId, ConnectedComponentNode<T, U>>;
383
412
  }
384
413
 
385
- export type NodePropertyValue = { type: "Number"; content: number } | { type: "Range"; content: NodePropertyRangeValue } | { type: "Range2d"; content: [NodePropertyRangeValue, NodePropertyRangeValue] } | { type: "String"; content: string } | { type: "Bool"; content: boolean } | { type: "NumberVector"; content: number[] } | { type: "Category"; content: NodePropertyCategoryValue } | { type: "Vector2d"; content: [number, number] } | { type: "Vector3d"; content: [number, number, number] } | { type: "Point2d"; content: [number, number] } | { type: "Point3d"; content: [number, number, number] } | { type: "Points2d"; content: [number, number][] } | { type: "Buffer"; content: number[] };
386
-
387
414
  /**
388
415
  * Defines the dynamics of an IO parameter.
389
416
  */
@@ -395,19 +422,6 @@ export interface IOVariables {
395
422
  editable: boolean;
396
423
  }
397
424
 
398
- /**
399
- * A set of node id and instance id
400
- */
401
- export interface GraphNodeSet {
402
- subGraphIdSet: SubGraphIdSet | undefined;
403
- nodeId: NodeId;
404
- }
405
-
406
- export interface Prune<T, U> {
407
- connectedComponents: ConnectedComponents<T, U>[];
408
- bypass: Connection[] | undefined;
409
- }
410
-
411
425
  /**
412
426
  * A parameter for an input or output of a node.
413
427
  */
@@ -419,36 +433,20 @@ export interface IOParameter<T, U> {
419
433
  connections: U[];
420
434
  }
421
435
 
422
- export interface IOManager<T, U> {
423
- parameters: IOParameter<T, U>[];
424
- }
425
-
426
- export interface Connection {
427
- source: NodeParameter<OutputId>;
428
- destination: NodeParameter<InputId>;
429
- }
430
-
431
- export interface NodeParameter<T> {
436
+ /**
437
+ * A set of node id and instance id
438
+ */
439
+ export interface GraphNodeSet {
440
+ subGraphIdSet: SubGraphIdSet | undefined;
432
441
  nodeId: NodeId;
433
- parameterId: T;
434
- parameterIndex: number;
435
- }
436
-
437
- export interface ConnectedComponentNode {
438
- sources: NodeId[];
439
- destinations: NodeId[];
440
442
  }
441
443
 
442
- export interface ConnectedComponents<T, U> {
443
- nodes: IndexMap<NodeId, ConnectedComponentNode<T, U>>;
444
+ export interface IOManager<T, U> {
445
+ parameters: IOParameter<T, U>[];
444
446
  }
445
447
 
446
448
  export type GraphVariant = "Root" | { SubGraph: SubGraphId };
447
449
 
448
- export type TypeHint = Internal;
449
-
450
- export type AccessTypes = "Item" | "List" | "Tree";
451
-
452
450
  /**
453
451
  * A sub graph is a graph that is a part of a larger graph
454
452
  */
@@ -467,6 +465,8 @@ export interface SubGraph<T, U> {
467
465
  instances: SubGraphInstanceId[];
468
466
  }
469
467
 
468
+ export type GraphMappingTypes = "None" | "Bezier" | "Linear" | "Sine";
469
+
470
470
 
471
471
  export type NurbsCurve3D<T = number> = {
472
472
  control_points: Point4<T>[];
@@ -871,8 +871,8 @@ export interface InitOutput {
871
871
  readonly __externref_table_dealloc: (a: number) => void;
872
872
  readonly __externref_drop_slice: (a: number, b: number) => void;
873
873
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;
874
- readonly closure865_externref_shim: (a: number, b: number, c: any) => void;
875
- readonly closure3552_externref_shim: (a: number, b: number, c: any, d: any) => void;
874
+ readonly closure874_externref_shim: (a: number, b: number, c: any) => void;
875
+ readonly closure3561_externref_shim: (a: number, b: number, c: any, d: any) => void;
876
876
  readonly __wbindgen_start: () => void;
877
877
  }
878
878
 
package/index.js CHANGED
@@ -225,11 +225,11 @@ export function do_nothing_just_tell_wasm_bindgen_to_generate_types() {
225
225
  }
226
226
 
227
227
  function __wbg_adapter_52(arg0, arg1, arg2) {
228
- wasm.closure865_externref_shim(arg0, arg1, arg2);
228
+ wasm.closure874_externref_shim(arg0, arg1, arg2);
229
229
  }
230
230
 
231
231
  function __wbg_adapter_129(arg0, arg1, arg2, arg3) {
232
- wasm.closure3552_externref_shim(arg0, arg1, arg2, arg3);
232
+ wasm.closure3561_externref_shim(arg0, arg1, arg2, arg3);
233
233
  }
234
234
 
235
235
  const ModularFinalization = (typeof FinalizationRegistry === 'undefined')
@@ -643,8 +643,8 @@ function __wbg_get_imports() {
643
643
  const ret = false;
644
644
  return ret;
645
645
  };
646
- imports.wbg.__wbindgen_closure_wrapper3636 = function(arg0, arg1, arg2) {
647
- const ret = makeMutClosure(arg0, arg1, 866, __wbg_adapter_52);
646
+ imports.wbg.__wbindgen_closure_wrapper3844 = function(arg0, arg1, arg2) {
647
+ const ret = makeMutClosure(arg0, arg1, 875, __wbg_adapter_52);
648
648
  return ret;
649
649
  };
650
650
  imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
package/index_bg.wasm CHANGED
Binary file
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "Masatatsu Nakamura <masatatsu.nakamura@gmail.com"
6
6
  ],
7
7
  "description": "Modular is a module project designed to import node graphs created in Nodi in JSON format, enabling the extraction of geometric data generated based on the node graph structure.",
8
- "version": "0.0.26",
8
+ "version": "0.0.28",
9
9
  "license": "MIT",
10
10
  "repository": {
11
11
  "type": "git",