@octoseq/visualiser 0.1.0-main.994cb4e → 0.1.0-main.9ea6d2e
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/package.json +1 -1
- package/pkg/visualiser.d.ts +193 -0
- package/pkg/visualiser.js +384 -7
- package/pkg/visualiser_bg.wasm +0 -0
- package/pkg/visualiser_bg.wasm.d.ts +23 -0
package/package.json
CHANGED
package/pkg/visualiser.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ export class WasmVisualiser {
|
|
|
8
8
|
* Check if a script is currently loaded.
|
|
9
9
|
*/
|
|
10
10
|
has_script(): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Check if a signal variable exists in the current script.
|
|
13
|
+
*/
|
|
14
|
+
has_signal(name: string): boolean;
|
|
11
15
|
/**
|
|
12
16
|
* Load a Rhai script for controlling the visualiser.
|
|
13
17
|
* Returns true if the script was loaded successfully.
|
|
@@ -56,6 +60,11 @@ export class WasmVisualiser {
|
|
|
56
60
|
* Returns a JSON array of signal names.
|
|
57
61
|
*/
|
|
58
62
|
get_signal_names(): string;
|
|
63
|
+
/**
|
|
64
|
+
* Get a list of all registered mesh asset IDs.
|
|
65
|
+
* Returns a JSON array of asset IDs.
|
|
66
|
+
*/
|
|
67
|
+
list_mesh_assets(): string;
|
|
59
68
|
/**
|
|
60
69
|
* Push pre-extracted events for a band.
|
|
61
70
|
*
|
|
@@ -84,6 +93,18 @@ export class WasmVisualiser {
|
|
|
84
93
|
* - `sample_rate`: Sample rate of the signal.
|
|
85
94
|
*/
|
|
86
95
|
push_band_signal(band_id: string, band_label: string, feature: string, samples: Float32Array, sample_rate: number): void;
|
|
96
|
+
/**
|
|
97
|
+
* Push a stem-scoped signal for use in scripts.
|
|
98
|
+
* The signal will be available as `inputs.stems[stem_id].{feature}` in Rhai scripts.
|
|
99
|
+
* Stores under both stem_id and stem_label for dual-access support.
|
|
100
|
+
*
|
|
101
|
+
* - `stem_id`: The unique ID of the stem.
|
|
102
|
+
* - `stem_label`: The user-visible label of the stem.
|
|
103
|
+
* - `feature`: Signal type ("energy", "onset", "flux").
|
|
104
|
+
* - `samples`: Signal data.
|
|
105
|
+
* - `sample_rate`: Sample rate of the signal.
|
|
106
|
+
*/
|
|
107
|
+
push_stem_signal(stem_id: string, stem_label: string, feature: string, samples: Float32Array, sample_rate: number): void;
|
|
87
108
|
/**
|
|
88
109
|
* Set the musical time structure for beat-aware signal processing.
|
|
89
110
|
* The JSON format matches the TypeScript MusicalTimeStructure type.
|
|
@@ -94,6 +115,22 @@ export class WasmVisualiser {
|
|
|
94
115
|
* Clear all band event streams.
|
|
95
116
|
*/
|
|
96
117
|
clear_band_events(): void;
|
|
118
|
+
/**
|
|
119
|
+
* Push a named event stream (e.g., "beatCandidates") for script access.
|
|
120
|
+
*
|
|
121
|
+
* The event stream will be available as `inputs.<name>` in Rhai scripts.
|
|
122
|
+
* This is used for MIR-derived events like beat candidates, onset peaks, etc.
|
|
123
|
+
*
|
|
124
|
+
* The JSON format should be an array of event objects with:
|
|
125
|
+
* - time: f32
|
|
126
|
+
* - weight: f32
|
|
127
|
+
* - beat_position: Option<f32>
|
|
128
|
+
* - beat_phase: Option<f32>
|
|
129
|
+
* - cluster_id: Option<u32>
|
|
130
|
+
*
|
|
131
|
+
* Returns true if successful, false if parsing failed.
|
|
132
|
+
*/
|
|
133
|
+
push_event_stream(name: string, events_json: string): boolean;
|
|
97
134
|
/**
|
|
98
135
|
* Set debug visualization options.
|
|
99
136
|
*/
|
|
@@ -107,22 +144,89 @@ export class WasmVisualiser {
|
|
|
107
144
|
* Beat-aware operations will fall back to 120 BPM default.
|
|
108
145
|
*/
|
|
109
146
|
clear_musical_time(): void;
|
|
147
|
+
/**
|
|
148
|
+
* Clear all stem signals.
|
|
149
|
+
*/
|
|
150
|
+
clear_stem_signals(): void;
|
|
110
151
|
/**
|
|
111
152
|
* Get frequency bounds for all active bands at a given time.
|
|
112
153
|
* Returns a JSON array of { bandId, label, lowHz, highHz, enabled } objects.
|
|
113
154
|
*/
|
|
114
155
|
get_band_bounds_at(time: number): string;
|
|
156
|
+
/**
|
|
157
|
+
* Get all Signal variables from the current script.
|
|
158
|
+
* Returns a JSON array of ScriptSignalInfo objects.
|
|
159
|
+
*/
|
|
160
|
+
get_script_signals(): string;
|
|
161
|
+
/**
|
|
162
|
+
* Push a custom signal for use in scripts.
|
|
163
|
+
* The signal will be available as `inputs.customSignals["signal_id"]` in Rhai scripts.
|
|
164
|
+
*
|
|
165
|
+
* - `signal_id`: The unique ID of the custom signal.
|
|
166
|
+
* - `label`: The user-visible label of the signal.
|
|
167
|
+
* - `samples`: Signal data.
|
|
168
|
+
* - `sample_rate`: Sample rate of the signal.
|
|
169
|
+
*/
|
|
170
|
+
push_custom_signal(signal_id: string, label: string, samples: Float32Array, sample_rate: number): void;
|
|
115
171
|
push_rotation_data(samples: Float32Array, sample_rate: number): void;
|
|
172
|
+
/**
|
|
173
|
+
* Render with a frame budget timeout.
|
|
174
|
+
*
|
|
175
|
+
* If the frame takes longer than `budget_ms` to process, it will be dropped
|
|
176
|
+
* and a warning logged. This prevents expensive scripts from freezing the browser.
|
|
177
|
+
*
|
|
178
|
+
* Returns true if the frame completed, false if it was dropped due to budget.
|
|
179
|
+
*/
|
|
180
|
+
render_with_budget(dt: number, budget_ms: number): boolean;
|
|
181
|
+
/**
|
|
182
|
+
* Clear all named event streams.
|
|
183
|
+
*/
|
|
184
|
+
clear_event_streams(): void;
|
|
116
185
|
/**
|
|
117
186
|
* Check if frequency bands are currently set.
|
|
118
187
|
*/
|
|
119
188
|
has_frequency_bands(): boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Register a mesh asset from OBJ content.
|
|
191
|
+
* The asset will be available as `mesh.load(asset_id)` in scripts.
|
|
192
|
+
* Returns true if successful, false if parsing failed.
|
|
193
|
+
*/
|
|
194
|
+
register_mesh_asset(asset_id: string, obj_content: string): boolean;
|
|
195
|
+
/**
|
|
196
|
+
* Set available stems for script namespace generation.
|
|
197
|
+
* This registers stem IDs and labels so the script engine can generate
|
|
198
|
+
* `inputs.stems["stem_id"]` and `inputs.stems["label"]` accessors.
|
|
199
|
+
*
|
|
200
|
+
* The JSON format should be an array of [id, label] pairs:
|
|
201
|
+
* `[["stem-abc123", "Drums"], ["stem-def456", "Bass"]]`
|
|
202
|
+
*
|
|
203
|
+
* Returns true if successful, false if parsing failed.
|
|
204
|
+
*/
|
|
205
|
+
set_available_stems(json: string): boolean;
|
|
120
206
|
/**
|
|
121
207
|
* Set the frequency band structure for band-aware processing.
|
|
122
208
|
* The JSON format matches the TypeScript FrequencyBandStructure type.
|
|
123
209
|
* Returns true if successful, false if parsing failed.
|
|
124
210
|
*/
|
|
125
211
|
set_frequency_bands(json: string): boolean;
|
|
212
|
+
/**
|
|
213
|
+
* Analyze a signal chain with localized sampling.
|
|
214
|
+
*
|
|
215
|
+
* Returns JSON with either:
|
|
216
|
+
* - SignalChainAnalysis on success
|
|
217
|
+
* - { "error": "message" } on failure
|
|
218
|
+
*
|
|
219
|
+
* Parameters:
|
|
220
|
+
* - signal_name: Name of the signal variable in the script
|
|
221
|
+
* - center_time: Time to center analysis around (seconds)
|
|
222
|
+
* - window_beats: Number of beats before/after center to sample
|
|
223
|
+
* - sample_count: Number of samples to take
|
|
224
|
+
*/
|
|
225
|
+
analyze_signal_chain(signal_name: string, center_time: number, window_beats: number, sample_count: number): string;
|
|
226
|
+
/**
|
|
227
|
+
* Clear all custom signals.
|
|
228
|
+
*/
|
|
229
|
+
clear_custom_signals(): void;
|
|
126
230
|
/**
|
|
127
231
|
* Get the number of events for a specific band.
|
|
128
232
|
* Returns 0 if no events are stored for this band.
|
|
@@ -133,10 +237,35 @@ export class WasmVisualiser {
|
|
|
133
237
|
* Returns a JSON array of strings.
|
|
134
238
|
*/
|
|
135
239
|
get_band_signal_keys(): string;
|
|
240
|
+
/**
|
|
241
|
+
* Get list of stem keys (IDs and labels) that have signals.
|
|
242
|
+
* Returns a JSON array of strings.
|
|
243
|
+
*/
|
|
244
|
+
get_stem_signal_keys(): string;
|
|
136
245
|
/**
|
|
137
246
|
* Clear the frequency band structure.
|
|
138
247
|
*/
|
|
139
248
|
clear_frequency_bands(): void;
|
|
249
|
+
/**
|
|
250
|
+
* Get camera state as JSON for inspector.
|
|
251
|
+
* Returns current position, rotation, target, fov, near, far, mode, and signal flags.
|
|
252
|
+
*/
|
|
253
|
+
get_camera_state_json(): string;
|
|
254
|
+
/**
|
|
255
|
+
* Unregister a mesh asset.
|
|
256
|
+
* Returns true if the asset was unregistered, false if it didn't exist.
|
|
257
|
+
*/
|
|
258
|
+
unregister_mesh_asset(asset_id: string): boolean;
|
|
259
|
+
/**
|
|
260
|
+
* Get list of custom signal keys (IDs and labels).
|
|
261
|
+
* Returns a JSON array of strings.
|
|
262
|
+
*/
|
|
263
|
+
get_custom_signal_keys(): string;
|
|
264
|
+
/**
|
|
265
|
+
* Get the number of events in a named event stream.
|
|
266
|
+
* Returns 0 if no events are stored for this name.
|
|
267
|
+
*/
|
|
268
|
+
get_event_stream_count(name: string): number;
|
|
140
269
|
/**
|
|
141
270
|
* Get the number of frequency bands.
|
|
142
271
|
*/
|
|
@@ -151,6 +280,42 @@ export class WasmVisualiser {
|
|
|
151
280
|
* Returns a JSON-serialized ExtendedAnalysisResultJson.
|
|
152
281
|
*/
|
|
153
282
|
run_analysis_with_events(script: string, duration: number, time_step: number): string;
|
|
283
|
+
/**
|
|
284
|
+
* Get entity positions as JSON for debugging.
|
|
285
|
+
* Returns a JSON array of objects with id, type, and position fields.
|
|
286
|
+
*/
|
|
287
|
+
get_entity_positions_json(): string;
|
|
288
|
+
/**
|
|
289
|
+
* Push an authored event stream for script access.
|
|
290
|
+
*
|
|
291
|
+
* The event stream will be available as `inputs.authored["name"]` in Rhai scripts.
|
|
292
|
+
* This is used for user-authored events (promoted or manually created).
|
|
293
|
+
*
|
|
294
|
+
* The JSON format should be an array of event objects with:
|
|
295
|
+
* - time: f32
|
|
296
|
+
* - weight: f32
|
|
297
|
+
* - beat_position: Option<f32>
|
|
298
|
+
* - beat_phase: Option<f32>
|
|
299
|
+
* - cluster_id: Option<u32>
|
|
300
|
+
*
|
|
301
|
+
* Returns true if successful, false if parsing failed.
|
|
302
|
+
*/
|
|
303
|
+
push_authored_event_stream(name: string, events_json: string): boolean;
|
|
304
|
+
/**
|
|
305
|
+
* Clear all authored event streams.
|
|
306
|
+
*/
|
|
307
|
+
clear_authored_event_streams(): void;
|
|
308
|
+
/**
|
|
309
|
+
* Set available custom signals for script namespace generation.
|
|
310
|
+
* This registers custom signal IDs and labels so the script engine can generate
|
|
311
|
+
* `inputs.customSignals["signal_id"]` accessors.
|
|
312
|
+
*
|
|
313
|
+
* The JSON format should be an array of [id, label] pairs:
|
|
314
|
+
* `[["signal-abc123", "My Signal"], ["signal-def456", "Another Signal"]]`
|
|
315
|
+
*
|
|
316
|
+
* Returns true if successful, false if parsing failed.
|
|
317
|
+
*/
|
|
318
|
+
set_available_custom_signals(json: string): boolean;
|
|
154
319
|
/**
|
|
155
320
|
* Drain and return any pending structured script diagnostics as JSON.
|
|
156
321
|
*
|
|
@@ -158,6 +323,11 @@ export class WasmVisualiser {
|
|
|
158
323
|
* queue so repeated polling does not duplicate messages.
|
|
159
324
|
*/
|
|
160
325
|
take_script_diagnostics_json(): string;
|
|
326
|
+
/**
|
|
327
|
+
* Get the number of events in an authored event stream.
|
|
328
|
+
* Returns 0 if no events are stored for this name.
|
|
329
|
+
*/
|
|
330
|
+
get_authored_event_stream_count(name: string): number;
|
|
161
331
|
constructor();
|
|
162
332
|
render(dt: number): void;
|
|
163
333
|
resize(width: number, height: number): void;
|
|
@@ -185,39 +355,62 @@ export interface InitOutput {
|
|
|
185
355
|
readonly __wbg_wasmvisualiser_free: (a: number, b: number) => void;
|
|
186
356
|
readonly create_visualiser: (a: any) => any;
|
|
187
357
|
readonly get_script_api_metadata_json: () => [number, number];
|
|
358
|
+
readonly wasmvisualiser_analyze_signal_chain: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
359
|
+
readonly wasmvisualiser_clear_authored_event_streams: (a: number) => void;
|
|
188
360
|
readonly wasmvisualiser_clear_band_events: (a: number) => void;
|
|
189
361
|
readonly wasmvisualiser_clear_band_signals: (a: number) => void;
|
|
362
|
+
readonly wasmvisualiser_clear_custom_signals: (a: number) => void;
|
|
363
|
+
readonly wasmvisualiser_clear_event_streams: (a: number) => void;
|
|
190
364
|
readonly wasmvisualiser_clear_frequency_bands: (a: number) => void;
|
|
191
365
|
readonly wasmvisualiser_clear_isolation: (a: number) => void;
|
|
192
366
|
readonly wasmvisualiser_clear_musical_time: (a: number) => void;
|
|
193
367
|
readonly wasmvisualiser_clear_signals: (a: number) => void;
|
|
368
|
+
readonly wasmvisualiser_clear_stem_signals: (a: number) => void;
|
|
369
|
+
readonly wasmvisualiser_get_authored_event_stream_count: (a: number, b: number, c: number) => number;
|
|
194
370
|
readonly wasmvisualiser_get_band_bounds_at: (a: number, b: number) => [number, number];
|
|
195
371
|
readonly wasmvisualiser_get_band_event_count: (a: number, b: number, c: number) => number;
|
|
196
372
|
readonly wasmvisualiser_get_band_signal_keys: (a: number) => [number, number];
|
|
373
|
+
readonly wasmvisualiser_get_camera_state_json: (a: number) => [number, number];
|
|
197
374
|
readonly wasmvisualiser_get_current_vals: (a: number) => [number, number];
|
|
375
|
+
readonly wasmvisualiser_get_custom_signal_keys: (a: number) => [number, number];
|
|
376
|
+
readonly wasmvisualiser_get_entity_positions_json: (a: number) => [number, number];
|
|
377
|
+
readonly wasmvisualiser_get_event_stream_count: (a: number, b: number, c: number) => number;
|
|
198
378
|
readonly wasmvisualiser_get_frequency_band_count: (a: number) => number;
|
|
199
379
|
readonly wasmvisualiser_get_script_error: (a: number) => [number, number];
|
|
380
|
+
readonly wasmvisualiser_get_script_signals: (a: number) => [number, number];
|
|
200
381
|
readonly wasmvisualiser_get_signal_names: (a: number) => [number, number];
|
|
382
|
+
readonly wasmvisualiser_get_stem_signal_keys: (a: number) => [number, number];
|
|
201
383
|
readonly wasmvisualiser_has_frequency_bands: (a: number) => number;
|
|
202
384
|
readonly wasmvisualiser_has_script: (a: number) => number;
|
|
385
|
+
readonly wasmvisualiser_has_signal: (a: number, b: number, c: number) => number;
|
|
203
386
|
readonly wasmvisualiser_isolate_entity: (a: number, b: bigint) => void;
|
|
387
|
+
readonly wasmvisualiser_list_mesh_assets: (a: number) => [number, number];
|
|
204
388
|
readonly wasmvisualiser_load_script: (a: number, b: number, c: number) => number;
|
|
205
389
|
readonly wasmvisualiser_new: () => number;
|
|
390
|
+
readonly wasmvisualiser_push_authored_event_stream: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
206
391
|
readonly wasmvisualiser_push_band_events: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
207
392
|
readonly wasmvisualiser_push_band_signal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
393
|
+
readonly wasmvisualiser_push_custom_signal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
|
|
208
394
|
readonly wasmvisualiser_push_data: (a: number, b: number, c: number, d: number) => void;
|
|
395
|
+
readonly wasmvisualiser_push_event_stream: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
209
396
|
readonly wasmvisualiser_push_signal: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
397
|
+
readonly wasmvisualiser_push_stem_signal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
210
398
|
readonly wasmvisualiser_push_zoom_data: (a: number, b: number, c: number, d: number) => void;
|
|
399
|
+
readonly wasmvisualiser_register_mesh_asset: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
211
400
|
readonly wasmvisualiser_render: (a: number, b: number) => void;
|
|
401
|
+
readonly wasmvisualiser_render_with_budget: (a: number, b: number, c: number) => number;
|
|
212
402
|
readonly wasmvisualiser_resize: (a: number, b: number, c: number) => void;
|
|
213
403
|
readonly wasmvisualiser_run_analysis: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
214
404
|
readonly wasmvisualiser_run_analysis_with_events: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
405
|
+
readonly wasmvisualiser_set_available_custom_signals: (a: number, b: number, c: number) => number;
|
|
406
|
+
readonly wasmvisualiser_set_available_stems: (a: number, b: number, c: number) => number;
|
|
215
407
|
readonly wasmvisualiser_set_debug_options: (a: number, b: number, c: number) => void;
|
|
216
408
|
readonly wasmvisualiser_set_frequency_bands: (a: number, b: number, c: number) => number;
|
|
217
409
|
readonly wasmvisualiser_set_musical_time: (a: number, b: number, c: number) => number;
|
|
218
410
|
readonly wasmvisualiser_set_sigmoid_k: (a: number, b: number) => void;
|
|
219
411
|
readonly wasmvisualiser_set_time: (a: number, b: number) => void;
|
|
220
412
|
readonly wasmvisualiser_take_script_diagnostics_json: (a: number) => [number, number];
|
|
413
|
+
readonly wasmvisualiser_unregister_mesh_asset: (a: number, b: number, c: number) => number;
|
|
221
414
|
readonly wasmvisualiser_push_rotation_data: (a: number, b: number, c: number, d: number) => void;
|
|
222
415
|
readonly init_panic_hook: () => void;
|
|
223
416
|
readonly wasm_bindgen__convert__closures_____invoke__h9d1c5a23ecfcd5c8: (a: number, b: number, c: any) => void;
|
package/pkg/visualiser.js
CHANGED
|
@@ -293,6 +293,17 @@ export class WasmVisualiser {
|
|
|
293
293
|
const ret = wasm.wasmvisualiser_has_script(this.__wbg_ptr);
|
|
294
294
|
return ret !== 0;
|
|
295
295
|
}
|
|
296
|
+
/**
|
|
297
|
+
* Check if a signal variable exists in the current script.
|
|
298
|
+
* @param {string} name
|
|
299
|
+
* @returns {boolean}
|
|
300
|
+
*/
|
|
301
|
+
has_signal(name) {
|
|
302
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
303
|
+
const len0 = WASM_VECTOR_LEN;
|
|
304
|
+
const ret = wasm.wasmvisualiser_has_signal(this.__wbg_ptr, ptr0, len0);
|
|
305
|
+
return ret !== 0;
|
|
306
|
+
}
|
|
296
307
|
/**
|
|
297
308
|
* Load a Rhai script for controlling the visualiser.
|
|
298
309
|
* Returns true if the script was loaded successfully.
|
|
@@ -421,6 +432,23 @@ export class WasmVisualiser {
|
|
|
421
432
|
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
422
433
|
}
|
|
423
434
|
}
|
|
435
|
+
/**
|
|
436
|
+
* Get a list of all registered mesh asset IDs.
|
|
437
|
+
* Returns a JSON array of asset IDs.
|
|
438
|
+
* @returns {string}
|
|
439
|
+
*/
|
|
440
|
+
list_mesh_assets() {
|
|
441
|
+
let deferred1_0;
|
|
442
|
+
let deferred1_1;
|
|
443
|
+
try {
|
|
444
|
+
const ret = wasm.wasmvisualiser_list_mesh_assets(this.__wbg_ptr);
|
|
445
|
+
deferred1_0 = ret[0];
|
|
446
|
+
deferred1_1 = ret[1];
|
|
447
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
448
|
+
} finally {
|
|
449
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
450
|
+
}
|
|
451
|
+
}
|
|
424
452
|
/**
|
|
425
453
|
* Push pre-extracted events for a band.
|
|
426
454
|
*
|
|
@@ -474,6 +502,33 @@ export class WasmVisualiser {
|
|
|
474
502
|
const len3 = WASM_VECTOR_LEN;
|
|
475
503
|
wasm.wasmvisualiser_push_band_signal(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, sample_rate);
|
|
476
504
|
}
|
|
505
|
+
/**
|
|
506
|
+
* Push a stem-scoped signal for use in scripts.
|
|
507
|
+
* The signal will be available as `inputs.stems[stem_id].{feature}` in Rhai scripts.
|
|
508
|
+
* Stores under both stem_id and stem_label for dual-access support.
|
|
509
|
+
*
|
|
510
|
+
* - `stem_id`: The unique ID of the stem.
|
|
511
|
+
* - `stem_label`: The user-visible label of the stem.
|
|
512
|
+
* - `feature`: Signal type ("energy", "onset", "flux").
|
|
513
|
+
* - `samples`: Signal data.
|
|
514
|
+
* - `sample_rate`: Sample rate of the signal.
|
|
515
|
+
* @param {string} stem_id
|
|
516
|
+
* @param {string} stem_label
|
|
517
|
+
* @param {string} feature
|
|
518
|
+
* @param {Float32Array} samples
|
|
519
|
+
* @param {number} sample_rate
|
|
520
|
+
*/
|
|
521
|
+
push_stem_signal(stem_id, stem_label, feature, samples, sample_rate) {
|
|
522
|
+
const ptr0 = passStringToWasm0(stem_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
523
|
+
const len0 = WASM_VECTOR_LEN;
|
|
524
|
+
const ptr1 = passStringToWasm0(stem_label, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
525
|
+
const len1 = WASM_VECTOR_LEN;
|
|
526
|
+
const ptr2 = passStringToWasm0(feature, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
527
|
+
const len2 = WASM_VECTOR_LEN;
|
|
528
|
+
const ptr3 = passArrayF32ToWasm0(samples, wasm.__wbindgen_malloc);
|
|
529
|
+
const len3 = WASM_VECTOR_LEN;
|
|
530
|
+
wasm.wasmvisualiser_push_stem_signal(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, sample_rate);
|
|
531
|
+
}
|
|
477
532
|
/**
|
|
478
533
|
* Set the musical time structure for beat-aware signal processing.
|
|
479
534
|
* The JSON format matches the TypeScript MusicalTimeStructure type.
|
|
@@ -493,6 +548,32 @@ export class WasmVisualiser {
|
|
|
493
548
|
clear_band_events() {
|
|
494
549
|
wasm.wasmvisualiser_clear_band_events(this.__wbg_ptr);
|
|
495
550
|
}
|
|
551
|
+
/**
|
|
552
|
+
* Push a named event stream (e.g., "beatCandidates") for script access.
|
|
553
|
+
*
|
|
554
|
+
* The event stream will be available as `inputs.<name>` in Rhai scripts.
|
|
555
|
+
* This is used for MIR-derived events like beat candidates, onset peaks, etc.
|
|
556
|
+
*
|
|
557
|
+
* The JSON format should be an array of event objects with:
|
|
558
|
+
* - time: f32
|
|
559
|
+
* - weight: f32
|
|
560
|
+
* - beat_position: Option<f32>
|
|
561
|
+
* - beat_phase: Option<f32>
|
|
562
|
+
* - cluster_id: Option<u32>
|
|
563
|
+
*
|
|
564
|
+
* Returns true if successful, false if parsing failed.
|
|
565
|
+
* @param {string} name
|
|
566
|
+
* @param {string} events_json
|
|
567
|
+
* @returns {boolean}
|
|
568
|
+
*/
|
|
569
|
+
push_event_stream(name, events_json) {
|
|
570
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
571
|
+
const len0 = WASM_VECTOR_LEN;
|
|
572
|
+
const ptr1 = passStringToWasm0(events_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
573
|
+
const len1 = WASM_VECTOR_LEN;
|
|
574
|
+
const ret = wasm.wasmvisualiser_push_event_stream(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
575
|
+
return ret !== 0;
|
|
576
|
+
}
|
|
496
577
|
/**
|
|
497
578
|
* Set debug visualization options.
|
|
498
579
|
* @param {boolean} wireframe
|
|
@@ -514,6 +595,12 @@ export class WasmVisualiser {
|
|
|
514
595
|
clear_musical_time() {
|
|
515
596
|
wasm.wasmvisualiser_clear_musical_time(this.__wbg_ptr);
|
|
516
597
|
}
|
|
598
|
+
/**
|
|
599
|
+
* Clear all stem signals.
|
|
600
|
+
*/
|
|
601
|
+
clear_stem_signals() {
|
|
602
|
+
wasm.wasmvisualiser_clear_stem_signals(this.__wbg_ptr);
|
|
603
|
+
}
|
|
517
604
|
/**
|
|
518
605
|
* Get frequency bounds for all active bands at a given time.
|
|
519
606
|
* Returns a JSON array of { bandId, label, lowHz, highHz, enabled } objects.
|
|
@@ -532,6 +619,45 @@ export class WasmVisualiser {
|
|
|
532
619
|
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
533
620
|
}
|
|
534
621
|
}
|
|
622
|
+
/**
|
|
623
|
+
* Get all Signal variables from the current script.
|
|
624
|
+
* Returns a JSON array of ScriptSignalInfo objects.
|
|
625
|
+
* @returns {string}
|
|
626
|
+
*/
|
|
627
|
+
get_script_signals() {
|
|
628
|
+
let deferred1_0;
|
|
629
|
+
let deferred1_1;
|
|
630
|
+
try {
|
|
631
|
+
const ret = wasm.wasmvisualiser_get_script_signals(this.__wbg_ptr);
|
|
632
|
+
deferred1_0 = ret[0];
|
|
633
|
+
deferred1_1 = ret[1];
|
|
634
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
635
|
+
} finally {
|
|
636
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
/**
|
|
640
|
+
* Push a custom signal for use in scripts.
|
|
641
|
+
* The signal will be available as `inputs.customSignals["signal_id"]` in Rhai scripts.
|
|
642
|
+
*
|
|
643
|
+
* - `signal_id`: The unique ID of the custom signal.
|
|
644
|
+
* - `label`: The user-visible label of the signal.
|
|
645
|
+
* - `samples`: Signal data.
|
|
646
|
+
* - `sample_rate`: Sample rate of the signal.
|
|
647
|
+
* @param {string} signal_id
|
|
648
|
+
* @param {string} label
|
|
649
|
+
* @param {Float32Array} samples
|
|
650
|
+
* @param {number} sample_rate
|
|
651
|
+
*/
|
|
652
|
+
push_custom_signal(signal_id, label, samples, sample_rate) {
|
|
653
|
+
const ptr0 = passStringToWasm0(signal_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
654
|
+
const len0 = WASM_VECTOR_LEN;
|
|
655
|
+
const ptr1 = passStringToWasm0(label, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
656
|
+
const len1 = WASM_VECTOR_LEN;
|
|
657
|
+
const ptr2 = passArrayF32ToWasm0(samples, wasm.__wbindgen_malloc);
|
|
658
|
+
const len2 = WASM_VECTOR_LEN;
|
|
659
|
+
wasm.wasmvisualiser_push_custom_signal(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, sample_rate);
|
|
660
|
+
}
|
|
535
661
|
/**
|
|
536
662
|
* @param {Float32Array} samples
|
|
537
663
|
* @param {number} sample_rate
|
|
@@ -541,6 +667,27 @@ export class WasmVisualiser {
|
|
|
541
667
|
const len0 = WASM_VECTOR_LEN;
|
|
542
668
|
wasm.wasmvisualiser_push_data(this.__wbg_ptr, ptr0, len0, sample_rate);
|
|
543
669
|
}
|
|
670
|
+
/**
|
|
671
|
+
* Render with a frame budget timeout.
|
|
672
|
+
*
|
|
673
|
+
* If the frame takes longer than `budget_ms` to process, it will be dropped
|
|
674
|
+
* and a warning logged. This prevents expensive scripts from freezing the browser.
|
|
675
|
+
*
|
|
676
|
+
* Returns true if the frame completed, false if it was dropped due to budget.
|
|
677
|
+
* @param {number} dt
|
|
678
|
+
* @param {number} budget_ms
|
|
679
|
+
* @returns {boolean}
|
|
680
|
+
*/
|
|
681
|
+
render_with_budget(dt, budget_ms) {
|
|
682
|
+
const ret = wasm.wasmvisualiser_render_with_budget(this.__wbg_ptr, dt, budget_ms);
|
|
683
|
+
return ret !== 0;
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* Clear all named event streams.
|
|
687
|
+
*/
|
|
688
|
+
clear_event_streams() {
|
|
689
|
+
wasm.wasmvisualiser_clear_event_streams(this.__wbg_ptr);
|
|
690
|
+
}
|
|
544
691
|
/**
|
|
545
692
|
* Check if frequency bands are currently set.
|
|
546
693
|
* @returns {boolean}
|
|
@@ -549,6 +696,40 @@ export class WasmVisualiser {
|
|
|
549
696
|
const ret = wasm.wasmvisualiser_has_frequency_bands(this.__wbg_ptr);
|
|
550
697
|
return ret !== 0;
|
|
551
698
|
}
|
|
699
|
+
/**
|
|
700
|
+
* Register a mesh asset from OBJ content.
|
|
701
|
+
* The asset will be available as `mesh.load(asset_id)` in scripts.
|
|
702
|
+
* Returns true if successful, false if parsing failed.
|
|
703
|
+
* @param {string} asset_id
|
|
704
|
+
* @param {string} obj_content
|
|
705
|
+
* @returns {boolean}
|
|
706
|
+
*/
|
|
707
|
+
register_mesh_asset(asset_id, obj_content) {
|
|
708
|
+
const ptr0 = passStringToWasm0(asset_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
709
|
+
const len0 = WASM_VECTOR_LEN;
|
|
710
|
+
const ptr1 = passStringToWasm0(obj_content, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
711
|
+
const len1 = WASM_VECTOR_LEN;
|
|
712
|
+
const ret = wasm.wasmvisualiser_register_mesh_asset(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
713
|
+
return ret !== 0;
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* Set available stems for script namespace generation.
|
|
717
|
+
* This registers stem IDs and labels so the script engine can generate
|
|
718
|
+
* `inputs.stems["stem_id"]` and `inputs.stems["label"]` accessors.
|
|
719
|
+
*
|
|
720
|
+
* The JSON format should be an array of [id, label] pairs:
|
|
721
|
+
* `[["stem-abc123", "Drums"], ["stem-def456", "Bass"]]`
|
|
722
|
+
*
|
|
723
|
+
* Returns true if successful, false if parsing failed.
|
|
724
|
+
* @param {string} json
|
|
725
|
+
* @returns {boolean}
|
|
726
|
+
*/
|
|
727
|
+
set_available_stems(json) {
|
|
728
|
+
const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
729
|
+
const len0 = WASM_VECTOR_LEN;
|
|
730
|
+
const ret = wasm.wasmvisualiser_set_available_stems(this.__wbg_ptr, ptr0, len0);
|
|
731
|
+
return ret !== 0;
|
|
732
|
+
}
|
|
552
733
|
/**
|
|
553
734
|
* Set the frequency band structure for band-aware processing.
|
|
554
735
|
* The JSON format matches the TypeScript FrequencyBandStructure type.
|
|
@@ -562,6 +743,44 @@ export class WasmVisualiser {
|
|
|
562
743
|
const ret = wasm.wasmvisualiser_set_frequency_bands(this.__wbg_ptr, ptr0, len0);
|
|
563
744
|
return ret !== 0;
|
|
564
745
|
}
|
|
746
|
+
/**
|
|
747
|
+
* Analyze a signal chain with localized sampling.
|
|
748
|
+
*
|
|
749
|
+
* Returns JSON with either:
|
|
750
|
+
* - SignalChainAnalysis on success
|
|
751
|
+
* - { "error": "message" } on failure
|
|
752
|
+
*
|
|
753
|
+
* Parameters:
|
|
754
|
+
* - signal_name: Name of the signal variable in the script
|
|
755
|
+
* - center_time: Time to center analysis around (seconds)
|
|
756
|
+
* - window_beats: Number of beats before/after center to sample
|
|
757
|
+
* - sample_count: Number of samples to take
|
|
758
|
+
* @param {string} signal_name
|
|
759
|
+
* @param {number} center_time
|
|
760
|
+
* @param {number} window_beats
|
|
761
|
+
* @param {number} sample_count
|
|
762
|
+
* @returns {string}
|
|
763
|
+
*/
|
|
764
|
+
analyze_signal_chain(signal_name, center_time, window_beats, sample_count) {
|
|
765
|
+
let deferred2_0;
|
|
766
|
+
let deferred2_1;
|
|
767
|
+
try {
|
|
768
|
+
const ptr0 = passStringToWasm0(signal_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
769
|
+
const len0 = WASM_VECTOR_LEN;
|
|
770
|
+
const ret = wasm.wasmvisualiser_analyze_signal_chain(this.__wbg_ptr, ptr0, len0, center_time, window_beats, sample_count);
|
|
771
|
+
deferred2_0 = ret[0];
|
|
772
|
+
deferred2_1 = ret[1];
|
|
773
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
774
|
+
} finally {
|
|
775
|
+
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
/**
|
|
779
|
+
* Clear all custom signals.
|
|
780
|
+
*/
|
|
781
|
+
clear_custom_signals() {
|
|
782
|
+
wasm.wasmvisualiser_clear_custom_signals(this.__wbg_ptr);
|
|
783
|
+
}
|
|
565
784
|
/**
|
|
566
785
|
* Get the number of events for a specific band.
|
|
567
786
|
* Returns 0 if no events are stored for this band.
|
|
@@ -591,12 +810,87 @@ export class WasmVisualiser {
|
|
|
591
810
|
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
592
811
|
}
|
|
593
812
|
}
|
|
813
|
+
/**
|
|
814
|
+
* Get list of stem keys (IDs and labels) that have signals.
|
|
815
|
+
* Returns a JSON array of strings.
|
|
816
|
+
* @returns {string}
|
|
817
|
+
*/
|
|
818
|
+
get_stem_signal_keys() {
|
|
819
|
+
let deferred1_0;
|
|
820
|
+
let deferred1_1;
|
|
821
|
+
try {
|
|
822
|
+
const ret = wasm.wasmvisualiser_get_stem_signal_keys(this.__wbg_ptr);
|
|
823
|
+
deferred1_0 = ret[0];
|
|
824
|
+
deferred1_1 = ret[1];
|
|
825
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
826
|
+
} finally {
|
|
827
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
828
|
+
}
|
|
829
|
+
}
|
|
594
830
|
/**
|
|
595
831
|
* Clear the frequency band structure.
|
|
596
832
|
*/
|
|
597
833
|
clear_frequency_bands() {
|
|
598
834
|
wasm.wasmvisualiser_clear_frequency_bands(this.__wbg_ptr);
|
|
599
835
|
}
|
|
836
|
+
/**
|
|
837
|
+
* Get camera state as JSON for inspector.
|
|
838
|
+
* Returns current position, rotation, target, fov, near, far, mode, and signal flags.
|
|
839
|
+
* @returns {string}
|
|
840
|
+
*/
|
|
841
|
+
get_camera_state_json() {
|
|
842
|
+
let deferred1_0;
|
|
843
|
+
let deferred1_1;
|
|
844
|
+
try {
|
|
845
|
+
const ret = wasm.wasmvisualiser_get_camera_state_json(this.__wbg_ptr);
|
|
846
|
+
deferred1_0 = ret[0];
|
|
847
|
+
deferred1_1 = ret[1];
|
|
848
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
849
|
+
} finally {
|
|
850
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
/**
|
|
854
|
+
* Unregister a mesh asset.
|
|
855
|
+
* Returns true if the asset was unregistered, false if it didn't exist.
|
|
856
|
+
* @param {string} asset_id
|
|
857
|
+
* @returns {boolean}
|
|
858
|
+
*/
|
|
859
|
+
unregister_mesh_asset(asset_id) {
|
|
860
|
+
const ptr0 = passStringToWasm0(asset_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
861
|
+
const len0 = WASM_VECTOR_LEN;
|
|
862
|
+
const ret = wasm.wasmvisualiser_unregister_mesh_asset(this.__wbg_ptr, ptr0, len0);
|
|
863
|
+
return ret !== 0;
|
|
864
|
+
}
|
|
865
|
+
/**
|
|
866
|
+
* Get list of custom signal keys (IDs and labels).
|
|
867
|
+
* Returns a JSON array of strings.
|
|
868
|
+
* @returns {string}
|
|
869
|
+
*/
|
|
870
|
+
get_custom_signal_keys() {
|
|
871
|
+
let deferred1_0;
|
|
872
|
+
let deferred1_1;
|
|
873
|
+
try {
|
|
874
|
+
const ret = wasm.wasmvisualiser_get_custom_signal_keys(this.__wbg_ptr);
|
|
875
|
+
deferred1_0 = ret[0];
|
|
876
|
+
deferred1_1 = ret[1];
|
|
877
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
878
|
+
} finally {
|
|
879
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
/**
|
|
883
|
+
* Get the number of events in a named event stream.
|
|
884
|
+
* Returns 0 if no events are stored for this name.
|
|
885
|
+
* @param {string} name
|
|
886
|
+
* @returns {number}
|
|
887
|
+
*/
|
|
888
|
+
get_event_stream_count(name) {
|
|
889
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
890
|
+
const len0 = WASM_VECTOR_LEN;
|
|
891
|
+
const ret = wasm.wasmvisualiser_get_event_stream_count(this.__wbg_ptr, ptr0, len0);
|
|
892
|
+
return ret >>> 0;
|
|
893
|
+
}
|
|
600
894
|
/**
|
|
601
895
|
* Get the number of frequency bands.
|
|
602
896
|
* @returns {number}
|
|
@@ -632,6 +926,73 @@ export class WasmVisualiser {
|
|
|
632
926
|
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
|
633
927
|
}
|
|
634
928
|
}
|
|
929
|
+
/**
|
|
930
|
+
* Get entity positions as JSON for debugging.
|
|
931
|
+
* Returns a JSON array of objects with id, type, and position fields.
|
|
932
|
+
* @returns {string}
|
|
933
|
+
*/
|
|
934
|
+
get_entity_positions_json() {
|
|
935
|
+
let deferred1_0;
|
|
936
|
+
let deferred1_1;
|
|
937
|
+
try {
|
|
938
|
+
const ret = wasm.wasmvisualiser_get_entity_positions_json(this.__wbg_ptr);
|
|
939
|
+
deferred1_0 = ret[0];
|
|
940
|
+
deferred1_1 = ret[1];
|
|
941
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
942
|
+
} finally {
|
|
943
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
/**
|
|
947
|
+
* Push an authored event stream for script access.
|
|
948
|
+
*
|
|
949
|
+
* The event stream will be available as `inputs.authored["name"]` in Rhai scripts.
|
|
950
|
+
* This is used for user-authored events (promoted or manually created).
|
|
951
|
+
*
|
|
952
|
+
* The JSON format should be an array of event objects with:
|
|
953
|
+
* - time: f32
|
|
954
|
+
* - weight: f32
|
|
955
|
+
* - beat_position: Option<f32>
|
|
956
|
+
* - beat_phase: Option<f32>
|
|
957
|
+
* - cluster_id: Option<u32>
|
|
958
|
+
*
|
|
959
|
+
* Returns true if successful, false if parsing failed.
|
|
960
|
+
* @param {string} name
|
|
961
|
+
* @param {string} events_json
|
|
962
|
+
* @returns {boolean}
|
|
963
|
+
*/
|
|
964
|
+
push_authored_event_stream(name, events_json) {
|
|
965
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
966
|
+
const len0 = WASM_VECTOR_LEN;
|
|
967
|
+
const ptr1 = passStringToWasm0(events_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
968
|
+
const len1 = WASM_VECTOR_LEN;
|
|
969
|
+
const ret = wasm.wasmvisualiser_push_authored_event_stream(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
970
|
+
return ret !== 0;
|
|
971
|
+
}
|
|
972
|
+
/**
|
|
973
|
+
* Clear all authored event streams.
|
|
974
|
+
*/
|
|
975
|
+
clear_authored_event_streams() {
|
|
976
|
+
wasm.wasmvisualiser_clear_authored_event_streams(this.__wbg_ptr);
|
|
977
|
+
}
|
|
978
|
+
/**
|
|
979
|
+
* Set available custom signals for script namespace generation.
|
|
980
|
+
* This registers custom signal IDs and labels so the script engine can generate
|
|
981
|
+
* `inputs.customSignals["signal_id"]` accessors.
|
|
982
|
+
*
|
|
983
|
+
* The JSON format should be an array of [id, label] pairs:
|
|
984
|
+
* `[["signal-abc123", "My Signal"], ["signal-def456", "Another Signal"]]`
|
|
985
|
+
*
|
|
986
|
+
* Returns true if successful, false if parsing failed.
|
|
987
|
+
* @param {string} json
|
|
988
|
+
* @returns {boolean}
|
|
989
|
+
*/
|
|
990
|
+
set_available_custom_signals(json) {
|
|
991
|
+
const ptr0 = passStringToWasm0(json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
992
|
+
const len0 = WASM_VECTOR_LEN;
|
|
993
|
+
const ret = wasm.wasmvisualiser_set_available_custom_signals(this.__wbg_ptr, ptr0, len0);
|
|
994
|
+
return ret !== 0;
|
|
995
|
+
}
|
|
635
996
|
/**
|
|
636
997
|
* Drain and return any pending structured script diagnostics as JSON.
|
|
637
998
|
*
|
|
@@ -651,6 +1012,18 @@ export class WasmVisualiser {
|
|
|
651
1012
|
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
652
1013
|
}
|
|
653
1014
|
}
|
|
1015
|
+
/**
|
|
1016
|
+
* Get the number of events in an authored event stream.
|
|
1017
|
+
* Returns 0 if no events are stored for this name.
|
|
1018
|
+
* @param {string} name
|
|
1019
|
+
* @returns {number}
|
|
1020
|
+
*/
|
|
1021
|
+
get_authored_event_stream_count(name) {
|
|
1022
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1023
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1024
|
+
const ret = wasm.wasmvisualiser_get_authored_event_stream_count(this.__wbg_ptr, ptr0, len0);
|
|
1025
|
+
return ret >>> 0;
|
|
1026
|
+
}
|
|
654
1027
|
constructor() {
|
|
655
1028
|
const ret = wasm.wasmvisualiser_new();
|
|
656
1029
|
this.__wbg_ptr = ret >>> 0;
|
|
@@ -1369,6 +1742,10 @@ function __wbg_get_imports() {
|
|
|
1369
1742
|
const ret = arg0.offset;
|
|
1370
1743
|
return ret;
|
|
1371
1744
|
};
|
|
1745
|
+
imports.wbg.__wbg_performance_c77a440eff2efd9b = function(arg0) {
|
|
1746
|
+
const ret = arg0.performance;
|
|
1747
|
+
return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
|
|
1748
|
+
};
|
|
1372
1749
|
imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) {
|
|
1373
1750
|
const ret = arg0.popErrorScope();
|
|
1374
1751
|
return ret;
|
|
@@ -1577,21 +1954,21 @@ function __wbg_get_imports() {
|
|
|
1577
1954
|
const ret = getStringFromWasm0(arg0, arg1);
|
|
1578
1955
|
return ret;
|
|
1579
1956
|
};
|
|
1580
|
-
imports.wbg.
|
|
1581
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
1957
|
+
imports.wbg.__wbindgen_cast_73f7c1aa413df4f1 = function(arg0, arg1) {
|
|
1958
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 3322, function: Function { arguments: [NamedExternref("GPUUncapturedErrorEvent")], shim_idx: 3323, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
1582
1959
|
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__heb49a8f426ac2d2e, wasm_bindgen__convert__closures_____invoke__h9d1c5a23ecfcd5c8);
|
|
1583
1960
|
return ret;
|
|
1584
1961
|
};
|
|
1962
|
+
imports.wbg.__wbindgen_cast_ad7098fabcb3be64 = function(arg0, arg1) {
|
|
1963
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 3454, function: Function { arguments: [Externref], shim_idx: 3455, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
1964
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__hf5eaa61ced318e08, wasm_bindgen__convert__closures_____invoke__h53437a38721e89f7);
|
|
1965
|
+
return ret;
|
|
1966
|
+
};
|
|
1585
1967
|
imports.wbg.__wbindgen_cast_cb9088102bce6b30 = function(arg0, arg1) {
|
|
1586
1968
|
// Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
|
|
1587
1969
|
const ret = getArrayU8FromWasm0(arg0, arg1);
|
|
1588
1970
|
return ret;
|
|
1589
1971
|
};
|
|
1590
|
-
imports.wbg.__wbindgen_cast_cf6801dce1a51fdc = function(arg0, arg1) {
|
|
1591
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx: 2301, function: Function { arguments: [Externref], shim_idx: 2302, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
1592
|
-
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__hf5eaa61ced318e08, wasm_bindgen__convert__closures_____invoke__h53437a38721e89f7);
|
|
1593
|
-
return ret;
|
|
1594
|
-
};
|
|
1595
1972
|
imports.wbg.__wbindgen_cast_d6cd19b81560fd6e = function(arg0) {
|
|
1596
1973
|
// Cast intrinsic for `F64 -> Externref`.
|
|
1597
1974
|
const ret = arg0;
|
package/pkg/visualiser_bg.wasm
CHANGED
|
Binary file
|
|
@@ -4,39 +4,62 @@ export const memory: WebAssembly.Memory;
|
|
|
4
4
|
export const __wbg_wasmvisualiser_free: (a: number, b: number) => void;
|
|
5
5
|
export const create_visualiser: (a: any) => any;
|
|
6
6
|
export const get_script_api_metadata_json: () => [number, number];
|
|
7
|
+
export const wasmvisualiser_analyze_signal_chain: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
8
|
+
export const wasmvisualiser_clear_authored_event_streams: (a: number) => void;
|
|
7
9
|
export const wasmvisualiser_clear_band_events: (a: number) => void;
|
|
8
10
|
export const wasmvisualiser_clear_band_signals: (a: number) => void;
|
|
11
|
+
export const wasmvisualiser_clear_custom_signals: (a: number) => void;
|
|
12
|
+
export const wasmvisualiser_clear_event_streams: (a: number) => void;
|
|
9
13
|
export const wasmvisualiser_clear_frequency_bands: (a: number) => void;
|
|
10
14
|
export const wasmvisualiser_clear_isolation: (a: number) => void;
|
|
11
15
|
export const wasmvisualiser_clear_musical_time: (a: number) => void;
|
|
12
16
|
export const wasmvisualiser_clear_signals: (a: number) => void;
|
|
17
|
+
export const wasmvisualiser_clear_stem_signals: (a: number) => void;
|
|
18
|
+
export const wasmvisualiser_get_authored_event_stream_count: (a: number, b: number, c: number) => number;
|
|
13
19
|
export const wasmvisualiser_get_band_bounds_at: (a: number, b: number) => [number, number];
|
|
14
20
|
export const wasmvisualiser_get_band_event_count: (a: number, b: number, c: number) => number;
|
|
15
21
|
export const wasmvisualiser_get_band_signal_keys: (a: number) => [number, number];
|
|
22
|
+
export const wasmvisualiser_get_camera_state_json: (a: number) => [number, number];
|
|
16
23
|
export const wasmvisualiser_get_current_vals: (a: number) => [number, number];
|
|
24
|
+
export const wasmvisualiser_get_custom_signal_keys: (a: number) => [number, number];
|
|
25
|
+
export const wasmvisualiser_get_entity_positions_json: (a: number) => [number, number];
|
|
26
|
+
export const wasmvisualiser_get_event_stream_count: (a: number, b: number, c: number) => number;
|
|
17
27
|
export const wasmvisualiser_get_frequency_band_count: (a: number) => number;
|
|
18
28
|
export const wasmvisualiser_get_script_error: (a: number) => [number, number];
|
|
29
|
+
export const wasmvisualiser_get_script_signals: (a: number) => [number, number];
|
|
19
30
|
export const wasmvisualiser_get_signal_names: (a: number) => [number, number];
|
|
31
|
+
export const wasmvisualiser_get_stem_signal_keys: (a: number) => [number, number];
|
|
20
32
|
export const wasmvisualiser_has_frequency_bands: (a: number) => number;
|
|
21
33
|
export const wasmvisualiser_has_script: (a: number) => number;
|
|
34
|
+
export const wasmvisualiser_has_signal: (a: number, b: number, c: number) => number;
|
|
22
35
|
export const wasmvisualiser_isolate_entity: (a: number, b: bigint) => void;
|
|
36
|
+
export const wasmvisualiser_list_mesh_assets: (a: number) => [number, number];
|
|
23
37
|
export const wasmvisualiser_load_script: (a: number, b: number, c: number) => number;
|
|
24
38
|
export const wasmvisualiser_new: () => number;
|
|
39
|
+
export const wasmvisualiser_push_authored_event_stream: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
25
40
|
export const wasmvisualiser_push_band_events: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
26
41
|
export const wasmvisualiser_push_band_signal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
42
|
+
export const wasmvisualiser_push_custom_signal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
|
|
27
43
|
export const wasmvisualiser_push_data: (a: number, b: number, c: number, d: number) => void;
|
|
44
|
+
export const wasmvisualiser_push_event_stream: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
28
45
|
export const wasmvisualiser_push_signal: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
46
|
+
export const wasmvisualiser_push_stem_signal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
29
47
|
export const wasmvisualiser_push_zoom_data: (a: number, b: number, c: number, d: number) => void;
|
|
48
|
+
export const wasmvisualiser_register_mesh_asset: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
30
49
|
export const wasmvisualiser_render: (a: number, b: number) => void;
|
|
50
|
+
export const wasmvisualiser_render_with_budget: (a: number, b: number, c: number) => number;
|
|
31
51
|
export const wasmvisualiser_resize: (a: number, b: number, c: number) => void;
|
|
32
52
|
export const wasmvisualiser_run_analysis: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
33
53
|
export const wasmvisualiser_run_analysis_with_events: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
54
|
+
export const wasmvisualiser_set_available_custom_signals: (a: number, b: number, c: number) => number;
|
|
55
|
+
export const wasmvisualiser_set_available_stems: (a: number, b: number, c: number) => number;
|
|
34
56
|
export const wasmvisualiser_set_debug_options: (a: number, b: number, c: number) => void;
|
|
35
57
|
export const wasmvisualiser_set_frequency_bands: (a: number, b: number, c: number) => number;
|
|
36
58
|
export const wasmvisualiser_set_musical_time: (a: number, b: number, c: number) => number;
|
|
37
59
|
export const wasmvisualiser_set_sigmoid_k: (a: number, b: number) => void;
|
|
38
60
|
export const wasmvisualiser_set_time: (a: number, b: number) => void;
|
|
39
61
|
export const wasmvisualiser_take_script_diagnostics_json: (a: number) => [number, number];
|
|
62
|
+
export const wasmvisualiser_unregister_mesh_asset: (a: number, b: number, c: number) => number;
|
|
40
63
|
export const wasmvisualiser_push_rotation_data: (a: number, b: number, c: number, d: number) => void;
|
|
41
64
|
export const init_panic_hook: () => void;
|
|
42
65
|
export const wasm_bindgen__convert__closures_____invoke__h9d1c5a23ecfcd5c8: (a: number, b: number, c: any) => void;
|