@principal-ai/logo-component 0.1.4 → 0.1.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.
@@ -0,0 +1,517 @@
1
+ /**
2
+ * Single-stroke character definitions for TextReveal component.
3
+ * Each character is defined as a set of simple SVG paths that particles can trace.
4
+ * Coordinates use a consistent cell: 0-40 width, 0-60 height, baseline at y=60.
5
+ */
6
+ export const STROKE_CHARACTERS = {
7
+ // Uppercase letters
8
+ A: {
9
+ paths: [
10
+ { d: "M 2,60 L 20,4 L 38,60", id: "a-legs" },
11
+ { d: "M 10,38 L 30,38", id: "a-bar" },
12
+ ],
13
+ width: 42,
14
+ },
15
+ B: {
16
+ paths: [
17
+ { d: "M 4,60 L 4,4", id: "b-stem" },
18
+ { d: "M 4,4 L 24,4 Q 34,4 34,16 Q 34,28 24,32 L 4,32", id: "b-top" },
19
+ { d: "M 4,32 L 26,32 Q 38,32 38,46 Q 38,60 26,60 L 4,60", id: "b-bot" },
20
+ ],
21
+ width: 42,
22
+ },
23
+ C: {
24
+ paths: [
25
+ { d: "M 36,12 Q 20,0 8,16 Q 0,28 0,32 Q 0,48 8,52 Q 20,64 36,52", id: "c-arc" },
26
+ ],
27
+ width: 40,
28
+ },
29
+ D: {
30
+ paths: [
31
+ { d: "M 4,60 L 4,4", id: "d-stem" },
32
+ { d: "M 4,4 L 20,4 Q 38,4 38,32 Q 38,60 20,60 L 4,60", id: "d-arc" },
33
+ ],
34
+ width: 42,
35
+ },
36
+ E: {
37
+ paths: [
38
+ { d: "M 4,60 L 4,4", id: "e-stem" },
39
+ { d: "M 4,4 L 34,4", id: "e-top" },
40
+ { d: "M 4,32 L 28,32", id: "e-mid" },
41
+ { d: "M 4,60 L 34,60", id: "e-bot" },
42
+ ],
43
+ width: 38,
44
+ },
45
+ F: {
46
+ paths: [
47
+ { d: "M 4,60 L 4,4", id: "f-stem" },
48
+ { d: "M 4,4 L 34,4", id: "f-top" },
49
+ { d: "M 4,32 L 26,32", id: "f-mid" },
50
+ ],
51
+ width: 36,
52
+ },
53
+ G: {
54
+ paths: [
55
+ { d: "M 36,12 Q 20,0 8,16 Q 0,28 0,32 Q 0,48 8,52 Q 20,64 36,52 L 36,36 L 22,36", id: "g-shape" },
56
+ ],
57
+ width: 42,
58
+ },
59
+ H: {
60
+ paths: [
61
+ { d: "M 4,60 L 4,4", id: "h-left" },
62
+ { d: "M 36,60 L 36,4", id: "h-right" },
63
+ { d: "M 4,32 L 36,32", id: "h-bar" },
64
+ ],
65
+ width: 42,
66
+ },
67
+ I: {
68
+ paths: [
69
+ { d: "M 20,4 L 20,60", id: "i-stem" },
70
+ { d: "M 8,4 L 32,4", id: "i-top" },
71
+ { d: "M 8,60 L 32,60", id: "i-bot" },
72
+ ],
73
+ width: 36,
74
+ },
75
+ J: {
76
+ paths: [
77
+ { d: "M 28,4 L 28,48 Q 28,60 16,60 Q 4,60 4,48", id: "j-hook" },
78
+ ],
79
+ width: 34,
80
+ },
81
+ K: {
82
+ paths: [
83
+ { d: "M 4,60 L 4,4", id: "k-stem" },
84
+ { d: "M 34,4 L 4,36 L 36,60", id: "k-legs" },
85
+ ],
86
+ width: 40,
87
+ },
88
+ L: {
89
+ paths: [
90
+ { d: "M 4,4 L 4,60 L 34,60", id: "l-shape" },
91
+ ],
92
+ width: 38,
93
+ },
94
+ M: {
95
+ paths: [
96
+ { d: "M 4,60 L 4,4 L 22,32 L 40,4 L 40,60", id: "m-shape" },
97
+ ],
98
+ width: 46,
99
+ },
100
+ N: {
101
+ paths: [
102
+ { d: "M 4,60 L 4,4 L 36,60 L 36,4", id: "n-shape" },
103
+ ],
104
+ width: 42,
105
+ },
106
+ O: {
107
+ paths: [
108
+ { d: "M 20,4 Q 4,4 4,32 Q 4,60 20,60 Q 36,60 36,32 Q 36,4 20,4 Z", id: "o-circle" },
109
+ ],
110
+ width: 42,
111
+ },
112
+ P: {
113
+ paths: [
114
+ { d: "M 4,60 L 4,4", id: "p-stem" },
115
+ { d: "M 4,4 L 24,4 Q 36,4 36,18 Q 36,32 24,32 L 4,32", id: "p-bowl" },
116
+ ],
117
+ width: 40,
118
+ },
119
+ Q: {
120
+ paths: [
121
+ { d: "M 20,4 Q 4,4 4,32 Q 4,60 20,60 Q 36,60 36,32 Q 36,4 20,4 Z", id: "q-circle" },
122
+ { d: "M 26,48 L 40,64", id: "q-tail" },
123
+ ],
124
+ width: 44,
125
+ },
126
+ R: {
127
+ paths: [
128
+ { d: "M 4,60 L 4,4", id: "r-stem" },
129
+ { d: "M 4,4 L 24,4 Q 36,4 36,18 Q 36,32 24,32 L 4,32", id: "r-bowl" },
130
+ { d: "M 22,32 L 38,60", id: "r-leg" },
131
+ ],
132
+ width: 42,
133
+ },
134
+ S: {
135
+ paths: [
136
+ { d: "M 34,12 Q 34,4 20,4 Q 4,4 4,16 Q 4,28 20,32 Q 36,36 36,48 Q 36,60 20,60 Q 4,60 4,52", id: "s-curve" },
137
+ ],
138
+ width: 40,
139
+ },
140
+ T: {
141
+ paths: [
142
+ { d: "M 4,4 L 36,4", id: "t-top" },
143
+ { d: "M 20,4 L 20,60", id: "t-stem" },
144
+ ],
145
+ width: 40,
146
+ },
147
+ U: {
148
+ paths: [
149
+ { d: "M 4,4 L 4,46 Q 4,60 20,60 Q 36,60 36,46 L 36,4", id: "u-shape" },
150
+ ],
151
+ width: 42,
152
+ },
153
+ V: {
154
+ paths: [
155
+ { d: "M 2,4 L 20,60 L 38,4", id: "v-shape" },
156
+ ],
157
+ width: 42,
158
+ },
159
+ W: {
160
+ paths: [
161
+ { d: "M 0,4 L 10,60 L 22,28 L 34,60 L 44,4", id: "w-shape" },
162
+ ],
163
+ width: 48,
164
+ },
165
+ X: {
166
+ paths: [
167
+ { d: "M 4,4 L 36,60", id: "x-down" },
168
+ { d: "M 36,4 L 4,60", id: "x-up" },
169
+ ],
170
+ width: 42,
171
+ },
172
+ Y: {
173
+ paths: [
174
+ { d: "M 4,4 L 20,32 L 36,4", id: "y-arms" },
175
+ { d: "M 20,32 L 20,60", id: "y-stem" },
176
+ ],
177
+ width: 42,
178
+ },
179
+ Z: {
180
+ paths: [
181
+ { d: "M 4,4 L 36,4 L 4,60 L 36,60", id: "z-shape" },
182
+ ],
183
+ width: 42,
184
+ },
185
+ // Numbers
186
+ "0": {
187
+ paths: [
188
+ { d: "M 20,4 Q 4,4 4,32 Q 4,60 20,60 Q 36,60 36,32 Q 36,4 20,4 Z", id: "0-circle" },
189
+ { d: "M 12,48 L 28,16", id: "0-slash" },
190
+ ],
191
+ width: 42,
192
+ },
193
+ "1": {
194
+ paths: [
195
+ { d: "M 10,16 L 22,4 L 22,60", id: "1-shape" },
196
+ { d: "M 12,60 L 32,60", id: "1-base" },
197
+ ],
198
+ width: 38,
199
+ },
200
+ "2": {
201
+ paths: [
202
+ { d: "M 4,16 Q 4,4 20,4 Q 36,4 36,16 Q 36,28 4,60 L 36,60", id: "2-shape" },
203
+ ],
204
+ width: 42,
205
+ },
206
+ "3": {
207
+ paths: [
208
+ { d: "M 4,12 Q 4,4 20,4 Q 36,4 36,18 Q 36,32 20,32 Q 36,32 36,46 Q 36,60 20,60 Q 4,60 4,52", id: "3-shape" },
209
+ ],
210
+ width: 42,
211
+ },
212
+ "4": {
213
+ paths: [
214
+ { d: "M 28,60 L 28,4 L 4,44 L 38,44", id: "4-shape" },
215
+ ],
216
+ width: 42,
217
+ },
218
+ "5": {
219
+ paths: [
220
+ { d: "M 34,4 L 6,4 L 4,28 Q 4,28 20,28 Q 36,28 36,44 Q 36,60 20,60 Q 4,60 4,52", id: "5-shape" },
221
+ ],
222
+ width: 42,
223
+ },
224
+ "6": {
225
+ paths: [
226
+ { d: "M 32,8 Q 20,4 10,16 Q 4,28 4,44 Q 4,60 20,60 Q 36,60 36,44 Q 36,28 20,28 Q 4,28 4,44", id: "6-shape" },
227
+ ],
228
+ width: 42,
229
+ },
230
+ "7": {
231
+ paths: [
232
+ { d: "M 4,4 L 36,4 L 16,60", id: "7-shape" },
233
+ ],
234
+ width: 42,
235
+ },
236
+ "8": {
237
+ paths: [
238
+ { d: "M 20,32 Q 6,32 6,18 Q 6,4 20,4 Q 34,4 34,18 Q 34,32 20,32 Q 4,32 4,46 Q 4,60 20,60 Q 36,60 36,46 Q 36,32 20,32", id: "8-shape" },
239
+ ],
240
+ width: 42,
241
+ },
242
+ "9": {
243
+ paths: [
244
+ { d: "M 8,56 Q 20,60 30,48 Q 36,36 36,20 Q 36,4 20,4 Q 4,4 4,20 Q 4,36 20,36 Q 36,36 36,20", id: "9-shape" },
245
+ ],
246
+ width: 42,
247
+ },
248
+ // Punctuation & special
249
+ " ": {
250
+ paths: [],
251
+ width: 20,
252
+ },
253
+ ".": {
254
+ paths: [
255
+ { d: "M 8,56 L 12,56 L 12,60 L 8,60 Z", id: "period" },
256
+ ],
257
+ width: 20,
258
+ },
259
+ ",": {
260
+ paths: [
261
+ { d: "M 12,56 L 8,66", id: "comma" },
262
+ ],
263
+ width: 20,
264
+ },
265
+ "!": {
266
+ paths: [
267
+ { d: "M 10,4 L 10,42", id: "exclaim-stem" },
268
+ { d: "M 8,56 L 12,56 L 12,60 L 8,60 Z", id: "exclaim-dot" },
269
+ ],
270
+ width: 20,
271
+ },
272
+ "?": {
273
+ paths: [
274
+ { d: "M 4,12 Q 4,4 18,4 Q 32,4 32,16 Q 32,28 18,32 L 18,42", id: "question-curve" },
275
+ { d: "M 16,56 L 20,56 L 20,60 L 16,60 Z", id: "question-dot" },
276
+ ],
277
+ width: 36,
278
+ },
279
+ "-": {
280
+ paths: [
281
+ { d: "M 4,32 L 28,32", id: "hyphen" },
282
+ ],
283
+ width: 32,
284
+ },
285
+ ":": {
286
+ paths: [
287
+ { d: "M 8,20 L 12,20 L 12,24 L 8,24 Z", id: "colon-top" },
288
+ { d: "M 8,48 L 12,48 L 12,52 L 8,52 Z", id: "colon-bot" },
289
+ ],
290
+ width: 20,
291
+ },
292
+ "/": {
293
+ paths: [
294
+ { d: "M 4,60 L 28,4", id: "slash" },
295
+ ],
296
+ width: 32,
297
+ },
298
+ // Lowercase (simplified - same height as uppercase for now)
299
+ a: {
300
+ paths: [
301
+ { d: "M 30,24 Q 30,16 18,16 Q 6,16 6,32 Q 6,48 18,48 Q 30,48 30,32 L 30,16 L 30,48", id: "a-lower" },
302
+ ],
303
+ width: 36,
304
+ },
305
+ b: {
306
+ paths: [
307
+ { d: "M 6,4 L 6,48", id: "b-stem-lower" },
308
+ { d: "M 6,32 Q 6,16 20,16 Q 34,16 34,32 Q 34,48 20,48 Q 6,48 6,32", id: "b-bowl-lower" },
309
+ ],
310
+ width: 38,
311
+ },
312
+ c: {
313
+ paths: [
314
+ { d: "M 32,20 Q 18,14 10,24 Q 6,32 10,40 Q 18,50 32,44", id: "c-lower" },
315
+ ],
316
+ width: 36,
317
+ },
318
+ d: {
319
+ paths: [
320
+ { d: "M 30,4 L 30,48", id: "d-stem-lower" },
321
+ { d: "M 30,32 Q 30,16 16,16 Q 2,16 2,32 Q 2,48 16,48 Q 30,48 30,32", id: "d-bowl-lower" },
322
+ ],
323
+ width: 36,
324
+ },
325
+ e: {
326
+ paths: [
327
+ { d: "M 6,32 L 32,32 Q 32,16 18,16 Q 4,16 4,32 Q 4,48 18,48 Q 32,48 32,42", id: "e-lower" },
328
+ ],
329
+ width: 38,
330
+ },
331
+ f: {
332
+ paths: [
333
+ { d: "M 28,8 Q 20,4 14,12 L 14,48", id: "f-stem-lower" },
334
+ { d: "M 4,24 L 26,24", id: "f-bar-lower" },
335
+ ],
336
+ width: 30,
337
+ },
338
+ g: {
339
+ paths: [
340
+ { d: "M 30,16 L 30,56 Q 30,66 16,66 Q 4,66 4,58", id: "g-stem-lower" },
341
+ { d: "M 30,32 Q 30,16 16,16 Q 2,16 2,32 Q 2,48 16,48 Q 30,48 30,32", id: "g-bowl-lower" },
342
+ ],
343
+ width: 36,
344
+ },
345
+ h: {
346
+ paths: [
347
+ { d: "M 6,4 L 6,48", id: "h-stem-lower" },
348
+ { d: "M 6,28 Q 6,16 20,16 Q 32,16 32,28 L 32,48", id: "h-arch-lower" },
349
+ ],
350
+ width: 38,
351
+ },
352
+ i: {
353
+ paths: [
354
+ { d: "M 10,20 L 10,48", id: "i-stem-lower" },
355
+ { d: "M 8,8 L 12,8 L 12,12 L 8,12 Z", id: "i-dot-lower" },
356
+ ],
357
+ width: 22,
358
+ },
359
+ j: {
360
+ paths: [
361
+ { d: "M 18,20 L 18,56 Q 18,66 6,66", id: "j-hook-lower" },
362
+ { d: "M 16,8 L 20,8 L 20,12 L 16,12 Z", id: "j-dot-lower" },
363
+ ],
364
+ width: 26,
365
+ },
366
+ k: {
367
+ paths: [
368
+ { d: "M 6,4 L 6,48", id: "k-stem-lower" },
369
+ { d: "M 30,16 L 6,36 L 32,48", id: "k-legs-lower" },
370
+ ],
371
+ width: 36,
372
+ },
373
+ l: {
374
+ paths: [
375
+ { d: "M 10,4 L 10,48", id: "l-stem-lower" },
376
+ ],
377
+ width: 20,
378
+ },
379
+ m: {
380
+ paths: [
381
+ { d: "M 4,48 L 4,24 Q 4,16 14,16 Q 24,16 24,24 L 24,48", id: "m-left-lower" },
382
+ { d: "M 24,24 Q 24,16 34,16 Q 44,16 44,24 L 44,48", id: "m-right-lower" },
383
+ ],
384
+ width: 50,
385
+ },
386
+ n: {
387
+ paths: [
388
+ { d: "M 6,48 L 6,16", id: "n-stem-lower" },
389
+ { d: "M 6,28 Q 6,16 20,16 Q 32,16 32,28 L 32,48", id: "n-arch-lower" },
390
+ ],
391
+ width: 38,
392
+ },
393
+ o: {
394
+ paths: [
395
+ { d: "M 18,16 Q 4,16 4,32 Q 4,48 18,48 Q 32,48 32,32 Q 32,16 18,16 Z", id: "o-lower" },
396
+ ],
397
+ width: 38,
398
+ },
399
+ p: {
400
+ paths: [
401
+ { d: "M 6,16 L 6,64", id: "p-stem-lower" },
402
+ { d: "M 6,32 Q 6,16 20,16 Q 34,16 34,32 Q 34,48 20,48 Q 6,48 6,32", id: "p-bowl-lower" },
403
+ ],
404
+ width: 38,
405
+ },
406
+ q: {
407
+ paths: [
408
+ { d: "M 30,16 L 30,64", id: "q-stem-lower" },
409
+ { d: "M 30,32 Q 30,16 16,16 Q 2,16 2,32 Q 2,48 16,48 Q 30,48 30,32", id: "q-bowl-lower" },
410
+ ],
411
+ width: 36,
412
+ },
413
+ r: {
414
+ paths: [
415
+ { d: "M 6,48 L 6,16", id: "r-stem-lower" },
416
+ { d: "M 6,28 Q 6,16 20,16 Q 28,16 30,22", id: "r-shoulder-lower" },
417
+ ],
418
+ width: 32,
419
+ },
420
+ s: {
421
+ paths: [
422
+ { d: "M 28,20 Q 28,16 18,16 Q 6,16 6,24 Q 6,32 18,32 Q 30,32 30,40 Q 30,48 18,48 Q 6,48 6,44", id: "s-lower" },
423
+ ],
424
+ width: 36,
425
+ },
426
+ t: {
427
+ paths: [
428
+ { d: "M 16,4 L 16,44 Q 16,48 24,48", id: "t-stem-lower" },
429
+ { d: "M 6,16 L 28,16", id: "t-bar-lower" },
430
+ ],
431
+ width: 30,
432
+ },
433
+ u: {
434
+ paths: [
435
+ { d: "M 6,16 L 6,36 Q 6,48 18,48 Q 30,48 30,36 L 30,16 L 30,48", id: "u-lower" },
436
+ ],
437
+ width: 38,
438
+ },
439
+ v: {
440
+ paths: [
441
+ { d: "M 4,16 L 18,48 L 32,16", id: "v-lower" },
442
+ ],
443
+ width: 38,
444
+ },
445
+ w: {
446
+ paths: [
447
+ { d: "M 2,16 L 10,48 L 20,28 L 30,48 L 38,16", id: "w-lower" },
448
+ ],
449
+ width: 42,
450
+ },
451
+ x: {
452
+ paths: [
453
+ { d: "M 6,16 L 30,48", id: "x-down-lower" },
454
+ { d: "M 30,16 L 6,48", id: "x-up-lower" },
455
+ ],
456
+ width: 38,
457
+ },
458
+ y: {
459
+ paths: [
460
+ { d: "M 6,16 L 18,40", id: "y-left-lower" },
461
+ { d: "M 30,16 L 10,64", id: "y-right-lower" },
462
+ ],
463
+ width: 38,
464
+ },
465
+ z: {
466
+ paths: [
467
+ { d: "M 6,16 L 30,16 L 6,48 L 30,48", id: "z-lower" },
468
+ ],
469
+ width: 38,
470
+ },
471
+ };
472
+ export function layoutText(text, options = {}) {
473
+ const { x = 0, y = 0, letterSpacing = 4, scale = 1 } = options;
474
+ const paths = [];
475
+ let currentX = x;
476
+ for (let i = 0; i < text.length; i++) {
477
+ const char = text[i];
478
+ const charDef = STROKE_CHARACTERS[char] || STROKE_CHARACTERS[char.toUpperCase()];
479
+ if (charDef) {
480
+ for (const path of charDef.paths) {
481
+ // Transform the path to the current position
482
+ const transformedD = transformPath(path.d, currentX, y, scale);
483
+ paths.push({
484
+ d: transformedD,
485
+ id: `${path.id}-${i}`,
486
+ charIndex: i,
487
+ char,
488
+ });
489
+ }
490
+ currentX += (charDef.width + letterSpacing) * scale;
491
+ }
492
+ }
493
+ return {
494
+ paths,
495
+ width: currentX - x,
496
+ height: 60 * scale,
497
+ };
498
+ }
499
+ /**
500
+ * Transform path coordinates by offset and scale
501
+ */
502
+ function transformPath(d, offsetX, offsetY, scale) {
503
+ // Match all coordinate pairs in the path
504
+ return d.replace(/-?\d+\.?\d*/g, (match, offset, fullString) => {
505
+ const num = parseFloat(match);
506
+ // Determine if this is an X or Y coordinate by counting preceding numbers
507
+ const before = fullString.substring(0, offset);
508
+ const numCount = (before.match(/-?\d+\.?\d*/g) || []).length;
509
+ const isY = numCount % 2 === 1;
510
+ if (isY) {
511
+ return String(num * scale + offsetY);
512
+ }
513
+ else {
514
+ return String(num * scale + offsetX);
515
+ }
516
+ });
517
+ }
package/dist/index.d.ts CHANGED
@@ -1,3 +1,12 @@
1
1
  export { Logo } from './Logo';
2
2
  export { LogoSmall } from './LogoSmall';
3
3
  export { ForksLogo } from './ForksLogo';
4
+ export { SquareLogo } from './SquareLogo';
5
+ export { WreathLogo } from './WreathLogo';
6
+ export { TelemetryReveal } from './TelemetryReveal';
7
+ export { TextReveal } from './TextReveal';
8
+ export { OpenTypeTextReveal } from './OpenTypeTextReveal';
9
+ export { TELEMETRY_PRESETS } from './presets';
10
+ export { STROKE_CHARACTERS, layoutText } from './strokeCharacters';
11
+ export type { PathDefinition, ShapePreset } from './presets';
12
+ export type { CharacterDefinition, CharacterPath, PositionedPath } from './strokeCharacters';
package/dist/index.esm.js CHANGED
@@ -1,3 +1,10 @@
1
1
  export { Logo } from './Logo';
2
2
  export { LogoSmall } from './LogoSmall';
3
3
  export { ForksLogo } from './ForksLogo';
4
+ export { SquareLogo } from './SquareLogo';
5
+ export { WreathLogo } from './WreathLogo';
6
+ export { TelemetryReveal } from './TelemetryReveal';
7
+ export { TextReveal } from './TextReveal';
8
+ export { OpenTypeTextReveal } from './OpenTypeTextReveal';
9
+ export { TELEMETRY_PRESETS } from './presets';
10
+ export { STROKE_CHARACTERS, layoutText } from './strokeCharacters';
package/dist/index.js CHANGED
@@ -1,9 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ForksLogo = exports.LogoSmall = exports.Logo = void 0;
3
+ exports.layoutText = exports.STROKE_CHARACTERS = exports.TELEMETRY_PRESETS = exports.OpenTypeTextReveal = exports.TextReveal = exports.TelemetryReveal = exports.WreathLogo = exports.SquareLogo = exports.ForksLogo = exports.LogoSmall = exports.Logo = void 0;
4
4
  var Logo_1 = require("./Logo");
5
5
  Object.defineProperty(exports, "Logo", { enumerable: true, get: function () { return Logo_1.Logo; } });
6
6
  var LogoSmall_1 = require("./LogoSmall");
7
7
  Object.defineProperty(exports, "LogoSmall", { enumerable: true, get: function () { return LogoSmall_1.LogoSmall; } });
8
8
  var ForksLogo_1 = require("./ForksLogo");
9
9
  Object.defineProperty(exports, "ForksLogo", { enumerable: true, get: function () { return ForksLogo_1.ForksLogo; } });
10
+ var SquareLogo_1 = require("./SquareLogo");
11
+ Object.defineProperty(exports, "SquareLogo", { enumerable: true, get: function () { return SquareLogo_1.SquareLogo; } });
12
+ var WreathLogo_1 = require("./WreathLogo");
13
+ Object.defineProperty(exports, "WreathLogo", { enumerable: true, get: function () { return WreathLogo_1.WreathLogo; } });
14
+ var TelemetryReveal_1 = require("./TelemetryReveal");
15
+ Object.defineProperty(exports, "TelemetryReveal", { enumerable: true, get: function () { return TelemetryReveal_1.TelemetryReveal; } });
16
+ var TextReveal_1 = require("./TextReveal");
17
+ Object.defineProperty(exports, "TextReveal", { enumerable: true, get: function () { return TextReveal_1.TextReveal; } });
18
+ var OpenTypeTextReveal_1 = require("./OpenTypeTextReveal");
19
+ Object.defineProperty(exports, "OpenTypeTextReveal", { enumerable: true, get: function () { return OpenTypeTextReveal_1.OpenTypeTextReveal; } });
20
+ var presets_1 = require("./presets");
21
+ Object.defineProperty(exports, "TELEMETRY_PRESETS", { enumerable: true, get: function () { return presets_1.TELEMETRY_PRESETS; } });
22
+ var strokeCharacters_1 = require("./strokeCharacters");
23
+ Object.defineProperty(exports, "STROKE_CHARACTERS", { enumerable: true, get: function () { return strokeCharacters_1.STROKE_CHARACTERS; } });
24
+ Object.defineProperty(exports, "layoutText", { enumerable: true, get: function () { return strokeCharacters_1.layoutText; } });
@@ -0,0 +1,10 @@
1
+ export interface PathDefinition {
2
+ d: string;
3
+ id?: string;
4
+ }
5
+ export interface ShapePreset {
6
+ name: string;
7
+ paths: PathDefinition[];
8
+ viewBox: string;
9
+ }
10
+ export declare const TELEMETRY_PRESETS: Record<string, ShapePreset>;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TELEMETRY_PRESETS = void 0;
4
+ exports.TELEMETRY_PRESETS = {
5
+ network: {
6
+ name: "network",
7
+ viewBox: "0 0 200 200",
8
+ paths: [
9
+ // Cardinal directions
10
+ { d: "M 100,100 L 100,30", id: "n-top" },
11
+ { d: "M 100,100 L 170,100", id: "n-right" },
12
+ { d: "M 100,100 L 100,170", id: "n-bottom" },
13
+ { d: "M 100,100 L 30,100", id: "n-left" },
14
+ // Diagonals
15
+ { d: "M 100,100 L 150,50", id: "n-tr" },
16
+ { d: "M 100,100 L 150,150", id: "n-br" },
17
+ { d: "M 100,100 L 50,150", id: "n-bl" },
18
+ { d: "M 100,100 L 50,50", id: "n-tl" },
19
+ ],
20
+ },
21
+ tree: {
22
+ name: "tree",
23
+ viewBox: "0 0 200 200",
24
+ paths: [
25
+ // Root to trunk
26
+ { d: "M 100,180 L 100,100", id: "trunk" },
27
+ // Main branches
28
+ { d: "M 100,100 L 55,55", id: "branch-l1" },
29
+ { d: "M 100,100 L 145,55", id: "branch-r1" },
30
+ // Sub-branches left
31
+ { d: "M 55,55 L 30,25", id: "branch-l2" },
32
+ { d: "M 55,55 L 70,25", id: "branch-l3" },
33
+ // Sub-branches right
34
+ { d: "M 145,55 L 130,25", id: "branch-r2" },
35
+ { d: "M 145,55 L 170,25", id: "branch-r3" },
36
+ ],
37
+ },
38
+ circuit: {
39
+ name: "circuit",
40
+ viewBox: "0 0 200 200",
41
+ paths: [
42
+ // Horizontal bus lines
43
+ { d: "M 25,50 L 175,50", id: "h1" },
44
+ { d: "M 25,100 L 175,100", id: "h2" },
45
+ { d: "M 25,150 L 175,150", id: "h3" },
46
+ // Vertical connectors
47
+ { d: "M 60,50 L 60,100", id: "v1" },
48
+ { d: "M 100,50 L 100,150", id: "v2" },
49
+ { d: "M 140,100 L 140,150", id: "v3" },
50
+ ],
51
+ },
52
+ hexagon: {
53
+ name: "hexagon",
54
+ viewBox: "0 0 200 200",
55
+ paths: [
56
+ // Hexagon edges (clockwise from top)
57
+ { d: "M 100,25 L 160,55", id: "hex1" },
58
+ { d: "M 160,55 L 160,125", id: "hex2" },
59
+ { d: "M 160,125 L 100,155", id: "hex3" },
60
+ { d: "M 100,155 L 40,125", id: "hex4" },
61
+ { d: "M 40,125 L 40,55", id: "hex5" },
62
+ { d: "M 40,55 L 100,25", id: "hex6" },
63
+ // Spokes to center
64
+ { d: "M 100,90 L 100,25", id: "spoke1" },
65
+ { d: "M 100,90 L 160,55", id: "spoke2" },
66
+ { d: "M 100,90 L 160,125", id: "spoke3" },
67
+ ],
68
+ },
69
+ codebase: {
70
+ name: "codebase",
71
+ viewBox: "0 0 200 200",
72
+ paths: [
73
+ // Root vertical line
74
+ { d: "M 35,35 L 35,165", id: "root" },
75
+ // First level directories
76
+ { d: "M 35,55 L 75,55", id: "dir1" },
77
+ { d: "M 35,90 L 75,90", id: "dir2" },
78
+ { d: "M 35,125 L 75,125", id: "dir3" },
79
+ // Nested structure from dir1
80
+ { d: "M 75,55 L 75,80", id: "sub1" },
81
+ { d: "M 75,65 L 115,65", id: "file1" },
82
+ // Nested structure from dir2
83
+ { d: "M 75,90 L 75,115", id: "sub2" },
84
+ { d: "M 75,100 L 135,100", id: "file2" },
85
+ { d: "M 75,110 L 105,110", id: "file3" },
86
+ // Cross-references (dependencies)
87
+ { d: "M 115,65 L 155,45", id: "link1" },
88
+ { d: "M 135,100 L 165,80", id: "link2" },
89
+ ],
90
+ },
91
+ };