@viji-dev/core 0.2.3 → 0.2.5

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,235 @@
1
+ /**
2
+ * @fileoverview Viji Artist API - JavaScript IntelliSense Support
3
+ * Auto-generated from TypeScript definitions - DO NOT EDIT MANUALLY
4
+ */
5
+
6
+ /**
7
+ * Configuration for slider parameters
8
+ * @typedef {Object} SliderConfig
9
+ * @property {number} [min] - min property
10
+ * @property {number} [max] - max property
11
+ * @property {number} [step] - step property
12
+ * @property {string} label - label property
13
+ * @property {string} [description] - description property
14
+ * @property {string} [group] - group property
15
+ * @property {ParameterCategory} [category] - category property
16
+ */
17
+
18
+ /**
19
+ * Configuration for color parameters
20
+ * @typedef {Object} ColorConfig
21
+ * @property {string} label - label property
22
+ * @property {string} [description] - description property
23
+ * @property {string} [group] - group property
24
+ * @property {ParameterCategory} [category] - category property
25
+ */
26
+
27
+ /**
28
+ * Configuration for toggle parameters
29
+ * @typedef {Object} ToggleConfig
30
+ * @property {string} label - label property
31
+ * @property {string} [description] - description property
32
+ * @property {string} [group] - group property
33
+ * @property {ParameterCategory} [category] - category property
34
+ */
35
+
36
+ /**
37
+ * Configuration for select parameters
38
+ * @typedef {Object} SelectConfig
39
+ * @property {string[] | number[]} options - options property
40
+ * @property {string} label - label property
41
+ * @property {string} [description] - description property
42
+ * @property {string} [group] - group property
43
+ * @property {ParameterCategory} [category] - category property
44
+ */
45
+
46
+ /**
47
+ * Configuration for text parameters
48
+ * @typedef {Object} TextConfig
49
+ * @property {string} label - label property
50
+ * @property {string} [description] - description property
51
+ * @property {string} [group] - group property
52
+ * @property {ParameterCategory} [category] - category property
53
+ * @property {number} [maxLength] - maxLength property
54
+ */
55
+
56
+ /**
57
+ * Configuration for number parameters
58
+ * @typedef {Object} NumberConfig
59
+ * @property {number} [min] - min property
60
+ * @property {number} [max] - max property
61
+ * @property {number} [step] - step property
62
+ * @property {string} label - label property
63
+ * @property {string} [description] - description property
64
+ * @property {string} [group] - group property
65
+ * @property {ParameterCategory} [category] - category property
66
+ */
67
+
68
+ /**
69
+ * Parameter object for slider parameters
70
+ * @typedef {Object} SliderParameter
71
+ * @property {number} value - value property
72
+ * @property {number} min - min property
73
+ * @property {number} max - max property
74
+ * @property {number} step - step property
75
+ * @property {string} label - label property
76
+ * @property {string} [description] - description property
77
+ * @property {string} group - group property
78
+ * @property {ParameterCategory} category - category property
79
+ */
80
+
81
+ /**
82
+ * Parameter object for color parameters
83
+ * @typedef {Object} ColorParameter
84
+ * @property {string} value - value property
85
+ * @property {string} label - label property
86
+ * @property {string} [description] - description property
87
+ * @property {string} group - group property
88
+ * @property {ParameterCategory} category - category property
89
+ */
90
+
91
+ /**
92
+ * Parameter object for toggle parameters
93
+ * @typedef {Object} ToggleParameter
94
+ * @property {boolean} value - value property
95
+ * @property {string} label - label property
96
+ * @property {string} [description] - description property
97
+ * @property {string} group - group property
98
+ * @property {ParameterCategory} category - category property
99
+ */
100
+
101
+ /**
102
+ * Parameter object for select parameters
103
+ * @typedef {Object} SelectParameter
104
+ * @property {string | number} value - value property
105
+ * @property {string[] | number[]} options - options property
106
+ * @property {string} label - label property
107
+ * @property {string} [description] - description property
108
+ * @property {string} group - group property
109
+ * @property {ParameterCategory} category - category property
110
+ */
111
+
112
+ /**
113
+ * Parameter object for text parameters
114
+ * @typedef {Object} TextParameter
115
+ * @property {string} value - value property
116
+ * @property {number} [maxLength] - maxLength property
117
+ * @property {string} label - label property
118
+ * @property {string} [description] - description property
119
+ * @property {string} group - group property
120
+ * @property {ParameterCategory} category - category property
121
+ */
122
+
123
+ /**
124
+ * Parameter object for number parameters
125
+ * @typedef {Object} NumberParameter
126
+ * @property {number} value - value property
127
+ * @property {number} min - min property
128
+ * @property {number} max - max property
129
+ * @property {number} step - step property
130
+ * @property {string} label - label property
131
+ * @property {string} [description] - description property
132
+ * @property {string} group - group property
133
+ * @property {ParameterCategory} category - category property
134
+ */
135
+
136
+ /**
137
+ * Audio analysis API - provides real-time audio data and frequency analysis
138
+ * @typedef {Object} AudioAPI
139
+ * @property {boolean} isConnected - isConnected property
140
+ * @property {{} volume - volume property
141
+ * @property {number} rms - rms property
142
+ * @property {number} peak - peak property
143
+ */
144
+
145
+ /**
146
+ * Video frame API - provides access to video stream and computer vision data
147
+ * @typedef {Object} VideoAPI
148
+ * @property {boolean} isConnected - isConnected property
149
+ * @property {OffscreenCanvas |null} currentFrame - currentFrame property
150
+ * @property {number} frameWidth - frameWidth property
151
+ * @property {number} frameHeight - frameHeight property
152
+ * @property {number} frameRate - frameRate property
153
+ * @property {() => ImageData |null} getFrameData - getFrameData property
154
+ * @property {FaceData[]} faces - faces property
155
+ * @property {HandData[]} hands - hands property
156
+ */
157
+
158
+ /**
159
+ * Mouse interaction API
160
+ * @typedef {Object} MouseAPI
161
+ * @property {number} x - x property
162
+ * @property {number} y - y property
163
+ * @property {boolean} isInCanvas - isInCanvas property
164
+ * @property {boolean} isPressed - isPressed property
165
+ * @property {boolean} leftButton - leftButton property
166
+ * @property {boolean} rightButton - rightButton property
167
+ * @property {boolean} middleButton - middleButton property
168
+ * @property {{} velocity - velocity property
169
+ * @property {number} x - x property
170
+ * @property {number} y - y property
171
+ */
172
+
173
+ /**
174
+ * Keyboard interaction API
175
+ * @typedef {Object} KeyboardAPI
176
+ * @property {Set<string>} activeKeys - activeKeys property
177
+ * @property {Set<string>} pressedThisFrame - pressedThisFrame property
178
+ * @property {Set<string>} releasedThisFrame - releasedThisFrame property
179
+ * @property {string} lastKeyPressed - lastKeyPressed property
180
+ * @property {string} lastKeyReleased - lastKeyReleased property
181
+ * @property {boolean} shift - shift property
182
+ * @property {boolean} ctrl - ctrl property
183
+ * @property {boolean} alt - alt property
184
+ * @property {boolean} meta - meta property
185
+ */
186
+
187
+ /**
188
+ * Touch interaction API
189
+ * @typedef {Object} TouchAPI
190
+ * @property {TouchPoint[]} points - points property
191
+ * @property {number} count - count property
192
+ * @property {TouchPoint[]} started - started property
193
+ * @property {TouchPoint[]} moved - moved property
194
+ * @property {TouchPoint[]} ended - ended property
195
+ * @property {TouchPoint |null} primary - primary property
196
+ * @property {TouchGestureAPI} gestures - gestures property
197
+ */
198
+
199
+ /**
200
+ * Main Viji Artist API - provides access to canvas, timing, audio, video, and interactions
201
+ * @typedef {Object} VijiAPI
202
+ * @property {OffscreenCanvas} canvas - canvas property
203
+ * @property {OffscreenCanvasRenderingContext2D} [ctx] - ctx property
204
+ * @property {WebGL2RenderingContext} [gl] - gl property
205
+ * @property {number} width - width property
206
+ * @property {number} height - height property
207
+ * @property {number} pixelRatio - pixelRatio property
208
+ * @property {number} time - time property
209
+ * @property {number} deltaTime - deltaTime property
210
+ * @property {number} frameCount - frameCount property
211
+ * @property {number} fps - fps property
212
+ * @property {AudioAPI} audio - audio property
213
+ * @property {VideoAPI} video - video property
214
+ * @property {MouseAPI} mouse - mouse property
215
+ * @property {KeyboardAPI} keyboard - keyboard property
216
+ * @property {TouchAPI[]} touches - touches property
217
+ * @property {(defaultValue: number, config: SliderConfig) => SliderParameter} slider - slider property
218
+ * @property {(defaultValue: string, config: ColorConfig) => ColorParameter} color - color property
219
+ * @property {(defaultValue: boolean, config: ToggleConfig) => ToggleParameter} toggle - toggle property
220
+ * @property {(defaultValue: string | number, config: SelectConfig) => SelectParameter} select - select property
221
+ * @property {(defaultValue: string, config: TextConfig) => TextParameter} text - text property
222
+ * @property {(defaultValue: number, config: NumberConfig) => NumberParameter} number - number property
223
+ */
224
+
225
+ /**
226
+ * Global viji object available in artist code
227
+ * @type {VijiAPI}
228
+ */
229
+ declare const viji;
230
+
231
+ /**
232
+ * Artist render function - called every frame
233
+ * @param {VijiAPI} viji - The viji API object with all capabilities
234
+ */
235
+ declare function render(viji) { }
package/dist/index.d.ts CHANGED
@@ -338,7 +338,7 @@ declare interface TouchPoint {
338
338
  isEnding: boolean;
339
339
  }
340
340
 
341
- export declare const VERSION = "0.2.2";
341
+ export declare const VERSION = "0.2.4";
342
342
 
343
343
  export declare interface VideoAPI {
344
344
  isConnected: boolean;
@@ -476,6 +476,11 @@ export declare class VijiCore {
476
476
  * Get parameter groups filtered by active capabilities
477
477
  */
478
478
  getVisibleParameterGroups(): ParameterGroup[];
479
+ /**
480
+ * Get all parameter groups without capability filtering.
481
+ * Returns a deep-cloned structure to prevent external mutation.
482
+ */
483
+ getAllParameterGroups(): ParameterGroup[];
479
484
  /**
480
485
  * Check if a specific parameter category is currently active
481
486
  */
package/dist/index.js CHANGED
@@ -2094,6 +2094,25 @@ class VijiCore {
2094
2094
  )
2095
2095
  }));
2096
2096
  }
2097
+ /**
2098
+ * Get all parameter groups without capability filtering.
2099
+ * Returns a deep-cloned structure to prevent external mutation.
2100
+ */
2101
+ getAllParameterGroups() {
2102
+ const allGroups = this.getParameterGroups();
2103
+ return allGroups.map((group) => ({
2104
+ ...group,
2105
+ parameters: Object.fromEntries(
2106
+ Object.entries(group.parameters).map(([name, def]) => {
2107
+ const clonedDef = { ...def };
2108
+ if (def.config) {
2109
+ clonedDef.config = { ...def.config };
2110
+ }
2111
+ return [name, clonedDef];
2112
+ })
2113
+ )
2114
+ }));
2115
+ }
2097
2116
  /**
2098
2117
  * Check if a specific parameter category is currently active
2099
2118
  */
@@ -2506,7 +2525,7 @@ class VijiCore {
2506
2525
  }
2507
2526
  }
2508
2527
  }
2509
- const VERSION = "0.2.2";
2528
+ const VERSION = "0.2.4";
2510
2529
  export {
2511
2530
  VERSION,
2512
2531
  VijiCore,