@viji-dev/core 0.11.8 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -185,8 +185,17 @@ declare global {
185
185
  * then auto-resets to `false`.
186
186
  */
187
187
  interface ButtonConfig {
188
- /** Display name shown on the button in the parameter UI. Required. */
189
- label: string;
188
+ /**
189
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
190
+ * the parameter's name is inferred from the variable or object key you
191
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
192
+ * only for parameters not assigned to a variable or key (created in an
193
+ * array, loop, or factory). Must be a valid identifier and scene-globally
194
+ * unique. When set, it overrides the inferred name.
195
+ */
196
+ name?: string;
197
+ /** Display name shown on the button in the parameter UI. Optional — defaults to the parameter's name. */
198
+ label?: string;
190
199
  /** Optional tooltip / help text shown next to the control. */
191
200
  description?: string;
192
201
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -204,7 +213,7 @@ declare global {
204
213
  /** `true` for the single frame after the user clicks the button, `false` otherwise. */
205
214
  value: boolean;
206
215
  /** Display name shown on the button in the parameter UI. */
207
- label: string;
216
+ label?: string;
208
217
  /** Tooltip / help text for the control (empty string when not configured). */
209
218
  description?: string;
210
219
  /** Group name under which the control appears in the UI. */
@@ -253,8 +262,17 @@ declare global {
253
262
  * label and UI grouping/visibility.
254
263
  */
255
264
  interface ColorConfig {
256
- /** Display name shown next to the color swatch in the parameter UI. Required. */
257
- label: string;
265
+ /**
266
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
267
+ * the parameter's name is inferred from the variable or object key you
268
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
269
+ * only for parameters not assigned to a variable or key (created in an
270
+ * array, loop, or factory). Must be a valid identifier and scene-globally
271
+ * unique. When set, it overrides the inferred name.
272
+ */
273
+ name?: string;
274
+ /** Display name shown next to the color swatch in the parameter UI. Optional — defaults to the parameter's name. */
275
+ label?: string;
258
276
  /** Optional tooltip / help text shown next to the control. */
259
277
  description?: string;
260
278
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -315,7 +333,7 @@ declare global {
315
333
  b: number;
316
334
  };
317
335
  /** Display name shown next to the swatch in the parameter UI. */
318
- label: string;
336
+ label?: string;
319
337
  /** Tooltip / help text for the control (empty string when not configured). */
320
338
  description?: string;
321
339
  /** Group name under which the control appears in the UI. */
@@ -329,10 +347,19 @@ declare global {
329
347
  * draggable pad; both `x` and `y` are clamped to `-1..1`.
330
348
  */
331
349
  interface CoordinateConfig {
350
+ /**
351
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
352
+ * the parameter's name is inferred from the variable or object key you
353
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
354
+ * only for parameters not assigned to a variable or key (created in an
355
+ * array, loop, or factory). Must be a valid identifier and scene-globally
356
+ * unique. When set, it overrides the inferred name.
357
+ */
358
+ name?: string;
332
359
  /** Snap increment for both `x` and `y` components. Default: `0.01`. */
333
360
  step?: number;
334
- /** Display name shown next to the pad in the parameter UI. Required. */
335
- label: string;
361
+ /** Display name shown next to the pad in the parameter UI. Optional — defaults to the parameter's name. */
362
+ label?: string;
336
363
  /** Optional tooltip / help text shown next to the control. */
337
364
  description?: string;
338
365
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -351,7 +378,7 @@ declare global {
351
378
  /** Snap increment for both `x` and `y` components. */
352
379
  step: number;
353
380
  /** Display name shown next to the pad in the parameter UI. */
354
- label: string;
381
+ label?: string;
355
382
  /** Tooltip / help text for the control (empty string when not configured). */
356
383
  description?: string;
357
384
  /** Group name under which the control appears in the UI. */
@@ -745,8 +772,17 @@ declare global {
745
772
  * or a P5 image wrapper (P5 renderer).
746
773
  */
747
774
  interface ImageConfig {
748
- /** Display name shown next to the upload field in the parameter UI. Required. */
749
- label: string;
775
+ /**
776
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
777
+ * the parameter's name is inferred from the variable or object key you
778
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
779
+ * only for parameters not assigned to a variable or key (created in an
780
+ * array, loop, or factory). Must be a valid identifier and scene-globally
781
+ * unique. When set, it overrides the inferred name.
782
+ */
783
+ name?: string;
784
+ /** Display name shown next to the upload field in the parameter UI. Optional — defaults to the parameter's name. */
785
+ label?: string;
750
786
  /** Optional tooltip / help text shown next to the control. */
751
787
  description?: string;
752
788
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -766,7 +802,7 @@ declare global {
766
802
  /** P5-compatible image wrapper. Only available in the P5 renderer; added at runtime by the P5 adapter. */
767
803
  readonly p5?: any;
768
804
  /** Display name shown next to the upload field in the parameter UI. */
769
- label: string;
805
+ label?: string;
770
806
  /** Tooltip / help text for the control (empty string when not configured). */
771
807
  description?: string;
772
808
  /** Group name under which the control appears in the UI. */
@@ -872,6 +908,15 @@ declare global {
872
908
  * label, and UI grouping/visibility for a precise numeric input.
873
909
  */
874
910
  interface NumberConfig {
911
+ /**
912
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
913
+ * the parameter's name is inferred from the variable or object key you
914
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
915
+ * only for parameters not assigned to a variable or key (created in an
916
+ * array, loop, or factory). Must be a valid identifier and scene-globally
917
+ * unique. When set, it overrides the inferred name.
918
+ */
919
+ name?: string;
875
920
  /** Inclusive minimum value. Default: `0`. */
876
921
  min?: number;
877
922
  /** Inclusive maximum value. Default: `100`. */
@@ -884,8 +929,8 @@ declare global {
884
929
  * (`step: 0.001`).
885
930
  */
886
931
  step?: number;
887
- /** Display name shown next to the input in the parameter UI. Required. */
888
- label: string;
932
+ /** Display name shown next to the input in the parameter UI. Optional — defaults to the parameter's name. */
933
+ label?: string;
889
934
  /** Optional tooltip / help text shown next to the control. */
890
935
  description?: string;
891
936
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -908,7 +953,7 @@ declare global {
908
953
  /** Increment between values. */
909
954
  step: number;
910
955
  /** Display name shown next to the input in the parameter UI. */
911
- label: string;
956
+ label?: string;
912
957
  /** Tooltip / help text for the control (empty string when not configured). */
913
958
  description?: string;
914
959
  /** Group name under which the control appears in the UI. */
@@ -1044,10 +1089,19 @@ declare global {
1044
1089
  * as a dropdown or segmented control.
1045
1090
  */
1046
1091
  interface SelectConfig {
1092
+ /**
1093
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
1094
+ * the parameter's name is inferred from the variable or object key you
1095
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
1096
+ * only for parameters not assigned to a variable or key (created in an
1097
+ * array, loop, or factory). Must be a valid identifier and scene-globally
1098
+ * unique. When set, it overrides the inferred name.
1099
+ */
1100
+ name?: string;
1047
1101
  /** Available choices. The element type (`string` or `number`) becomes the parameter's value type. Required. */
1048
1102
  options: string[] | number[];
1049
- /** Display name shown next to the dropdown in the parameter UI. Required. */
1050
- label: string;
1103
+ /** Display name shown next to the dropdown in the parameter UI. Optional — defaults to the parameter's name. */
1104
+ label?: string;
1051
1105
  /** Optional tooltip / help text shown next to the control. */
1052
1106
  description?: string;
1053
1107
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -1066,7 +1120,7 @@ declare global {
1066
1120
  /** The full list of choices originally configured. */
1067
1121
  options: string[] | number[];
1068
1122
  /** Display name shown next to the dropdown in the parameter UI. */
1069
- label: string;
1123
+ label?: string;
1070
1124
  /** Tooltip / help text for the control (empty string when not configured). */
1071
1125
  description?: string;
1072
1126
  /** Group name under which the control appears in the UI. */
@@ -1080,6 +1134,15 @@ declare global {
1080
1134
  * increment, label, and UI grouping/visibility.
1081
1135
  */
1082
1136
  interface SliderConfig {
1137
+ /**
1138
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
1139
+ * the parameter's name is inferred from the variable or object key you
1140
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
1141
+ * only for parameters not assigned to a variable or key (created in an
1142
+ * array, loop, or factory). Must be a valid identifier and scene-globally
1143
+ * unique. When set, it overrides the inferred name.
1144
+ */
1145
+ name?: string;
1083
1146
  /** Inclusive minimum value of the slider. Default: `0`. */
1084
1147
  min?: number;
1085
1148
  /** Inclusive maximum value of the slider. Default: `100`. */
@@ -1092,8 +1155,8 @@ declare global {
1092
1155
  * (`step: 1` on a range of `3..30`) or fine precision (`step: 0.001`).
1093
1156
  */
1094
1157
  step?: number;
1095
- /** Display name shown next to the control in the parameter UI. Required. */
1096
- label: string;
1158
+ /** Display name shown next to the control in the parameter UI. Optional — defaults to the parameter's name. */
1159
+ label?: string;
1097
1160
  /** Optional tooltip / help text shown next to the control. */
1098
1161
  description?: string;
1099
1162
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -1116,7 +1179,7 @@ declare global {
1116
1179
  /** Increment between values. */
1117
1180
  step: number;
1118
1181
  /** Display name shown next to the control in the parameter UI. */
1119
- label: string;
1182
+ label?: string;
1120
1183
  /** Tooltip / help text for the control (empty string when not configured). */
1121
1184
  description?: string;
1122
1185
  /** Group name under which the control appears in the UI. */
@@ -1130,8 +1193,17 @@ declare global {
1130
1193
  * text input field.
1131
1194
  */
1132
1195
  interface TextConfig {
1133
- /** Display name shown next to the text field in the parameter UI. Required. */
1134
- label: string;
1196
+ /**
1197
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
1198
+ * the parameter's name is inferred from the variable or object key you
1199
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
1200
+ * only for parameters not assigned to a variable or key (created in an
1201
+ * array, loop, or factory). Must be a valid identifier and scene-globally
1202
+ * unique. When set, it overrides the inferred name.
1203
+ */
1204
+ name?: string;
1205
+ /** Display name shown next to the text field in the parameter UI. Optional — defaults to the parameter's name. */
1206
+ label?: string;
1135
1207
  /** Optional tooltip / help text shown next to the control. */
1136
1208
  description?: string;
1137
1209
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -1152,7 +1224,7 @@ declare global {
1152
1224
  /** Maximum character count enforced by the host UI. */
1153
1225
  maxLength?: number;
1154
1226
  /** Display name shown next to the input in the parameter UI. */
1155
- label: string;
1227
+ label?: string;
1156
1228
  /** Tooltip / help text for the control (empty string when not configured). */
1157
1229
  description?: string;
1158
1230
  /** Group name under which the control appears in the UI. */
@@ -1166,8 +1238,17 @@ declare global {
1166
1238
  * label and UI grouping/visibility.
1167
1239
  */
1168
1240
  interface ToggleConfig {
1169
- /** Display name shown next to the switch in the parameter UI. Required. */
1170
- label: string;
1241
+ /**
1242
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
1243
+ * the parameter's name is inferred from the variable or object key you
1244
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
1245
+ * only for parameters not assigned to a variable or key (created in an
1246
+ * array, loop, or factory). Must be a valid identifier and scene-globally
1247
+ * unique. When set, it overrides the inferred name.
1248
+ */
1249
+ name?: string;
1250
+ /** Display name shown next to the switch in the parameter UI. Optional — defaults to the parameter's name. */
1251
+ label?: string;
1171
1252
  /** Optional tooltip / help text shown next to the control. */
1172
1253
  description?: string;
1173
1254
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -1184,7 +1265,7 @@ declare global {
1184
1265
  /** Current state of the switch. Updates in real-time when the user toggles it. */
1185
1266
  value: boolean;
1186
1267
  /** Display name shown next to the switch in the parameter UI. */
1187
- label: string;
1268
+ label?: string;
1188
1269
  /** Tooltip / help text for the control (empty string when not configured). */
1189
1270
  description?: string;
1190
1271
  /** Group name under which the control appears in the UI. */
@@ -1264,7 +1345,7 @@ declare global {
1264
1345
  isEnding: boolean;
1265
1346
  }
1266
1347
 
1267
- const VERSION = "0.11.8";
1348
+ const VERSION = "0.13.0";
1268
1349
 
1269
1350
  /**
1270
1351
  * Real-time video API: drawable frame, dimensions, and the source-side
@@ -185,8 +185,17 @@ declare global {
185
185
  * then auto-resets to `false`.
186
186
  */
187
187
  interface ButtonConfig {
188
- /** Display name shown on the button in the parameter UI. Required. */
189
- label: string;
188
+ /**
189
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
190
+ * the parameter's name is inferred from the variable or object key you
191
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
192
+ * only for parameters not assigned to a variable or key (created in an
193
+ * array, loop, or factory). Must be a valid identifier and scene-globally
194
+ * unique. When set, it overrides the inferred name.
195
+ */
196
+ name?: string;
197
+ /** Display name shown on the button in the parameter UI. Optional — defaults to the parameter's name. */
198
+ label?: string;
190
199
  /** Optional tooltip / help text shown next to the control. */
191
200
  description?: string;
192
201
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -204,7 +213,7 @@ declare global {
204
213
  /** `true` for the single frame after the user clicks the button, `false` otherwise. */
205
214
  value: boolean;
206
215
  /** Display name shown on the button in the parameter UI. */
207
- label: string;
216
+ label?: string;
208
217
  /** Tooltip / help text for the control (empty string when not configured). */
209
218
  description?: string;
210
219
  /** Group name under which the control appears in the UI. */
@@ -253,8 +262,17 @@ declare global {
253
262
  * label and UI grouping/visibility.
254
263
  */
255
264
  interface ColorConfig {
256
- /** Display name shown next to the color swatch in the parameter UI. Required. */
257
- label: string;
265
+ /**
266
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
267
+ * the parameter's name is inferred from the variable or object key you
268
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
269
+ * only for parameters not assigned to a variable or key (created in an
270
+ * array, loop, or factory). Must be a valid identifier and scene-globally
271
+ * unique. When set, it overrides the inferred name.
272
+ */
273
+ name?: string;
274
+ /** Display name shown next to the color swatch in the parameter UI. Optional — defaults to the parameter's name. */
275
+ label?: string;
258
276
  /** Optional tooltip / help text shown next to the control. */
259
277
  description?: string;
260
278
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -315,7 +333,7 @@ declare global {
315
333
  b: number;
316
334
  };
317
335
  /** Display name shown next to the swatch in the parameter UI. */
318
- label: string;
336
+ label?: string;
319
337
  /** Tooltip / help text for the control (empty string when not configured). */
320
338
  description?: string;
321
339
  /** Group name under which the control appears in the UI. */
@@ -329,10 +347,19 @@ declare global {
329
347
  * draggable pad; both `x` and `y` are clamped to `-1..1`.
330
348
  */
331
349
  interface CoordinateConfig {
350
+ /**
351
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
352
+ * the parameter's name is inferred from the variable or object key you
353
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
354
+ * only for parameters not assigned to a variable or key (created in an
355
+ * array, loop, or factory). Must be a valid identifier and scene-globally
356
+ * unique. When set, it overrides the inferred name.
357
+ */
358
+ name?: string;
332
359
  /** Snap increment for both `x` and `y` components. Default: `0.01`. */
333
360
  step?: number;
334
- /** Display name shown next to the pad in the parameter UI. Required. */
335
- label: string;
361
+ /** Display name shown next to the pad in the parameter UI. Optional — defaults to the parameter's name. */
362
+ label?: string;
336
363
  /** Optional tooltip / help text shown next to the control. */
337
364
  description?: string;
338
365
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -351,7 +378,7 @@ declare global {
351
378
  /** Snap increment for both `x` and `y` components. */
352
379
  step: number;
353
380
  /** Display name shown next to the pad in the parameter UI. */
354
- label: string;
381
+ label?: string;
355
382
  /** Tooltip / help text for the control (empty string when not configured). */
356
383
  description?: string;
357
384
  /** Group name under which the control appears in the UI. */
@@ -745,8 +772,17 @@ declare global {
745
772
  * or a P5 image wrapper (P5 renderer).
746
773
  */
747
774
  interface ImageConfig {
748
- /** Display name shown next to the upload field in the parameter UI. Required. */
749
- label: string;
775
+ /**
776
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
777
+ * the parameter's name is inferred from the variable or object key you
778
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
779
+ * only for parameters not assigned to a variable or key (created in an
780
+ * array, loop, or factory). Must be a valid identifier and scene-globally
781
+ * unique. When set, it overrides the inferred name.
782
+ */
783
+ name?: string;
784
+ /** Display name shown next to the upload field in the parameter UI. Optional — defaults to the parameter's name. */
785
+ label?: string;
750
786
  /** Optional tooltip / help text shown next to the control. */
751
787
  description?: string;
752
788
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -766,7 +802,7 @@ declare global {
766
802
  /** P5-compatible image wrapper. Only available in the P5 renderer; added at runtime by the P5 adapter. */
767
803
  readonly p5?: any;
768
804
  /** Display name shown next to the upload field in the parameter UI. */
769
- label: string;
805
+ label?: string;
770
806
  /** Tooltip / help text for the control (empty string when not configured). */
771
807
  description?: string;
772
808
  /** Group name under which the control appears in the UI. */
@@ -861,6 +897,15 @@ declare global {
861
897
  * label, and UI grouping/visibility for a precise numeric input.
862
898
  */
863
899
  interface NumberConfig {
900
+ /**
901
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
902
+ * the parameter's name is inferred from the variable or object key you
903
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
904
+ * only for parameters not assigned to a variable or key (created in an
905
+ * array, loop, or factory). Must be a valid identifier and scene-globally
906
+ * unique. When set, it overrides the inferred name.
907
+ */
908
+ name?: string;
864
909
  /** Inclusive minimum value. Default: `0`. */
865
910
  min?: number;
866
911
  /** Inclusive maximum value. Default: `100`. */
@@ -873,8 +918,8 @@ declare global {
873
918
  * (`step: 0.001`).
874
919
  */
875
920
  step?: number;
876
- /** Display name shown next to the input in the parameter UI. Required. */
877
- label: string;
921
+ /** Display name shown next to the input in the parameter UI. Optional — defaults to the parameter's name. */
922
+ label?: string;
878
923
  /** Optional tooltip / help text shown next to the control. */
879
924
  description?: string;
880
925
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -897,7 +942,7 @@ declare global {
897
942
  /** Increment between values. */
898
943
  step: number;
899
944
  /** Display name shown next to the input in the parameter UI. */
900
- label: string;
945
+ label?: string;
901
946
  /** Tooltip / help text for the control (empty string when not configured). */
902
947
  description?: string;
903
948
  /** Group name under which the control appears in the UI. */
@@ -1033,10 +1078,19 @@ declare global {
1033
1078
  * as a dropdown or segmented control.
1034
1079
  */
1035
1080
  interface SelectConfig {
1081
+ /**
1082
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
1083
+ * the parameter's name is inferred from the variable or object key you
1084
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
1085
+ * only for parameters not assigned to a variable or key (created in an
1086
+ * array, loop, or factory). Must be a valid identifier and scene-globally
1087
+ * unique. When set, it overrides the inferred name.
1088
+ */
1089
+ name?: string;
1036
1090
  /** Available choices. The element type (`string` or `number`) becomes the parameter's value type. Required. */
1037
1091
  options: string[] | number[];
1038
- /** Display name shown next to the dropdown in the parameter UI. Required. */
1039
- label: string;
1092
+ /** Display name shown next to the dropdown in the parameter UI. Optional — defaults to the parameter's name. */
1093
+ label?: string;
1040
1094
  /** Optional tooltip / help text shown next to the control. */
1041
1095
  description?: string;
1042
1096
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -1055,7 +1109,7 @@ declare global {
1055
1109
  /** The full list of choices originally configured. */
1056
1110
  options: string[] | number[];
1057
1111
  /** Display name shown next to the dropdown in the parameter UI. */
1058
- label: string;
1112
+ label?: string;
1059
1113
  /** Tooltip / help text for the control (empty string when not configured). */
1060
1114
  description?: string;
1061
1115
  /** Group name under which the control appears in the UI. */
@@ -1069,6 +1123,15 @@ declare global {
1069
1123
  * increment, label, and UI grouping/visibility.
1070
1124
  */
1071
1125
  interface SliderConfig {
1126
+ /**
1127
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
1128
+ * the parameter's name is inferred from the variable or object key you
1129
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
1130
+ * only for parameters not assigned to a variable or key (created in an
1131
+ * array, loop, or factory). Must be a valid identifier and scene-globally
1132
+ * unique. When set, it overrides the inferred name.
1133
+ */
1134
+ name?: string;
1072
1135
  /** Inclusive minimum value of the slider. Default: `0`. */
1073
1136
  min?: number;
1074
1137
  /** Inclusive maximum value of the slider. Default: `100`. */
@@ -1081,8 +1144,8 @@ declare global {
1081
1144
  * (`step: 1` on a range of `3..30`) or fine precision (`step: 0.001`).
1082
1145
  */
1083
1146
  step?: number;
1084
- /** Display name shown next to the control in the parameter UI. Required. */
1085
- label: string;
1147
+ /** Display name shown next to the control in the parameter UI. Optional — defaults to the parameter's name. */
1148
+ label?: string;
1086
1149
  /** Optional tooltip / help text shown next to the control. */
1087
1150
  description?: string;
1088
1151
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -1105,7 +1168,7 @@ declare global {
1105
1168
  /** Increment between values. */
1106
1169
  step: number;
1107
1170
  /** Display name shown next to the control in the parameter UI. */
1108
- label: string;
1171
+ label?: string;
1109
1172
  /** Tooltip / help text for the control (empty string when not configured). */
1110
1173
  description?: string;
1111
1174
  /** Group name under which the control appears in the UI. */
@@ -1119,8 +1182,17 @@ declare global {
1119
1182
  * text input field.
1120
1183
  */
1121
1184
  interface TextConfig {
1122
- /** Display name shown next to the text field in the parameter UI. Required. */
1123
- label: string;
1185
+ /**
1186
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
1187
+ * the parameter's name is inferred from the variable or object key you
1188
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
1189
+ * only for parameters not assigned to a variable or key (created in an
1190
+ * array, loop, or factory). Must be a valid identifier and scene-globally
1191
+ * unique. When set, it overrides the inferred name.
1192
+ */
1193
+ name?: string;
1194
+ /** Display name shown next to the text field in the parameter UI. Optional — defaults to the parameter's name. */
1195
+ label?: string;
1124
1196
  /** Optional tooltip / help text shown next to the control. */
1125
1197
  description?: string;
1126
1198
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -1141,7 +1213,7 @@ declare global {
1141
1213
  /** Maximum character count enforced by the host UI. */
1142
1214
  maxLength?: number;
1143
1215
  /** Display name shown next to the input in the parameter UI. */
1144
- label: string;
1216
+ label?: string;
1145
1217
  /** Tooltip / help text for the control (empty string when not configured). */
1146
1218
  description?: string;
1147
1219
  /** Group name under which the control appears in the UI. */
@@ -1155,8 +1227,17 @@ declare global {
1155
1227
  * label and UI grouping/visibility.
1156
1228
  */
1157
1229
  interface ToggleConfig {
1158
- /** Display name shown next to the switch in the parameter UI. Required. */
1159
- label: string;
1230
+ /**
1231
+ * Advanced: explicit parameter identity. Normally you do NOT set this —
1232
+ * the parameter's name is inferred from the variable or object key you
1233
+ * assign it to (`const speed = viji.slider(...)` → `speed`). Set `name`
1234
+ * only for parameters not assigned to a variable or key (created in an
1235
+ * array, loop, or factory). Must be a valid identifier and scene-globally
1236
+ * unique. When set, it overrides the inferred name.
1237
+ */
1238
+ name?: string;
1239
+ /** Display name shown next to the switch in the parameter UI. Optional — defaults to the parameter's name. */
1240
+ label?: string;
1160
1241
  /** Optional tooltip / help text shown next to the control. */
1161
1242
  description?: string;
1162
1243
  /** Group name for organizing related parameters under a shared heading. Default: `'general'`. */
@@ -1173,7 +1254,7 @@ declare global {
1173
1254
  /** Current state of the switch. Updates in real-time when the user toggles it. */
1174
1255
  value: boolean;
1175
1256
  /** Display name shown next to the switch in the parameter UI. */
1176
- label: string;
1257
+ label?: string;
1177
1258
  /** Tooltip / help text for the control (empty string when not configured). */
1178
1259
  description?: string;
1179
1260
  /** Group name under which the control appears in the UI. */
@@ -1253,7 +1334,7 @@ declare global {
1253
1334
  isEnding: boolean;
1254
1335
  }
1255
1336
 
1256
- const VERSION = "0.11.8";
1337
+ const VERSION = "0.13.0";
1257
1338
 
1258
1339
  /**
1259
1340
  * Real-time video API: drawable frame, dimensions, and the source-side