@vizij/node-graph-authoring 0.0.2

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.
@@ -0,0 +1,146 @@
1
+ import { NodeType, GraphSpec } from '@vizij/node-graph-wasm';
2
+ import { RigBindingDefinition, RigBindingSlot, BindingValueType, AnimatableComponent, StandardRigInput, RemapSettings, AnimatableValue } from '@vizij/utils';
3
+ export { BindingValueType } from '@vizij/utils';
4
+
5
+ type BindingOperatorType = "spring" | "damp" | "slew";
6
+ interface BindingOperatorState {
7
+ type: BindingOperatorType;
8
+ enabled: boolean;
9
+ params: Record<string, number>;
10
+ }
11
+ interface BindingOperatorParamDefinition {
12
+ id: string;
13
+ label: string;
14
+ doc?: string;
15
+ min?: number;
16
+ max?: number;
17
+ defaultValue: number;
18
+ }
19
+ interface BindingOperatorDefinition {
20
+ type: BindingOperatorType;
21
+ nodeType: NodeType;
22
+ label: string;
23
+ description?: string;
24
+ inputs: string[];
25
+ params: BindingOperatorParamDefinition[];
26
+ }
27
+ declare function getBindingOperatorDefinition(type: BindingOperatorType): BindingOperatorDefinition;
28
+ declare const bindingOperatorDefinitions: BindingOperatorDefinition[];
29
+ declare function createDefaultOperatorSettings(type: BindingOperatorType): BindingOperatorState;
30
+ declare function ensureOperatorParams(operator: BindingOperatorState): BindingOperatorState;
31
+ declare const bindingOperatorTypes: readonly BindingOperatorType[];
32
+
33
+ type AnimatableBindingSlot = RigBindingSlot;
34
+ interface AnimatableBinding extends RigBindingDefinition {
35
+ targetId: string;
36
+ slots: AnimatableBindingSlot[];
37
+ operators?: BindingOperator[];
38
+ }
39
+ interface BindingTarget {
40
+ id: string;
41
+ defaultValue: number;
42
+ range: {
43
+ min: number;
44
+ max: number;
45
+ };
46
+ valueType?: BindingValueType;
47
+ }
48
+ declare function bindingTargetFromComponent(component: AnimatableComponent): BindingTarget;
49
+ declare function bindingTargetFromInput(input: StandardRigInput): BindingTarget;
50
+ type BindingMap = Record<string, AnimatableBinding>;
51
+ type InputBindingMap = Record<string, AnimatableBinding>;
52
+ type StandardInputValues = Record<string, number>;
53
+ declare const PRIMARY_SLOT_ID = "s1";
54
+ declare const PRIMARY_SLOT_ALIAS = "s1";
55
+ type BindingOperator = BindingOperatorState;
56
+ declare function createDefaultRemap(target: BindingTarget): RemapSettings;
57
+ declare function createDefaultBindings(components: BindingTarget[]): BindingMap;
58
+ declare function createDefaultBinding(component: BindingTarget): AnimatableBinding;
59
+ declare function createDefaultParentBinding(component: BindingTarget): AnimatableBinding;
60
+ declare function createDefaultInputValues(inputs?: StandardRigInput[]): StandardInputValues;
61
+ declare function ensureBindingStructure(binding: AnimatableBinding, target: BindingTarget): AnimatableBinding;
62
+ declare function getPrimaryBindingSlot(binding: AnimatableBinding): AnimatableBindingSlot | null;
63
+ declare function addBindingSlot(binding: AnimatableBinding, target: BindingTarget): AnimatableBinding;
64
+ declare function removeBindingSlot(binding: AnimatableBinding, target: BindingTarget, slotId: string): AnimatableBinding;
65
+ declare function updateBindingSlotAlias(binding: AnimatableBinding, target: BindingTarget, slotId: string, nextAlias: string): AnimatableBinding;
66
+ declare function setBindingOperatorEnabled(binding: AnimatableBinding, type: BindingOperatorType, enabled: boolean): AnimatableBinding;
67
+ declare function updateBindingOperatorParam(binding: AnimatableBinding, type: BindingOperatorType, paramId: string, value: number): AnimatableBinding;
68
+ declare function updateBindingExpression(binding: AnimatableBinding, target: BindingTarget, expression: string): AnimatableBinding;
69
+ declare function updateBindingSlotRemap(binding: AnimatableBinding, target: BindingTarget, slotId: string, field: keyof RemapSettings, value: number): AnimatableBinding;
70
+ declare function updateBindingWithInput(binding: AnimatableBinding, target: BindingTarget, input: StandardRigInput | undefined, slotId?: string): AnimatableBinding;
71
+ declare function remapValue(value: number, remap: RemapSettings): number;
72
+ declare function reconcileBindings(previous: BindingMap, components: BindingTarget[]): BindingMap;
73
+ declare function bindingToDefinition(binding: AnimatableBinding): RigBindingDefinition;
74
+ declare function bindingFromDefinition(target: BindingTarget, definition: RigBindingDefinition | null | undefined): AnimatableBinding;
75
+
76
+ type VectorComponent = "x" | "y" | "z" | "r" | "g" | "b";
77
+ interface BuildGraphOptions {
78
+ faceId: string;
79
+ animatables: Record<string, AnimatableValue>;
80
+ components: AnimatableComponent[];
81
+ bindings: BindingMap;
82
+ inputsById: Map<string, StandardRigInput>;
83
+ inputBindings: InputBindingMap;
84
+ }
85
+ interface GraphBindingSummary {
86
+ targetId: string;
87
+ animatableId: string;
88
+ component?: VectorComponent;
89
+ slotId: string;
90
+ slotAlias: string;
91
+ inputId: string | null;
92
+ remap: RemapSettings;
93
+ expression: string;
94
+ valueType: BindingValueType;
95
+ issues?: string[];
96
+ }
97
+ interface BuildGraphResult {
98
+ spec: GraphSpec;
99
+ summary: {
100
+ faceId: string;
101
+ inputs: string[];
102
+ outputs: string[];
103
+ bindings: GraphBindingSummary[];
104
+ };
105
+ issues: {
106
+ byTarget: Record<string, string[]>;
107
+ fatal: string[];
108
+ };
109
+ }
110
+ declare function buildRigGraphSpec({ faceId, animatables, components, bindings, inputsById, inputBindings, }: BuildGraphOptions): BuildGraphResult;
111
+
112
+ type ControlExpressionNode = {
113
+ type: "Literal";
114
+ value: number;
115
+ } | {
116
+ type: "Reference";
117
+ name: string;
118
+ } | {
119
+ type: "Unary";
120
+ operator: UnaryOperator;
121
+ operand: ControlExpressionNode;
122
+ } | {
123
+ type: "Binary";
124
+ operator: BinaryOperator;
125
+ left: ControlExpressionNode;
126
+ right: ControlExpressionNode;
127
+ } | {
128
+ type: "Function";
129
+ name: string;
130
+ args: ControlExpressionNode[];
131
+ };
132
+ type UnaryOperator = "+" | "-" | "!";
133
+ type BinaryOperator = "+" | "-" | "*" | "/" | ">" | "<" | "==" | "!=" | "&&" | "||";
134
+ interface ExpressionParseError {
135
+ index: number;
136
+ message: string;
137
+ }
138
+ interface ExpressionParseResult {
139
+ node: ControlExpressionNode | null;
140
+ errors: ExpressionParseError[];
141
+ }
142
+ declare function parseControlExpression(expression: string): ExpressionParseResult;
143
+ declare function collectExpressionReferences(node: ControlExpressionNode | null, target?: Set<string>): Set<string>;
144
+ declare function mapExpression(node: ControlExpressionNode, visit: (node: ControlExpressionNode) => void): void;
145
+
146
+ export { type AnimatableBinding, type AnimatableBindingSlot, type BindingMap, type BindingOperator, type BindingOperatorDefinition, type BindingOperatorParamDefinition, type BindingOperatorState, type BindingOperatorType, type BindingTarget, type BuildGraphResult, type ControlExpressionNode, type ExpressionParseError, type ExpressionParseResult, type GraphBindingSummary, type InputBindingMap, PRIMARY_SLOT_ALIAS, PRIMARY_SLOT_ID, type StandardInputValues, addBindingSlot, bindingFromDefinition, bindingOperatorDefinitions, bindingOperatorTypes, bindingTargetFromComponent, bindingTargetFromInput, bindingToDefinition, buildRigGraphSpec, collectExpressionReferences, createDefaultBinding, createDefaultBindings, createDefaultInputValues, createDefaultOperatorSettings, createDefaultParentBinding, createDefaultRemap, ensureBindingStructure, ensureOperatorParams, getBindingOperatorDefinition, getPrimaryBindingSlot, mapExpression, parseControlExpression, reconcileBindings, remapValue, removeBindingSlot, setBindingOperatorEnabled, updateBindingExpression, updateBindingOperatorParam, updateBindingSlotAlias, updateBindingSlotRemap, updateBindingWithInput };
@@ -0,0 +1,146 @@
1
+ import { NodeType, GraphSpec } from '@vizij/node-graph-wasm';
2
+ import { RigBindingDefinition, RigBindingSlot, BindingValueType, AnimatableComponent, StandardRigInput, RemapSettings, AnimatableValue } from '@vizij/utils';
3
+ export { BindingValueType } from '@vizij/utils';
4
+
5
+ type BindingOperatorType = "spring" | "damp" | "slew";
6
+ interface BindingOperatorState {
7
+ type: BindingOperatorType;
8
+ enabled: boolean;
9
+ params: Record<string, number>;
10
+ }
11
+ interface BindingOperatorParamDefinition {
12
+ id: string;
13
+ label: string;
14
+ doc?: string;
15
+ min?: number;
16
+ max?: number;
17
+ defaultValue: number;
18
+ }
19
+ interface BindingOperatorDefinition {
20
+ type: BindingOperatorType;
21
+ nodeType: NodeType;
22
+ label: string;
23
+ description?: string;
24
+ inputs: string[];
25
+ params: BindingOperatorParamDefinition[];
26
+ }
27
+ declare function getBindingOperatorDefinition(type: BindingOperatorType): BindingOperatorDefinition;
28
+ declare const bindingOperatorDefinitions: BindingOperatorDefinition[];
29
+ declare function createDefaultOperatorSettings(type: BindingOperatorType): BindingOperatorState;
30
+ declare function ensureOperatorParams(operator: BindingOperatorState): BindingOperatorState;
31
+ declare const bindingOperatorTypes: readonly BindingOperatorType[];
32
+
33
+ type AnimatableBindingSlot = RigBindingSlot;
34
+ interface AnimatableBinding extends RigBindingDefinition {
35
+ targetId: string;
36
+ slots: AnimatableBindingSlot[];
37
+ operators?: BindingOperator[];
38
+ }
39
+ interface BindingTarget {
40
+ id: string;
41
+ defaultValue: number;
42
+ range: {
43
+ min: number;
44
+ max: number;
45
+ };
46
+ valueType?: BindingValueType;
47
+ }
48
+ declare function bindingTargetFromComponent(component: AnimatableComponent): BindingTarget;
49
+ declare function bindingTargetFromInput(input: StandardRigInput): BindingTarget;
50
+ type BindingMap = Record<string, AnimatableBinding>;
51
+ type InputBindingMap = Record<string, AnimatableBinding>;
52
+ type StandardInputValues = Record<string, number>;
53
+ declare const PRIMARY_SLOT_ID = "s1";
54
+ declare const PRIMARY_SLOT_ALIAS = "s1";
55
+ type BindingOperator = BindingOperatorState;
56
+ declare function createDefaultRemap(target: BindingTarget): RemapSettings;
57
+ declare function createDefaultBindings(components: BindingTarget[]): BindingMap;
58
+ declare function createDefaultBinding(component: BindingTarget): AnimatableBinding;
59
+ declare function createDefaultParentBinding(component: BindingTarget): AnimatableBinding;
60
+ declare function createDefaultInputValues(inputs?: StandardRigInput[]): StandardInputValues;
61
+ declare function ensureBindingStructure(binding: AnimatableBinding, target: BindingTarget): AnimatableBinding;
62
+ declare function getPrimaryBindingSlot(binding: AnimatableBinding): AnimatableBindingSlot | null;
63
+ declare function addBindingSlot(binding: AnimatableBinding, target: BindingTarget): AnimatableBinding;
64
+ declare function removeBindingSlot(binding: AnimatableBinding, target: BindingTarget, slotId: string): AnimatableBinding;
65
+ declare function updateBindingSlotAlias(binding: AnimatableBinding, target: BindingTarget, slotId: string, nextAlias: string): AnimatableBinding;
66
+ declare function setBindingOperatorEnabled(binding: AnimatableBinding, type: BindingOperatorType, enabled: boolean): AnimatableBinding;
67
+ declare function updateBindingOperatorParam(binding: AnimatableBinding, type: BindingOperatorType, paramId: string, value: number): AnimatableBinding;
68
+ declare function updateBindingExpression(binding: AnimatableBinding, target: BindingTarget, expression: string): AnimatableBinding;
69
+ declare function updateBindingSlotRemap(binding: AnimatableBinding, target: BindingTarget, slotId: string, field: keyof RemapSettings, value: number): AnimatableBinding;
70
+ declare function updateBindingWithInput(binding: AnimatableBinding, target: BindingTarget, input: StandardRigInput | undefined, slotId?: string): AnimatableBinding;
71
+ declare function remapValue(value: number, remap: RemapSettings): number;
72
+ declare function reconcileBindings(previous: BindingMap, components: BindingTarget[]): BindingMap;
73
+ declare function bindingToDefinition(binding: AnimatableBinding): RigBindingDefinition;
74
+ declare function bindingFromDefinition(target: BindingTarget, definition: RigBindingDefinition | null | undefined): AnimatableBinding;
75
+
76
+ type VectorComponent = "x" | "y" | "z" | "r" | "g" | "b";
77
+ interface BuildGraphOptions {
78
+ faceId: string;
79
+ animatables: Record<string, AnimatableValue>;
80
+ components: AnimatableComponent[];
81
+ bindings: BindingMap;
82
+ inputsById: Map<string, StandardRigInput>;
83
+ inputBindings: InputBindingMap;
84
+ }
85
+ interface GraphBindingSummary {
86
+ targetId: string;
87
+ animatableId: string;
88
+ component?: VectorComponent;
89
+ slotId: string;
90
+ slotAlias: string;
91
+ inputId: string | null;
92
+ remap: RemapSettings;
93
+ expression: string;
94
+ valueType: BindingValueType;
95
+ issues?: string[];
96
+ }
97
+ interface BuildGraphResult {
98
+ spec: GraphSpec;
99
+ summary: {
100
+ faceId: string;
101
+ inputs: string[];
102
+ outputs: string[];
103
+ bindings: GraphBindingSummary[];
104
+ };
105
+ issues: {
106
+ byTarget: Record<string, string[]>;
107
+ fatal: string[];
108
+ };
109
+ }
110
+ declare function buildRigGraphSpec({ faceId, animatables, components, bindings, inputsById, inputBindings, }: BuildGraphOptions): BuildGraphResult;
111
+
112
+ type ControlExpressionNode = {
113
+ type: "Literal";
114
+ value: number;
115
+ } | {
116
+ type: "Reference";
117
+ name: string;
118
+ } | {
119
+ type: "Unary";
120
+ operator: UnaryOperator;
121
+ operand: ControlExpressionNode;
122
+ } | {
123
+ type: "Binary";
124
+ operator: BinaryOperator;
125
+ left: ControlExpressionNode;
126
+ right: ControlExpressionNode;
127
+ } | {
128
+ type: "Function";
129
+ name: string;
130
+ args: ControlExpressionNode[];
131
+ };
132
+ type UnaryOperator = "+" | "-" | "!";
133
+ type BinaryOperator = "+" | "-" | "*" | "/" | ">" | "<" | "==" | "!=" | "&&" | "||";
134
+ interface ExpressionParseError {
135
+ index: number;
136
+ message: string;
137
+ }
138
+ interface ExpressionParseResult {
139
+ node: ControlExpressionNode | null;
140
+ errors: ExpressionParseError[];
141
+ }
142
+ declare function parseControlExpression(expression: string): ExpressionParseResult;
143
+ declare function collectExpressionReferences(node: ControlExpressionNode | null, target?: Set<string>): Set<string>;
144
+ declare function mapExpression(node: ControlExpressionNode, visit: (node: ControlExpressionNode) => void): void;
145
+
146
+ export { type AnimatableBinding, type AnimatableBindingSlot, type BindingMap, type BindingOperator, type BindingOperatorDefinition, type BindingOperatorParamDefinition, type BindingOperatorState, type BindingOperatorType, type BindingTarget, type BuildGraphResult, type ControlExpressionNode, type ExpressionParseError, type ExpressionParseResult, type GraphBindingSummary, type InputBindingMap, PRIMARY_SLOT_ALIAS, PRIMARY_SLOT_ID, type StandardInputValues, addBindingSlot, bindingFromDefinition, bindingOperatorDefinitions, bindingOperatorTypes, bindingTargetFromComponent, bindingTargetFromInput, bindingToDefinition, buildRigGraphSpec, collectExpressionReferences, createDefaultBinding, createDefaultBindings, createDefaultInputValues, createDefaultOperatorSettings, createDefaultParentBinding, createDefaultRemap, ensureBindingStructure, ensureOperatorParams, getBindingOperatorDefinition, getPrimaryBindingSlot, mapExpression, parseControlExpression, reconcileBindings, remapValue, removeBindingSlot, setBindingOperatorEnabled, updateBindingExpression, updateBindingOperatorParam, updateBindingSlotAlias, updateBindingSlotRemap, updateBindingWithInput };