@vessel-dsp/core 0.6.4 → 0.6.6

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.
Files changed (182) hide show
  1. package/README.md +10 -2
  2. package/dist/editor/commands.d.ts +13 -13
  3. package/dist/editor/commands.d.ts.map +1 -1
  4. package/dist/editor/commands.js +44 -29
  5. package/dist/editor/commands.js.map +1 -1
  6. package/dist/editor/factory.d.ts +1 -1
  7. package/dist/editor/factory.d.ts.map +1 -1
  8. package/dist/editor/factory.js +51 -51
  9. package/dist/editor/factory.js.map +1 -1
  10. package/dist/editor/history.d.ts +7 -7
  11. package/dist/editor/history.d.ts.map +1 -1
  12. package/dist/editor/history.js +20 -12
  13. package/dist/editor/history.js.map +1 -1
  14. package/dist/editor/index.d.ts +8 -8
  15. package/dist/editor/index.d.ts.map +1 -1
  16. package/dist/editor/index.js +4 -4
  17. package/dist/editor/index.js.map +1 -1
  18. package/dist/editor/layout.d.ts +1 -1
  19. package/dist/editor/layout.d.ts.map +1 -1
  20. package/dist/editor/layout.js +11 -6
  21. package/dist/editor/layout.js.map +1 -1
  22. package/dist/formats/circuit-json/serializer.d.ts +15 -15
  23. package/dist/formats/circuit-json/serializer.d.ts.map +1 -1
  24. package/dist/formats/circuit-json/serializer.js +486 -394
  25. package/dist/formats/circuit-json/serializer.js.map +1 -1
  26. package/dist/formats/document.d.ts +6 -6
  27. package/dist/formats/document.d.ts.map +1 -1
  28. package/dist/formats/document.js +112 -92
  29. package/dist/formats/document.js.map +1 -1
  30. package/dist/formats/interchange/parser.d.ts +1 -1
  31. package/dist/formats/interchange/parser.d.ts.map +1 -1
  32. package/dist/formats/interchange/parser.js +463 -286
  33. package/dist/formats/interchange/parser.js.map +1 -1
  34. package/dist/formats/interchange/serializer.d.ts +1 -1
  35. package/dist/formats/interchange/serializer.d.ts.map +1 -1
  36. package/dist/formats/interchange/serializer.js +41 -28
  37. package/dist/formats/interchange/serializer.js.map +1 -1
  38. package/dist/formats/ltspice/catalog.d.ts +1 -1
  39. package/dist/formats/ltspice/catalog.d.ts.map +1 -1
  40. package/dist/formats/ltspice/catalog.js +150 -48
  41. package/dist/formats/ltspice/catalog.js.map +1 -1
  42. package/dist/formats/ltspice/encoding.js +12 -40
  43. package/dist/formats/ltspice/encoding.js.map +1 -1
  44. package/dist/formats/ltspice/parser.d.ts +1 -1
  45. package/dist/formats/ltspice/parser.d.ts.map +1 -1
  46. package/dist/formats/ltspice/parser.js +122 -75
  47. package/dist/formats/ltspice/parser.js.map +1 -1
  48. package/dist/formats/ltspice/serializer.d.ts +1 -1
  49. package/dist/formats/ltspice/serializer.d.ts.map +1 -1
  50. package/dist/formats/ltspice/serializer.js +69 -47
  51. package/dist/formats/ltspice/serializer.js.map +1 -1
  52. package/dist/formats/schx/catalog.d.ts +1 -1
  53. package/dist/formats/schx/catalog.d.ts.map +1 -1
  54. package/dist/formats/schx/catalog.js +499 -254
  55. package/dist/formats/schx/catalog.js.map +1 -1
  56. package/dist/formats/schx/parser.d.ts +1 -1
  57. package/dist/formats/schx/parser.d.ts.map +1 -1
  58. package/dist/formats/schx/parser.js +40 -38
  59. package/dist/formats/schx/parser.js.map +1 -1
  60. package/dist/formats/schx/runtime-descriptors.d.ts +1 -1
  61. package/dist/formats/schx/runtime-descriptors.d.ts.map +1 -1
  62. package/dist/formats/schx/runtime-descriptors.js +239 -201
  63. package/dist/formats/schx/runtime-descriptors.js.map +1 -1
  64. package/dist/formats/schx/serializer.d.ts +2 -2
  65. package/dist/formats/schx/serializer.d.ts.map +1 -1
  66. package/dist/formats/schx/serializer.js +106 -106
  67. package/dist/formats/schx/serializer.js.map +1 -1
  68. package/dist/formats/schx/transforms.d.ts +1 -1
  69. package/dist/formats/schx/transforms.d.ts.map +1 -1
  70. package/dist/formats/schx/transforms.js +16 -8
  71. package/dist/formats/schx/transforms.js.map +1 -1
  72. package/dist/formats/spice/parser.d.ts +1 -1
  73. package/dist/formats/spice/parser.d.ts.map +1 -1
  74. package/dist/formats/spice/parser.js +105 -56
  75. package/dist/formats/spice/parser.js.map +1 -1
  76. package/dist/formats/spice/serializer.d.ts +1 -1
  77. package/dist/formats/spice/serializer.js +14 -12
  78. package/dist/formats/spice/serializer.js.map +1 -1
  79. package/dist/index.d.ts +47 -46
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +32 -31
  82. package/dist/index.js.map +1 -1
  83. package/dist/model/connectivity.d.ts +1 -1
  84. package/dist/model/connectivity.d.ts.map +1 -1
  85. package/dist/model/connectivity.js +22 -7
  86. package/dist/model/connectivity.js.map +1 -1
  87. package/dist/model/netlist.d.ts +3 -3
  88. package/dist/model/netlist.d.ts.map +1 -1
  89. package/dist/model/netlist.js +117 -100
  90. package/dist/model/netlist.js.map +1 -1
  91. package/dist/model/properties.d.ts +1 -1
  92. package/dist/model/properties.d.ts.map +1 -1
  93. package/dist/model/properties.js +16 -16
  94. package/dist/model/properties.js.map +1 -1
  95. package/dist/model/quantity.d.ts +1 -1
  96. package/dist/model/quantity.d.ts.map +1 -1
  97. package/dist/model/quantity.js +35 -35
  98. package/dist/model/quantity.js.map +1 -1
  99. package/dist/model/types.d.ts +61 -33
  100. package/dist/model/types.d.ts.map +1 -1
  101. package/dist/model/types.js +1 -1
  102. package/dist/model/types.js.map +1 -1
  103. package/dist/model/validation.d.ts +5 -5
  104. package/dist/model/validation.d.ts.map +1 -1
  105. package/dist/model/validation.js +668 -331
  106. package/dist/model/validation.js.map +1 -1
  107. package/dist/model/wires.d.ts +1 -1
  108. package/dist/model/wires.d.ts.map +1 -1
  109. package/dist/model/wires.js +4 -1
  110. package/dist/model/wires.js.map +1 -1
  111. package/dist/panel/extract.d.ts +2 -2
  112. package/dist/panel/extract.d.ts.map +1 -1
  113. package/dist/panel/extract.js +327 -225
  114. package/dist/panel/extract.js.map +1 -1
  115. package/dist/panel/index.d.ts +7 -7
  116. package/dist/panel/index.d.ts.map +1 -1
  117. package/dist/panel/index.js +5 -5
  118. package/dist/panel/index.js.map +1 -1
  119. package/dist/panel/knobs.d.ts +4 -4
  120. package/dist/panel/knobs.d.ts.map +1 -1
  121. package/dist/panel/knobs.js +1 -1
  122. package/dist/panel/knobs.js.map +1 -1
  123. package/dist/panel/placement.d.ts +1 -1
  124. package/dist/panel/placement.d.ts.map +1 -1
  125. package/dist/panel/placement.js +11 -9
  126. package/dist/panel/placement.js.map +1 -1
  127. package/dist/panel/protocol.d.ts +1 -1
  128. package/dist/panel/protocol.d.ts.map +1 -1
  129. package/dist/panel/protocol.js +32 -23
  130. package/dist/panel/protocol.js.map +1 -1
  131. package/dist/panel/types.d.ts +18 -18
  132. package/dist/panel/types.d.ts.map +1 -1
  133. package/dist/panel/types.js.map +1 -1
  134. package/dist/preview/bounds.d.ts +1 -1
  135. package/dist/preview/bounds.d.ts.map +1 -1
  136. package/dist/preview/bounds.js +3 -3
  137. package/dist/preview/bounds.js.map +1 -1
  138. package/dist/preview/box-layout.d.ts +2 -2
  139. package/dist/preview/box-layout.js.map +1 -1
  140. package/dist/preview/colors.d.ts +1 -1
  141. package/dist/preview/colors.js +35 -35
  142. package/dist/preview/colors.js.map +1 -1
  143. package/dist/preview/hanging.d.ts +1 -1
  144. package/dist/preview/hanging.d.ts.map +1 -1
  145. package/dist/preview/hanging.js +4 -1
  146. package/dist/preview/hanging.js.map +1 -1
  147. package/dist/preview/junctions.d.ts +1 -1
  148. package/dist/preview/junctions.d.ts.map +1 -1
  149. package/dist/preview/junctions.js.map +1 -1
  150. package/dist/preview/label-layout.d.ts.map +1 -1
  151. package/dist/preview/label-layout.js +4 -4
  152. package/dist/preview/label-layout.js.map +1 -1
  153. package/dist/preview/ports.d.ts +1 -1
  154. package/dist/preview/ports.d.ts.map +1 -1
  155. package/dist/preview/ports.js +2 -1
  156. package/dist/preview/ports.js.map +1 -1
  157. package/dist/preview/renderable-wires.d.ts +1 -1
  158. package/dist/preview/renderable-wires.d.ts.map +1 -1
  159. package/dist/preview/renderable-wires.js +3 -1
  160. package/dist/preview/renderable-wires.js.map +1 -1
  161. package/dist/preview/routing.d.ts +1 -1
  162. package/dist/preview/routing.js +1 -1
  163. package/dist/preview/routing.js.map +1 -1
  164. package/dist/preview/snap.d.ts +1 -1
  165. package/dist/preview/snap.d.ts.map +1 -1
  166. package/dist/preview/snap.js +11 -3
  167. package/dist/preview/snap.js.map +1 -1
  168. package/dist/preview/symbols/svg-content.d.ts.map +1 -1
  169. package/dist/preview/symbols/svg-content.js +200 -50
  170. package/dist/preview/symbols/svg-content.js.map +1 -1
  171. package/dist/preview/symbols.d.ts +2 -2
  172. package/dist/preview/symbols.d.ts.map +1 -1
  173. package/dist/preview/symbols.js +100 -97
  174. package/dist/preview/symbols.js.map +1 -1
  175. package/dist/preview/wire-chains.d.ts +1 -1
  176. package/dist/preview/wire-chains.d.ts.map +1 -1
  177. package/dist/preview/wire-chains.js.map +1 -1
  178. package/dist/profiles.d.ts +600 -0
  179. package/dist/profiles.d.ts.map +1 -0
  180. package/dist/profiles.js +118 -0
  181. package/dist/profiles.js.map +1 -0
  182. package/package.json +54 -54
@@ -0,0 +1,600 @@
1
+ import { z } from "zod";
2
+ export declare const ampControlKindSchema: z.ZodEnum<["knob", "switch", "led"]>;
3
+ export declare const ampAppearanceProfileSchema: z.ZodObject<{
4
+ frontPanelColor: z.ZodOptional<z.ZodString>;
5
+ frontPanelBorderColor: z.ZodOptional<z.ZodString>;
6
+ controlPanelColor: z.ZodOptional<z.ZodString>;
7
+ brandLabelColor: z.ZodOptional<z.ZodString>;
8
+ modelLabelColor: z.ZodOptional<z.ZodString>;
9
+ labelFontFamily: z.ZodOptional<z.ZodString>;
10
+ brandLabelFontSizeMm: z.ZodOptional<z.ZodNumber>;
11
+ modelLabelFontSizeMm: z.ZodOptional<z.ZodNumber>;
12
+ knobColor: z.ZodOptional<z.ZodString>;
13
+ knobLabelColor: z.ZodOptional<z.ZodString>;
14
+ knobLabelFontSizeMm: z.ZodOptional<z.ZodNumber>;
15
+ statusColor: z.ZodOptional<z.ZodString>;
16
+ cornerProtectorColor: z.ZodOptional<z.ZodString>;
17
+ handleGripColor: z.ZodOptional<z.ZodString>;
18
+ }, "strict", z.ZodTypeAny, {
19
+ frontPanelColor?: string | undefined;
20
+ frontPanelBorderColor?: string | undefined;
21
+ controlPanelColor?: string | undefined;
22
+ brandLabelColor?: string | undefined;
23
+ modelLabelColor?: string | undefined;
24
+ labelFontFamily?: string | undefined;
25
+ brandLabelFontSizeMm?: number | undefined;
26
+ modelLabelFontSizeMm?: number | undefined;
27
+ knobColor?: string | undefined;
28
+ knobLabelColor?: string | undefined;
29
+ knobLabelFontSizeMm?: number | undefined;
30
+ statusColor?: string | undefined;
31
+ cornerProtectorColor?: string | undefined;
32
+ handleGripColor?: string | undefined;
33
+ }, {
34
+ frontPanelColor?: string | undefined;
35
+ frontPanelBorderColor?: string | undefined;
36
+ controlPanelColor?: string | undefined;
37
+ brandLabelColor?: string | undefined;
38
+ modelLabelColor?: string | undefined;
39
+ labelFontFamily?: string | undefined;
40
+ brandLabelFontSizeMm?: number | undefined;
41
+ modelLabelFontSizeMm?: number | undefined;
42
+ knobColor?: string | undefined;
43
+ knobLabelColor?: string | undefined;
44
+ knobLabelFontSizeMm?: number | undefined;
45
+ statusColor?: string | undefined;
46
+ cornerProtectorColor?: string | undefined;
47
+ handleGripColor?: string | undefined;
48
+ }>;
49
+ export declare const profileDimensionsSchema: z.ZodObject<{
50
+ widthMm: z.ZodNumber;
51
+ heightMm: z.ZodNumber;
52
+ depthMm: z.ZodNumber;
53
+ }, "strict", z.ZodTypeAny, {
54
+ widthMm: number;
55
+ heightMm: number;
56
+ depthMm: number;
57
+ }, {
58
+ widthMm: number;
59
+ heightMm: number;
60
+ depthMm: number;
61
+ }>;
62
+ export declare const ampControlProfileSchema: z.ZodObject<{
63
+ id: z.ZodString;
64
+ kind: z.ZodEnum<["knob", "switch", "led"]>;
65
+ label: z.ZodString;
66
+ color: z.ZodOptional<z.ZodString>;
67
+ labelColor: z.ZodOptional<z.ZodString>;
68
+ statusColor: z.ZodOptional<z.ZodString>;
69
+ value: z.ZodOptional<z.ZodNumber>;
70
+ position: z.ZodOptional<z.ZodObject<{
71
+ xRatio: z.ZodNumber;
72
+ yRatio: z.ZodNumber;
73
+ }, "strict", z.ZodTypeAny, {
74
+ xRatio: number;
75
+ yRatio: number;
76
+ }, {
77
+ xRatio: number;
78
+ yRatio: number;
79
+ }>>;
80
+ }, "strict", z.ZodTypeAny, {
81
+ label: string;
82
+ kind: "led" | "switch" | "knob";
83
+ id: string;
84
+ value?: number | undefined;
85
+ position?: {
86
+ xRatio: number;
87
+ yRatio: number;
88
+ } | undefined;
89
+ color?: string | undefined;
90
+ statusColor?: string | undefined;
91
+ labelColor?: string | undefined;
92
+ }, {
93
+ label: string;
94
+ kind: "led" | "switch" | "knob";
95
+ id: string;
96
+ value?: number | undefined;
97
+ position?: {
98
+ xRatio: number;
99
+ yRatio: number;
100
+ } | undefined;
101
+ color?: string | undefined;
102
+ statusColor?: string | undefined;
103
+ labelColor?: string | undefined;
104
+ }>;
105
+ export declare const ampControlPanelProfileSchema: z.ZodObject<{
106
+ face: z.ZodOptional<z.ZodEnum<["front", "top"]>>;
107
+ backgroundColor: z.ZodOptional<z.ZodString>;
108
+ controls: z.ZodArray<z.ZodObject<{
109
+ id: z.ZodString;
110
+ kind: z.ZodEnum<["knob", "switch", "led"]>;
111
+ label: z.ZodString;
112
+ color: z.ZodOptional<z.ZodString>;
113
+ labelColor: z.ZodOptional<z.ZodString>;
114
+ statusColor: z.ZodOptional<z.ZodString>;
115
+ value: z.ZodOptional<z.ZodNumber>;
116
+ position: z.ZodOptional<z.ZodObject<{
117
+ xRatio: z.ZodNumber;
118
+ yRatio: z.ZodNumber;
119
+ }, "strict", z.ZodTypeAny, {
120
+ xRatio: number;
121
+ yRatio: number;
122
+ }, {
123
+ xRatio: number;
124
+ yRatio: number;
125
+ }>>;
126
+ }, "strict", z.ZodTypeAny, {
127
+ label: string;
128
+ kind: "led" | "switch" | "knob";
129
+ id: string;
130
+ value?: number | undefined;
131
+ position?: {
132
+ xRatio: number;
133
+ yRatio: number;
134
+ } | undefined;
135
+ color?: string | undefined;
136
+ statusColor?: string | undefined;
137
+ labelColor?: string | undefined;
138
+ }, {
139
+ label: string;
140
+ kind: "led" | "switch" | "knob";
141
+ id: string;
142
+ value?: number | undefined;
143
+ position?: {
144
+ xRatio: number;
145
+ yRatio: number;
146
+ } | undefined;
147
+ color?: string | undefined;
148
+ statusColor?: string | undefined;
149
+ labelColor?: string | undefined;
150
+ }>, "many">;
151
+ }, "strict", z.ZodTypeAny, {
152
+ controls: {
153
+ label: string;
154
+ kind: "led" | "switch" | "knob";
155
+ id: string;
156
+ value?: number | undefined;
157
+ position?: {
158
+ xRatio: number;
159
+ yRatio: number;
160
+ } | undefined;
161
+ color?: string | undefined;
162
+ statusColor?: string | undefined;
163
+ labelColor?: string | undefined;
164
+ }[];
165
+ face?: "top" | "front" | undefined;
166
+ backgroundColor?: string | undefined;
167
+ }, {
168
+ controls: {
169
+ label: string;
170
+ kind: "led" | "switch" | "knob";
171
+ id: string;
172
+ value?: number | undefined;
173
+ position?: {
174
+ xRatio: number;
175
+ yRatio: number;
176
+ } | undefined;
177
+ color?: string | undefined;
178
+ statusColor?: string | undefined;
179
+ labelColor?: string | undefined;
180
+ }[];
181
+ face?: "top" | "front" | undefined;
182
+ backgroundColor?: string | undefined;
183
+ }>;
184
+ export declare const ampProfileSchema: z.ZodObject<{
185
+ schema: z.ZodLiteral<"vessel-amp-profile/v1">;
186
+ brandName: z.ZodString;
187
+ modelName: z.ZodString;
188
+ enclosureColor: z.ZodString;
189
+ appearance: z.ZodOptional<z.ZodObject<{
190
+ frontPanelColor: z.ZodOptional<z.ZodString>;
191
+ frontPanelBorderColor: z.ZodOptional<z.ZodString>;
192
+ controlPanelColor: z.ZodOptional<z.ZodString>;
193
+ brandLabelColor: z.ZodOptional<z.ZodString>;
194
+ modelLabelColor: z.ZodOptional<z.ZodString>;
195
+ labelFontFamily: z.ZodOptional<z.ZodString>;
196
+ brandLabelFontSizeMm: z.ZodOptional<z.ZodNumber>;
197
+ modelLabelFontSizeMm: z.ZodOptional<z.ZodNumber>;
198
+ knobColor: z.ZodOptional<z.ZodString>;
199
+ knobLabelColor: z.ZodOptional<z.ZodString>;
200
+ knobLabelFontSizeMm: z.ZodOptional<z.ZodNumber>;
201
+ statusColor: z.ZodOptional<z.ZodString>;
202
+ cornerProtectorColor: z.ZodOptional<z.ZodString>;
203
+ handleGripColor: z.ZodOptional<z.ZodString>;
204
+ }, "strict", z.ZodTypeAny, {
205
+ frontPanelColor?: string | undefined;
206
+ frontPanelBorderColor?: string | undefined;
207
+ controlPanelColor?: string | undefined;
208
+ brandLabelColor?: string | undefined;
209
+ modelLabelColor?: string | undefined;
210
+ labelFontFamily?: string | undefined;
211
+ brandLabelFontSizeMm?: number | undefined;
212
+ modelLabelFontSizeMm?: number | undefined;
213
+ knobColor?: string | undefined;
214
+ knobLabelColor?: string | undefined;
215
+ knobLabelFontSizeMm?: number | undefined;
216
+ statusColor?: string | undefined;
217
+ cornerProtectorColor?: string | undefined;
218
+ handleGripColor?: string | undefined;
219
+ }, {
220
+ frontPanelColor?: string | undefined;
221
+ frontPanelBorderColor?: string | undefined;
222
+ controlPanelColor?: string | undefined;
223
+ brandLabelColor?: string | undefined;
224
+ modelLabelColor?: string | undefined;
225
+ labelFontFamily?: string | undefined;
226
+ brandLabelFontSizeMm?: number | undefined;
227
+ modelLabelFontSizeMm?: number | undefined;
228
+ knobColor?: string | undefined;
229
+ knobLabelColor?: string | undefined;
230
+ knobLabelFontSizeMm?: number | undefined;
231
+ statusColor?: string | undefined;
232
+ cornerProtectorColor?: string | undefined;
233
+ handleGripColor?: string | undefined;
234
+ }>>;
235
+ dimensionsMm: z.ZodObject<{
236
+ widthMm: z.ZodNumber;
237
+ heightMm: z.ZodNumber;
238
+ depthMm: z.ZodNumber;
239
+ }, "strict", z.ZodTypeAny, {
240
+ widthMm: number;
241
+ heightMm: number;
242
+ depthMm: number;
243
+ }, {
244
+ widthMm: number;
245
+ heightMm: number;
246
+ depthMm: number;
247
+ }>;
248
+ controlPanel: z.ZodObject<{
249
+ face: z.ZodOptional<z.ZodEnum<["front", "top"]>>;
250
+ backgroundColor: z.ZodOptional<z.ZodString>;
251
+ controls: z.ZodArray<z.ZodObject<{
252
+ id: z.ZodString;
253
+ kind: z.ZodEnum<["knob", "switch", "led"]>;
254
+ label: z.ZodString;
255
+ color: z.ZodOptional<z.ZodString>;
256
+ labelColor: z.ZodOptional<z.ZodString>;
257
+ statusColor: z.ZodOptional<z.ZodString>;
258
+ value: z.ZodOptional<z.ZodNumber>;
259
+ position: z.ZodOptional<z.ZodObject<{
260
+ xRatio: z.ZodNumber;
261
+ yRatio: z.ZodNumber;
262
+ }, "strict", z.ZodTypeAny, {
263
+ xRatio: number;
264
+ yRatio: number;
265
+ }, {
266
+ xRatio: number;
267
+ yRatio: number;
268
+ }>>;
269
+ }, "strict", z.ZodTypeAny, {
270
+ label: string;
271
+ kind: "led" | "switch" | "knob";
272
+ id: string;
273
+ value?: number | undefined;
274
+ position?: {
275
+ xRatio: number;
276
+ yRatio: number;
277
+ } | undefined;
278
+ color?: string | undefined;
279
+ statusColor?: string | undefined;
280
+ labelColor?: string | undefined;
281
+ }, {
282
+ label: string;
283
+ kind: "led" | "switch" | "knob";
284
+ id: string;
285
+ value?: number | undefined;
286
+ position?: {
287
+ xRatio: number;
288
+ yRatio: number;
289
+ } | undefined;
290
+ color?: string | undefined;
291
+ statusColor?: string | undefined;
292
+ labelColor?: string | undefined;
293
+ }>, "many">;
294
+ }, "strict", z.ZodTypeAny, {
295
+ controls: {
296
+ label: string;
297
+ kind: "led" | "switch" | "knob";
298
+ id: string;
299
+ value?: number | undefined;
300
+ position?: {
301
+ xRatio: number;
302
+ yRatio: number;
303
+ } | undefined;
304
+ color?: string | undefined;
305
+ statusColor?: string | undefined;
306
+ labelColor?: string | undefined;
307
+ }[];
308
+ face?: "top" | "front" | undefined;
309
+ backgroundColor?: string | undefined;
310
+ }, {
311
+ controls: {
312
+ label: string;
313
+ kind: "led" | "switch" | "knob";
314
+ id: string;
315
+ value?: number | undefined;
316
+ position?: {
317
+ xRatio: number;
318
+ yRatio: number;
319
+ } | undefined;
320
+ color?: string | undefined;
321
+ statusColor?: string | undefined;
322
+ labelColor?: string | undefined;
323
+ }[];
324
+ face?: "top" | "front" | undefined;
325
+ backgroundColor?: string | undefined;
326
+ }>;
327
+ }, "strict", z.ZodTypeAny, {
328
+ modelName: string;
329
+ schema: "vessel-amp-profile/v1";
330
+ brandName: string;
331
+ enclosureColor: string;
332
+ dimensionsMm: {
333
+ widthMm: number;
334
+ heightMm: number;
335
+ depthMm: number;
336
+ };
337
+ controlPanel: {
338
+ controls: {
339
+ label: string;
340
+ kind: "led" | "switch" | "knob";
341
+ id: string;
342
+ value?: number | undefined;
343
+ position?: {
344
+ xRatio: number;
345
+ yRatio: number;
346
+ } | undefined;
347
+ color?: string | undefined;
348
+ statusColor?: string | undefined;
349
+ labelColor?: string | undefined;
350
+ }[];
351
+ face?: "top" | "front" | undefined;
352
+ backgroundColor?: string | undefined;
353
+ };
354
+ appearance?: {
355
+ frontPanelColor?: string | undefined;
356
+ frontPanelBorderColor?: string | undefined;
357
+ controlPanelColor?: string | undefined;
358
+ brandLabelColor?: string | undefined;
359
+ modelLabelColor?: string | undefined;
360
+ labelFontFamily?: string | undefined;
361
+ brandLabelFontSizeMm?: number | undefined;
362
+ modelLabelFontSizeMm?: number | undefined;
363
+ knobColor?: string | undefined;
364
+ knobLabelColor?: string | undefined;
365
+ knobLabelFontSizeMm?: number | undefined;
366
+ statusColor?: string | undefined;
367
+ cornerProtectorColor?: string | undefined;
368
+ handleGripColor?: string | undefined;
369
+ } | undefined;
370
+ }, {
371
+ modelName: string;
372
+ schema: "vessel-amp-profile/v1";
373
+ brandName: string;
374
+ enclosureColor: string;
375
+ dimensionsMm: {
376
+ widthMm: number;
377
+ heightMm: number;
378
+ depthMm: number;
379
+ };
380
+ controlPanel: {
381
+ controls: {
382
+ label: string;
383
+ kind: "led" | "switch" | "knob";
384
+ id: string;
385
+ value?: number | undefined;
386
+ position?: {
387
+ xRatio: number;
388
+ yRatio: number;
389
+ } | undefined;
390
+ color?: string | undefined;
391
+ statusColor?: string | undefined;
392
+ labelColor?: string | undefined;
393
+ }[];
394
+ face?: "top" | "front" | undefined;
395
+ backgroundColor?: string | undefined;
396
+ };
397
+ appearance?: {
398
+ frontPanelColor?: string | undefined;
399
+ frontPanelBorderColor?: string | undefined;
400
+ controlPanelColor?: string | undefined;
401
+ brandLabelColor?: string | undefined;
402
+ modelLabelColor?: string | undefined;
403
+ labelFontFamily?: string | undefined;
404
+ brandLabelFontSizeMm?: number | undefined;
405
+ modelLabelFontSizeMm?: number | undefined;
406
+ knobColor?: string | undefined;
407
+ knobLabelColor?: string | undefined;
408
+ knobLabelFontSizeMm?: number | undefined;
409
+ statusColor?: string | undefined;
410
+ cornerProtectorColor?: string | undefined;
411
+ handleGripColor?: string | undefined;
412
+ } | undefined;
413
+ }>;
414
+ export declare const cabinetAppearanceProfileSchema: z.ZodObject<{
415
+ grilleColor: z.ZodOptional<z.ZodString>;
416
+ brandLabelColor: z.ZodOptional<z.ZodString>;
417
+ modelLabelColor: z.ZodOptional<z.ZodString>;
418
+ labelFontFamily: z.ZodOptional<z.ZodString>;
419
+ brandLabelFontSizeMm: z.ZodOptional<z.ZodNumber>;
420
+ modelLabelFontSizeMm: z.ZodOptional<z.ZodNumber>;
421
+ cornerProtectorColor: z.ZodOptional<z.ZodString>;
422
+ }, "strict", z.ZodTypeAny, {
423
+ brandLabelColor?: string | undefined;
424
+ modelLabelColor?: string | undefined;
425
+ labelFontFamily?: string | undefined;
426
+ brandLabelFontSizeMm?: number | undefined;
427
+ modelLabelFontSizeMm?: number | undefined;
428
+ cornerProtectorColor?: string | undefined;
429
+ grilleColor?: string | undefined;
430
+ }, {
431
+ brandLabelColor?: string | undefined;
432
+ modelLabelColor?: string | undefined;
433
+ labelFontFamily?: string | undefined;
434
+ brandLabelFontSizeMm?: number | undefined;
435
+ modelLabelFontSizeMm?: number | undefined;
436
+ cornerProtectorColor?: string | undefined;
437
+ grilleColor?: string | undefined;
438
+ }>;
439
+ export declare const cabinetProfileSchema: z.ZodObject<{
440
+ schema: z.ZodLiteral<"vessel-cabinet-profile/v1">;
441
+ brandName: z.ZodString;
442
+ modelName: z.ZodOptional<z.ZodString>;
443
+ enclosureColor: z.ZodString;
444
+ appearance: z.ZodOptional<z.ZodObject<{
445
+ grilleColor: z.ZodOptional<z.ZodString>;
446
+ brandLabelColor: z.ZodOptional<z.ZodString>;
447
+ modelLabelColor: z.ZodOptional<z.ZodString>;
448
+ labelFontFamily: z.ZodOptional<z.ZodString>;
449
+ brandLabelFontSizeMm: z.ZodOptional<z.ZodNumber>;
450
+ modelLabelFontSizeMm: z.ZodOptional<z.ZodNumber>;
451
+ cornerProtectorColor: z.ZodOptional<z.ZodString>;
452
+ }, "strict", z.ZodTypeAny, {
453
+ brandLabelColor?: string | undefined;
454
+ modelLabelColor?: string | undefined;
455
+ labelFontFamily?: string | undefined;
456
+ brandLabelFontSizeMm?: number | undefined;
457
+ modelLabelFontSizeMm?: number | undefined;
458
+ cornerProtectorColor?: string | undefined;
459
+ grilleColor?: string | undefined;
460
+ }, {
461
+ brandLabelColor?: string | undefined;
462
+ modelLabelColor?: string | undefined;
463
+ labelFontFamily?: string | undefined;
464
+ brandLabelFontSizeMm?: number | undefined;
465
+ modelLabelFontSizeMm?: number | undefined;
466
+ cornerProtectorColor?: string | undefined;
467
+ grilleColor?: string | undefined;
468
+ }>>;
469
+ dimensionsMm: z.ZodObject<{
470
+ widthMm: z.ZodNumber;
471
+ heightMm: z.ZodNumber;
472
+ depthMm: z.ZodNumber;
473
+ }, "strict", z.ZodTypeAny, {
474
+ widthMm: number;
475
+ heightMm: number;
476
+ depthMm: number;
477
+ }, {
478
+ widthMm: number;
479
+ heightMm: number;
480
+ depthMm: number;
481
+ }>;
482
+ }, "strict", z.ZodTypeAny, {
483
+ schema: "vessel-cabinet-profile/v1";
484
+ brandName: string;
485
+ enclosureColor: string;
486
+ dimensionsMm: {
487
+ widthMm: number;
488
+ heightMm: number;
489
+ depthMm: number;
490
+ };
491
+ modelName?: string | undefined;
492
+ appearance?: {
493
+ brandLabelColor?: string | undefined;
494
+ modelLabelColor?: string | undefined;
495
+ labelFontFamily?: string | undefined;
496
+ brandLabelFontSizeMm?: number | undefined;
497
+ modelLabelFontSizeMm?: number | undefined;
498
+ cornerProtectorColor?: string | undefined;
499
+ grilleColor?: string | undefined;
500
+ } | undefined;
501
+ }, {
502
+ schema: "vessel-cabinet-profile/v1";
503
+ brandName: string;
504
+ enclosureColor: string;
505
+ dimensionsMm: {
506
+ widthMm: number;
507
+ heightMm: number;
508
+ depthMm: number;
509
+ };
510
+ modelName?: string | undefined;
511
+ appearance?: {
512
+ brandLabelColor?: string | undefined;
513
+ modelLabelColor?: string | undefined;
514
+ labelFontFamily?: string | undefined;
515
+ brandLabelFontSizeMm?: number | undefined;
516
+ modelLabelFontSizeMm?: number | undefined;
517
+ cornerProtectorColor?: string | undefined;
518
+ grilleColor?: string | undefined;
519
+ } | undefined;
520
+ }>;
521
+ export type AmpControlKind = "knob" | "switch" | "led";
522
+ export type AmpAppearanceProfile = Readonly<{
523
+ frontPanelColor?: string;
524
+ frontPanelBorderColor?: string;
525
+ controlPanelColor?: string;
526
+ brandLabelColor?: string;
527
+ modelLabelColor?: string;
528
+ labelFontFamily?: string;
529
+ brandLabelFontSizeMm?: number;
530
+ modelLabelFontSizeMm?: number;
531
+ knobColor?: string;
532
+ knobLabelColor?: string;
533
+ knobLabelFontSizeMm?: number;
534
+ statusColor?: string;
535
+ cornerProtectorColor?: string;
536
+ handleGripColor?: string;
537
+ }>;
538
+ export type AmpDimensions = Readonly<{
539
+ widthMm: number;
540
+ heightMm: number;
541
+ depthMm: number;
542
+ }>;
543
+ export type AmpControlProfile = Readonly<{
544
+ id: string;
545
+ kind: AmpControlKind;
546
+ label: string;
547
+ color?: string;
548
+ labelColor?: string;
549
+ statusColor?: string;
550
+ value?: number;
551
+ position?: Readonly<{
552
+ xRatio: number;
553
+ yRatio: number;
554
+ }>;
555
+ }>;
556
+ export type AmpControlPanelProfile = Readonly<{
557
+ face?: "front" | "top";
558
+ backgroundColor?: string;
559
+ controls: readonly AmpControlProfile[];
560
+ }>;
561
+ export type AmpProfile = Readonly<{
562
+ schema: "vessel-amp-profile/v1";
563
+ brandName: string;
564
+ modelName: string;
565
+ enclosureColor: string;
566
+ appearance?: AmpAppearanceProfile;
567
+ dimensionsMm: AmpDimensions;
568
+ controlPanel: AmpControlPanelProfile;
569
+ }>;
570
+ export type CabinetAppearanceProfile = Readonly<{
571
+ grilleColor?: string;
572
+ brandLabelColor?: string;
573
+ modelLabelColor?: string;
574
+ labelFontFamily?: string;
575
+ brandLabelFontSizeMm?: number;
576
+ modelLabelFontSizeMm?: number;
577
+ cornerProtectorColor?: string;
578
+ }>;
579
+ export type CabinetDimensions = AmpDimensions;
580
+ export type CabinetProfile = Readonly<{
581
+ schema: "vessel-cabinet-profile/v1";
582
+ brandName: string;
583
+ modelName?: string;
584
+ enclosureColor: string;
585
+ appearance?: CabinetAppearanceProfile;
586
+ dimensionsMm: CabinetDimensions;
587
+ }>;
588
+ export type ProfileValidationResult<TProfile> = Readonly<{
589
+ valid: true;
590
+ profile: TProfile;
591
+ diagnostics: readonly [];
592
+ }> | Readonly<{
593
+ valid: false;
594
+ diagnostics: readonly string[];
595
+ }>;
596
+ export type AmpProfileValidation = ProfileValidationResult<AmpProfile>;
597
+ export type CabinetProfileValidation = ProfileValidationResult<CabinetProfile>;
598
+ export declare function validateAmpProfile(profile: unknown): AmpProfileValidation;
599
+ export declare function validateCabinetProfile(profile: unknown): CabinetProfileValidation;
600
+ //# sourceMappingURL=profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}