design-brain-memory 0.9.3 → 0.9.4

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 (125) hide show
  1. package/README.md +273 -0
  2. package/dist/agentBrowser.d.ts +0 -1
  3. package/dist/agentBrowser.js +13 -31
  4. package/dist/agentBrowser.js.map +1 -1
  5. package/dist/aggregate.d.ts +9 -0
  6. package/dist/aggregate.js +53 -0
  7. package/dist/aggregate.js.map +1 -0
  8. package/dist/batch.d.ts +16 -0
  9. package/dist/batch.js +44 -0
  10. package/dist/batch.js.map +1 -0
  11. package/dist/cli.js +250 -216
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands.d.ts +60 -1
  14. package/dist/commands.js +323 -10
  15. package/dist/commands.js.map +1 -1
  16. package/dist/compare.d.ts +33 -0
  17. package/dist/compare.js +83 -0
  18. package/dist/compare.js.map +1 -0
  19. package/dist/componentGraph.d.ts +22 -0
  20. package/dist/componentGraph.js +106 -0
  21. package/dist/componentGraph.js.map +1 -0
  22. package/dist/contextLayer.d.ts +12 -0
  23. package/dist/contextLayer.js +263 -0
  24. package/dist/contextLayer.js.map +1 -0
  25. package/dist/cssInJs.d.ts +9 -0
  26. package/dist/cssInJs.js +124 -0
  27. package/dist/cssInJs.js.map +1 -0
  28. package/dist/extractFromUrl.d.ts +8 -0
  29. package/dist/extractFromUrl.js +508 -414
  30. package/dist/extractFromUrl.js.map +1 -1
  31. package/dist/graphView.d.ts +21 -0
  32. package/dist/graphView.js +492 -0
  33. package/dist/graphView.js.map +1 -0
  34. package/dist/index.d.ts +26 -11
  35. package/dist/index.js +17 -10
  36. package/dist/index.js.map +1 -1
  37. package/dist/knowledge.d.ts +20 -0
  38. package/dist/knowledge.js +208 -0
  39. package/dist/knowledge.js.map +1 -0
  40. package/dist/liveView.d.ts +15 -0
  41. package/dist/liveView.js +475 -0
  42. package/dist/liveView.js.map +1 -0
  43. package/dist/llm.js +1 -9
  44. package/dist/llm.js.map +1 -1
  45. package/dist/moodboard.d.ts +3 -0
  46. package/dist/moodboard.js +152 -0
  47. package/dist/moodboard.js.map +1 -0
  48. package/dist/persona.d.ts +2 -2
  49. package/dist/persona.js +82 -210
  50. package/dist/persona.js.map +1 -1
  51. package/dist/query.js +1 -6
  52. package/dist/query.js.map +1 -1
  53. package/dist/render.d.ts +2 -10
  54. package/dist/render.js +80 -175
  55. package/dist/render.js.map +1 -1
  56. package/dist/reviewChecklist.d.ts +17 -0
  57. package/dist/reviewChecklist.js +126 -0
  58. package/dist/reviewChecklist.js.map +1 -0
  59. package/dist/scan.d.ts +19 -7
  60. package/dist/scan.js +132 -374
  61. package/dist/scan.js.map +1 -1
  62. package/dist/scorecard.d.ts +53 -0
  63. package/dist/scorecard.js +325 -0
  64. package/dist/scorecard.js.map +1 -0
  65. package/dist/skillPrompt.d.ts +1 -3
  66. package/dist/skillPrompt.js +22 -148
  67. package/dist/skillPrompt.js.map +1 -1
  68. package/dist/store.d.ts +2 -2
  69. package/dist/store.js +7 -9
  70. package/dist/store.js.map +1 -1
  71. package/dist/styleDictionary.d.ts +16 -0
  72. package/dist/styleDictionary.js +89 -0
  73. package/dist/styleDictionary.js.map +1 -0
  74. package/dist/svg.d.ts +5 -0
  75. package/dist/svg.js +162 -0
  76. package/dist/svg.js.map +1 -0
  77. package/dist/systemDiff.d.ts +28 -0
  78. package/dist/systemDiff.js +107 -0
  79. package/dist/systemDiff.js.map +1 -0
  80. package/dist/tailwind.d.ts +2 -0
  81. package/dist/tailwind.js +122 -0
  82. package/dist/tailwind.js.map +1 -0
  83. package/dist/taste.d.ts +3 -2
  84. package/dist/taste.js +349 -536
  85. package/dist/taste.js.map +1 -1
  86. package/dist/tasteRenderer.d.ts +2 -3
  87. package/dist/tasteRenderer.js +123 -119
  88. package/dist/tasteRenderer.js.map +1 -1
  89. package/dist/tokenNaming.d.ts +5 -0
  90. package/dist/tokenNaming.js +229 -0
  91. package/dist/tokenNaming.js.map +1 -0
  92. package/dist/tokens.d.ts +17 -0
  93. package/dist/tokens.js +44 -0
  94. package/dist/tokens.js.map +1 -0
  95. package/dist/trends.d.ts +12 -0
  96. package/dist/trends.js +178 -0
  97. package/dist/trends.js.map +1 -0
  98. package/dist/types.d.ts +47 -101
  99. package/dist/wiki.d.ts +10 -0
  100. package/dist/wiki.js +346 -0
  101. package/dist/wiki.js.map +1 -0
  102. package/dist/writingStyle.d.ts +38 -0
  103. package/dist/writingStyle.js +224 -0
  104. package/dist/writingStyle.js.map +1 -0
  105. package/package.json +5 -4
  106. package/dist/classify.d.ts +0 -21
  107. package/dist/classify.js +0 -205
  108. package/dist/classify.js.map +0 -1
  109. package/dist/scanRenderer.d.ts +0 -2
  110. package/dist/scanRenderer.js +0 -155
  111. package/dist/scanRenderer.js.map +0 -1
  112. package/dist/tasteDiff.d.ts +0 -19
  113. package/dist/tasteDiff.js +0 -340
  114. package/dist/tasteDiff.js.map +0 -1
  115. package/dist/tasteGenerate.d.ts +0 -12
  116. package/dist/tasteGenerate.js +0 -140
  117. package/dist/tasteGenerate.js.map +0 -1
  118. package/dist/tasteRefine.d.ts +0 -13
  119. package/dist/tasteRefine.js +0 -351
  120. package/dist/tasteRefine.js.map +0 -1
  121. package/dist/theatrical.d.ts +0 -5
  122. package/dist/theatrical.js +0 -258
  123. package/dist/theatrical.js.map +0 -1
  124. package/skills/SKILL.md +0 -36
  125. package/skills/design-brain/SKILL.md +0 -77
@@ -0,0 +1,152 @@
1
+ import { aggregateColors, aggregateTypography, aggregateComponents, aggregateMotion } from './aggregate.js';
2
+ function parseDurationSeconds(value) {
3
+ const match = value.trim().match(/^(\d+(?:\.\d+)?)(ms|s)$/i);
4
+ if (!match) {
5
+ return null;
6
+ }
7
+ const amount = Number.parseFloat(match[1]);
8
+ if (!Number.isFinite(amount)) {
9
+ return null;
10
+ }
11
+ return match[2].toLowerCase() === 'ms' ? amount / 1000 : amount;
12
+ }
13
+ export function generateMoodboardHtml(project) {
14
+ if (project.inspirations.length === 0) {
15
+ return `<!DOCTYPE html>
16
+ <html lang="en"><head><meta charset="utf-8"><title>${project.name} Moodboard</title>
17
+ <style>body{font-family:system-ui,sans-serif;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0}
18
+ .empty{text-align:center;opacity:0.5}</style></head>
19
+ <body><div class="empty"><h1>${project.name}</h1><p>No captures yet. Run <code>design-brain-memory ingest</code> to start.</p></div></body></html>`;
20
+ }
21
+ const colors = aggregateColors(project.inspirations).slice(0, 10);
22
+ const typography = aggregateTypography(project.inspirations).slice(0, 3);
23
+ const components = aggregateComponents(project.inspirations).slice(0, 6);
24
+ const motion = aggregateMotion(project.inspirations);
25
+ const avgDuration = motion.length > 0
26
+ ? (motion.reduce((sum, m) => {
27
+ const durations = (m.transitions ?? [])
28
+ .map((t) => parseDurationSeconds(t.duration))
29
+ .filter((value) => value !== null);
30
+ return sum + (durations.length > 0 ? durations.reduce((a, b) => a + b, 0) / durations.length : 0);
31
+ }, 0) / motion.length).toFixed(2)
32
+ : '0';
33
+ const topEasing = motion.length > 0
34
+ ? (motion.flatMap((m) => (m.transitions ?? []).map((t) => t.timingFunction))
35
+ .reduce((acc, fn) => { acc.set(fn, (acc.get(fn) ?? 0) + 1); return acc; }, new Map()))
36
+ : new Map();
37
+ const topEasingName = topEasing.size > 0
38
+ ? [...topEasing.entries()].sort((a, b) => b[1] - a[1])[0][0]
39
+ : 'none';
40
+ const transitionCount = motion.filter((m) => m.transition && m.transition !== 'none').length;
41
+ const animationCount = motion.filter((m) => m.animation && m.animation !== 'none').length;
42
+ const colorSwatches = colors.map((c) => `<div class="swatch" style="background:${c.hex}"><span class="hex">${c.hex}</span><span class="freq">${c.count}</span></div>`).join('\n');
43
+ const typoSpecimens = typography.map((t) => {
44
+ const family = t.fontFamily.split(',')[0].trim().replace(/['"]/g, '');
45
+ return `<div class="typo-specimen">
46
+ <div class="typo-heading" style="font-family:${t.fontFamily}">${family}</div>
47
+ <div class="typo-body" style="font-family:${t.fontFamily};font-size:${t.fontSize};font-weight:${t.fontWeight};line-height:${t.lineHeight}">The quick brown fox jumps over the lazy dog.</div>
48
+ <div class="typo-meta">${t.fontSize} / ${t.fontWeight} / ${t.lineHeight}</div>
49
+ </div>`;
50
+ }).join('\n');
51
+ const componentBadges = components.map((c) => `<span class="badge">${c.kind} <small>(${c.count})</small></span>`).join('\n');
52
+ const sourceNames = project.inspirations.map((i) => i.name).join(', ');
53
+ return `<!DOCTYPE html>
54
+ <html lang="en"><head><meta charset="utf-8"><title>${project.name} Moodboard</title>
55
+ <style>
56
+ *{box-sizing:border-box;margin:0;padding:0}
57
+ body{font-family:system-ui,-apple-system,sans-serif;background:#0a0a0a;color:#e0e0e0;padding:2rem}
58
+ h1{font-size:1.8rem;font-weight:700;margin-bottom:.5rem}
59
+ h2{font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#888;margin-bottom:1rem;border-bottom:1px solid #222;padding-bottom:.5rem}
60
+ .grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1200px;margin:0 auto}
61
+ .section{background:#141414;border-radius:12px;padding:1.5rem;border:1px solid #222}
62
+ .section.full{grid-column:1/3}
63
+ .palette{display:flex;gap:.5rem;flex-wrap:wrap}
64
+ .swatch{width:80px;height:80px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:6px;position:relative;overflow:hidden}
65
+ .swatch::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.5));pointer-events:none}
66
+ .hex{font-size:10px;font-weight:600;z-index:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}
67
+ .freq{font-size:9px;z-index:1;color:rgba(255,255,255,.7)}
68
+ .typo-specimen{margin-bottom:1.5rem}
69
+ .typo-heading{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}
70
+ .typo-body{margin-bottom:.25rem;color:#aaa}
71
+ .typo-meta{font-size:.75rem;color:#555}
72
+ .badge{display:inline-block;background:#1a1a2e;border:1px solid #333;border-radius:20px;padding:6px 14px;margin:4px;font-size:.85rem}
73
+ .badge small{color:#666}
74
+ .motion-stat{display:flex;gap:2rem;flex-wrap:wrap}
75
+ .motion-stat div{text-align:center}
76
+ .motion-stat .val{font-size:1.5rem;font-weight:700;color:#fff}
77
+ .motion-stat .lbl{font-size:.75rem;color:#666}
78
+ .footer{text-align:center;margin-top:2rem;color:#444;font-size:.75rem}
79
+ </style></head>
80
+ <body>
81
+ <div class="grid">
82
+ <div class="section full"><h1>${project.name}</h1><p style="color:#666;margin-top:.25rem">Moodboard &mdash; ${project.inspirations.length} capture${project.inspirations.length !== 1 ? 's' : ''}</p></div>
83
+ <div class="section full"><h2>Color Palette</h2><div class="palette">${colorSwatches}</div></div>
84
+ <div class="section"><h2>Typography</h2>${typoSpecimens || '<p style="color:#555">No typography captured</p>'}</div>
85
+ <div class="section"><h2>Components</h2><div>${componentBadges || '<p style="color:#555">No components captured</p>'}</div></div>
86
+ <div class="section full"><h2>Motion</h2><div class="motion-stat">
87
+ <div><div class="val">${avgDuration}s</div><div class="lbl">Avg Duration</div></div>
88
+ <div><div class="val">${topEasingName}</div><div class="lbl">Top Easing</div></div>
89
+ <div><div class="val">${transitionCount}</div><div class="lbl">Transitions</div></div>
90
+ <div><div class="val">${animationCount}</div><div class="lbl">Animations</div></div>
91
+ </div></div>
92
+ <div class="section full"><div class="footer">Sources: ${sourceNames} &mdash; Generated by design-brain-memory</div></div>
93
+ </div>
94
+ </body></html>`;
95
+ }
96
+ export function generateMoodboardSvg(project) {
97
+ if (project.inspirations.length === 0) {
98
+ return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 200"><rect width="800" height="200" fill="#111"/><text x="400" y="100" text-anchor="middle" fill="#666" font-family="system-ui" font-size="16">${project.name} — No captures</text></svg>`;
99
+ }
100
+ const colors = aggregateColors(project.inspirations).slice(0, 10);
101
+ const typography = aggregateTypography(project.inspirations).slice(0, 3);
102
+ const components = aggregateComponents(project.inspirations).slice(0, 6);
103
+ const W = 800;
104
+ let y = 0;
105
+ const lines = [];
106
+ // Title
107
+ y += 40;
108
+ lines.push(`<text x="20" y="${y}" fill="#fff" font-family="system-ui" font-size="22" font-weight="700">${project.name}</text>`);
109
+ y += 16;
110
+ lines.push(`<text x="20" y="${y}" fill="#888" font-family="system-ui" font-size="12">${project.inspirations.length} capture${project.inspirations.length !== 1 ? 's' : ''}</text>`);
111
+ y += 30;
112
+ // Color swatches
113
+ lines.push(`<text x="20" y="${y}" fill="#888" font-family="system-ui" font-size="11" text-transform="uppercase">COLOR PALETTE</text>`);
114
+ y += 15;
115
+ colors.forEach((c, i) => {
116
+ const x = 20 + i * 72;
117
+ lines.push(`<rect x="${x}" y="${y}" width="64" height="64" rx="6" fill="${c.hex}"/>`);
118
+ lines.push(`<text x="${x + 32}" y="${y + 78}" text-anchor="middle" fill="#aaa" font-family="monospace" font-size="9">${c.hex}</text>`);
119
+ });
120
+ y += 95;
121
+ // Typography
122
+ lines.push(`<text x="20" y="${y}" fill="#888" font-family="system-ui" font-size="11">TYPOGRAPHY</text>`);
123
+ y += 20;
124
+ for (const t of typography) {
125
+ const family = t.fontFamily.split(',')[0].trim().replace(/['"]/g, '');
126
+ lines.push(`<text x="20" y="${y}" fill="#fff" font-family="${t.fontFamily}" font-size="16" font-weight="${t.fontWeight}">${family} — ${t.fontSize}</text>`);
127
+ y += 24;
128
+ }
129
+ y += 15;
130
+ // Components
131
+ lines.push(`<text x="20" y="${y}" fill="#888" font-family="system-ui" font-size="11">COMPONENTS</text>`);
132
+ y += 20;
133
+ let cx = 20;
134
+ for (const c of components) {
135
+ const label = `${c.kind} (${c.count})`;
136
+ const w = label.length * 7 + 20;
137
+ lines.push(`<rect x="${cx}" y="${y - 14}" width="${w}" height="22" rx="11" fill="none" stroke="#444"/>`);
138
+ lines.push(`<text x="${cx + w / 2}" y="${y}" text-anchor="middle" fill="#ccc" font-family="system-ui" font-size="11">${label}</text>`);
139
+ cx += w + 8;
140
+ if (cx > W - 100) {
141
+ cx = 20;
142
+ y += 30;
143
+ }
144
+ }
145
+ y += 35;
146
+ // Footer
147
+ const sourceNames = project.inspirations.map((i) => i.name).join(', ');
148
+ lines.push(`<text x="${W / 2}" y="${y}" text-anchor="middle" fill="#555" font-family="system-ui" font-size="10">Sources: ${sourceNames}</text>`);
149
+ y += 20;
150
+ return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${W} ${y}"><rect width="${W}" height="${y}" fill="#0a0a0a"/>${lines.join('')}</svg>`;
151
+ }
152
+ //# sourceMappingURL=moodboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moodboard.js","sourceRoot":"","sources":["../src/moodboard.ts"],"names":[],"mappings":"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"}
package/dist/persona.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import type { PersonaMatch, ScanTokens } from './types.js';
2
- export declare function assignPersona(tokens: ScanTokens): PersonaMatch;
1
+ import type { PersonaMatch, ScanScore } from './types.js';
2
+ export declare function assignPersona(score: ScanScore): PersonaMatch;
package/dist/persona.js CHANGED
@@ -1,234 +1,106 @@
1
- function hexToHsl(hex) {
2
- const clean = hex.replace('#', '');
3
- if (clean.length !== 6 && clean.length !== 3)
4
- return null;
5
- const full = clean.length === 3
6
- ? clean[0] + clean[0] + clean[1] + clean[1] + clean[2] + clean[2]
7
- : clean;
8
- const r = parseInt(full.slice(0, 2), 16) / 255;
9
- const g = parseInt(full.slice(2, 4), 16) / 255;
10
- const b = parseInt(full.slice(4, 6), 16) / 255;
11
- const max = Math.max(r, g, b);
12
- const min = Math.min(r, g, b);
13
- const l = (max + min) / 2;
14
- if (max === min)
15
- return { h: 0, s: 0, l };
16
- const d = max - min;
17
- const s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
18
- let h = 0;
19
- if (max === r)
20
- h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
21
- else if (max === g)
22
- h = ((b - r) / d + 2) / 6;
23
- else
24
- h = ((r - g) / d + 4) / 6;
25
- return { h: h * 360, s, l };
26
- }
27
- function extractSignals(tokens) {
28
- const uniqueColorCount = tokens.colors.length;
29
- const cssVarUsage = tokens.cssVariableCount > 0;
30
- const typographyVariety = tokens.fontFamilies.length;
31
- const motionCount = tokens.transitions.length;
32
- const hasFramework = tokens.framework !== null;
33
- // Spacing grid alignment: what fraction of values are multiples of 4px
34
- let gridAligned = 0;
35
- let totalSpacing = 0;
36
- for (const val of tokens.spacingValues) {
37
- const nums = val.match(/(\d+(?:\.\d+)?)/g);
38
- if (!nums)
39
- continue;
40
- for (const n of nums) {
41
- const px = parseFloat(n);
42
- if (px > 0) {
43
- totalSpacing++;
44
- if (px % 4 === 0)
45
- gridAligned++;
46
- }
47
- }
48
- }
49
- const spacingGridAlignment = totalSpacing > 0 ? gridAligned / totalSpacing : 0;
50
- // Monochrome check: ≤3 distinct hue buckets (30-degree buckets)
51
- const hueBuckets = new Set();
52
- for (const color of tokens.colors) {
53
- const hsl = hexToHsl(color);
54
- if (!hsl)
55
- continue;
56
- if (hsl.s < 0.1)
57
- continue; // skip grays
58
- hueBuckets.add(Math.floor(hsl.h / 30));
59
- }
60
- const isMonochrome = hueBuckets.size <= 3;
61
- return {
62
- uniqueColorCount,
63
- cssVarUsage,
64
- spacingGridAlignment,
65
- typographyVariety,
66
- isMonochrome,
67
- motionCount,
68
- hasFramework,
69
- };
70
- }
71
- // Clamp to 0–1
72
- function clamp01(n) {
73
- return Math.max(0, Math.min(1, n));
74
- }
75
1
  const PERSONAS = [
76
2
  {
77
- name: 'Jony Ive',
78
- tagline: 'Less, but better \u2014 with a unibody finish',
79
- score: (s) => {
80
- let v = 0;
81
- // Low color count rewards
82
- v += clamp01(1 - s.uniqueColorCount / 20) * 0.25;
83
- // CSS variable usage (systemization)
84
- v += s.cssVarUsage ? 0.15 : 0;
85
- // Monochrome palette
86
- v += s.isMonochrome ? 0.2 : 0;
87
- // Grid-aligned spacing
88
- v += s.spacingGridAlignment * 0.2;
89
- // Minimal typography
90
- v += clamp01(1 - s.typographyVariety / 5) * 0.1;
91
- // Minimal motion (not zero, but restrained)
92
- v += (s.motionCount > 0 && s.motionCount <= 8) ? 0.1 : 0;
93
- return clamp01(v);
94
- },
95
- reasoning: (s) => `Your codebase shows restrained color use (${s.uniqueColorCount} unique colors), ` +
96
- `${s.isMonochrome ? 'monochromatic palette, ' : ''}` +
97
- `and ${s.typographyVariety <= 2 ? 'minimal' : 'moderate'} typography \u2014 ` +
98
- `hallmarks of Ive's reductive design philosophy.`,
99
- },
100
- {
101
- name: 'Dieter Rams',
102
- tagline: 'Good design is as little design as possible',
103
- score: (s) => {
104
- let v = 0;
105
- // Strong grid alignment
106
- v += s.spacingGridAlignment * 0.3;
107
- // Few colors
108
- v += clamp01(1 - s.uniqueColorCount / 15) * 0.2;
109
- // Systematic (CSS vars)
110
- v += s.cssVarUsage ? 0.2 : 0;
111
- // Very few fonts (1-2)
112
- v += s.typographyVariety <= 2 ? 0.2 : (s.typographyVariety <= 3 ? 0.1 : 0);
113
- // No excess motion
114
- v += s.motionCount <= 3 ? 0.1 : 0;
115
- return clamp01(v);
3
+ id: 'jony-ive',
4
+ label: 'Jony Ive',
5
+ description: '"Less, but better" — refined minimalism with premium polish',
6
+ match: (s) => {
7
+ let c = 0;
8
+ if (s.color >= 70)
9
+ c += 0.3;
10
+ if (s.spacing >= 80)
11
+ c += 0.3;
12
+ if (s.typography >= 70)
13
+ c += 0.2;
14
+ if (s.motion >= 50 && s.motion <= 80)
15
+ c += 0.2;
16
+ return c;
116
17
  },
117
- reasoning: (s) => `Strong grid alignment (${Math.round(s.spacingGridAlignment * 100)}% on grid), ` +
118
- `${s.cssVarUsage ? 'systematic CSS variables, ' : ''}` +
119
- `and ${s.typographyVariety} font ${s.typographyVariety === 1 ? 'family' : 'families'} \u2014 ` +
120
- `your design is honest, functional, and unobtrusive.`,
121
18
  },
122
19
  {
123
- name: 'Virgil Abloh',
124
- tagline: 'Everything in quotes \u2014 design is a DJ set',
125
- score: (s) => {
126
- let v = 0;
127
- // Mixed fonts (variety is good)
128
- v += clamp01(s.typographyVariety / 5) * 0.25;
129
- // Off-grid spacing (low alignment)
130
- v += clamp01(1 - s.spacingGridAlignment) * 0.2;
131
- // Bold color variety
132
- v += clamp01(s.uniqueColorCount / 20) * 0.25;
133
- // Not monochrome
134
- v += s.isMonochrome ? 0 : 0.15;
135
- // Some motion
136
- v += s.motionCount > 3 ? 0.15 : 0;
137
- return clamp01(v);
20
+ id: 'dieter-rams',
21
+ label: 'Dieter Rams',
22
+ description: '"Good design is as little design as possible" — systematic clarity',
23
+ match: (s) => {
24
+ let c = 0;
25
+ if (s.spacing >= 85)
26
+ c += 0.35;
27
+ if (s.typography >= 75)
28
+ c += 0.3;
29
+ if (s.color >= 60 && s.color <= 85)
30
+ c += 0.2;
31
+ if (s.motion <= 50)
32
+ c += 0.15;
33
+ return c;
138
34
  },
139
- reasoning: (s) => `${s.typographyVariety} font families, ${s.uniqueColorCount} colors, and ` +
140
- `${Math.round((1 - s.spacingGridAlignment) * 100)}% off-grid spacing \u2014 ` +
141
- `your design remixes conventions with bold, eclectic energy.`,
142
35
  },
143
36
  {
144
- name: 'Ye',
145
- tagline: 'No More Parties in LA \u2014 but make it brutalist',
146
- score: (s) => {
147
- let v = 0;
148
- // Extreme minimalism (very few colors) OR extreme maximalism (lots)
149
- const extremeMin = s.uniqueColorCount <= 4;
150
- const extremeMax = s.uniqueColorCount >= 25;
151
- v += (extremeMin || extremeMax) ? 0.25 : 0;
152
- // Few fonts (1-2)
153
- v += s.typographyVariety <= 2 ? 0.15 : 0;
154
- // Strong contrast (monochrome or very bold)
155
- v += s.isMonochrome ? 0.1 : (s.uniqueColorCount >= 25 ? 0.1 : 0);
156
- // No framework (raw, custom)
157
- v += s.hasFramework ? 0 : 0.1;
158
- // Little to no motion (brutalist)
159
- v += s.motionCount <= 2 ? 0.15 : 0;
160
- // Anti-systematic: CSS vars and grid alignment indicate polish, not brutalism
161
- if (s.cssVarUsage)
162
- v -= 0.15;
163
- if (s.spacingGridAlignment > 0.5)
164
- v -= 0.1;
165
- return clamp01(v);
37
+ id: 'massimo-vignelli',
38
+ label: 'Massimo Vignelli',
39
+ description: '"Design is one" — typographic discipline and grid mastery',
40
+ match: (s) => {
41
+ let c = 0;
42
+ if (s.typography >= 85)
43
+ c += 0.4;
44
+ if (s.spacing >= 80)
45
+ c += 0.3;
46
+ if (s.color >= 50 && s.color <= 75)
47
+ c += 0.15;
48
+ if (s.motion <= 40)
49
+ c += 0.15;
50
+ return c;
166
51
  },
167
- reasoning: (s) => `${s.uniqueColorCount <= 4 ? 'Extreme minimalism' : s.uniqueColorCount >= 25 ? 'Extreme maximalism' : 'Bold choices'} ` +
168
- `with ${s.typographyVariety} font ${s.typographyVariety === 1 ? 'family' : 'families'}` +
169
- `${s.motionCount <= 2 ? ' and zero-frills motion' : ''} \u2014 ` +
170
- `raw, uncompromising, brutalist energy.`,
171
52
  },
172
53
  {
173
- name: 'Paula Scher',
174
- tagline: 'Make it bigger \u2014 typography IS the design',
175
- score: (s) => {
176
- let v = 0;
177
- // High typography variety
178
- v += clamp01(s.typographyVariety / 5) * 0.3;
179
- // Bold color palette (many colors)
180
- v += clamp01(s.uniqueColorCount / 15) * 0.25;
181
- // Not monochrome
182
- v += s.isMonochrome ? 0 : 0.2;
183
- // Expressive motion
184
- v += s.motionCount > 5 ? 0.15 : (s.motionCount > 2 ? 0.08 : 0);
185
- // Font sizes variety as proxy (uses fontSizes from scan)
186
- v += 0.1; // base bonus for expressive intent
187
- return clamp01(v);
54
+ id: 'paula-scher',
55
+ label: 'Paula Scher',
56
+ description: '"Make it bigger" — bold expression with systematic structure',
57
+ match: (s) => {
58
+ let c = 0;
59
+ if (s.color >= 80)
60
+ c += 0.35;
61
+ if (s.typography >= 60)
62
+ c += 0.2;
63
+ if (s.motion >= 60)
64
+ c += 0.25;
65
+ if (s.spacing >= 50)
66
+ c += 0.2;
67
+ return c;
188
68
  },
189
- reasoning: (s) => `${s.typographyVariety} font families and ${s.uniqueColorCount} colors ` +
190
- `${s.motionCount > 5 ? 'with expressive motion ' : ''}` +
191
- `create a bold, typographic-first design language.`,
192
69
  },
193
70
  {
194
- name: 'Massimo Vignelli',
195
- tagline: 'One typeface is enough \u2014 if it\'s Helvetica',
196
- score: (s) => {
197
- let v = 0;
198
- // Very few fonts (ideally 1-2)
199
- v += s.typographyVariety <= 2 ? 0.35 : (s.typographyVariety === 3 ? 0.15 : 0);
200
- // Systematic spacing
201
- v += s.spacingGridAlignment * 0.25;
202
- // Neutral/restrained palette
203
- v += clamp01(1 - s.uniqueColorCount / 12) * 0.2;
204
- // CSS vars (systematic)
205
- v += s.cssVarUsage ? 0.1 : 0;
206
- // No decoration (low motion)
207
- v += s.motionCount <= 2 ? 0.1 : 0;
208
- return clamp01(v);
71
+ id: 'mike-monteiro',
72
+ label: 'Mike Monteiro',
73
+ description: '"Design is a job" — pragmatic, accessible, no-nonsense craft',
74
+ match: (s) => {
75
+ let c = 0;
76
+ if (s.overall >= 50 && s.overall <= 75)
77
+ c += 0.3;
78
+ if (s.spacing >= 60)
79
+ c += 0.25;
80
+ if (s.typography >= 55)
81
+ c += 0.25;
82
+ if (s.color >= 40)
83
+ c += 0.2;
84
+ return c;
209
85
  },
210
- reasoning: (s) => `${s.typographyVariety} font ${s.typographyVariety === 1 ? 'family' : 'families'}, ` +
211
- `${Math.round(s.spacingGridAlignment * 100)}% grid-aligned spacing, and ` +
212
- `${s.uniqueColorCount} colors \u2014 ` +
213
- `systematic, disciplined, timeless.`,
214
86
  },
215
87
  ];
216
- export function assignPersona(tokens) {
217
- const signals = extractSignals(tokens);
218
- let best = PERSONAS[0];
219
- let bestScore = -1;
88
+ export function assignPersona(score) {
89
+ let best = {
90
+ persona: PERSONAS[PERSONAS.length - 1],
91
+ confidence: 0,
92
+ };
220
93
  for (const persona of PERSONAS) {
221
- const s = persona.score(signals);
222
- if (s > bestScore) {
223
- bestScore = s;
224
- best = persona;
94
+ const confidence = persona.match(score);
95
+ if (confidence > best.confidence) {
96
+ best = { persona, confidence };
225
97
  }
226
98
  }
227
99
  return {
228
- name: best.name,
229
- tagline: best.tagline,
230
- score: bestScore,
231
- reasoning: best.reasoning(signals),
100
+ id: best.persona.id,
101
+ label: best.persona.label,
102
+ description: best.persona.description,
103
+ confidence: Math.min(1, Math.round(best.confidence * 100) / 100),
232
104
  };
233
105
  }
234
106
  //# sourceMappingURL=persona.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persona.js","sourceRoot":"","sources":["../src/persona.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persona.js","sourceRoot":"","sources":["../src/persona.ts"],"names":[],"mappings":"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"}
package/dist/query.js CHANGED
@@ -72,12 +72,7 @@ export async function searchDesignBrain(params) {
72
72
  ...(inspiration.llmEnrichment?.componentPatterns ?? []),
73
73
  inspiration.analysis.colors.map((color) => color.hex).join(' '),
74
74
  inspiration.analysis.components.map((component) => component.kind).join(' '),
75
- inspiration.analysis.motion.map((m) => {
76
- if ('library' in m && 'motionIntent' in m) {
77
- return `${m.motionIntent} ${m.library} ${m.selector}`;
78
- }
79
- return `${m.transition} ${m.animation}`;
80
- }).join(' '),
75
+ inspiration.analysis.motion.map((motion) => `${motion.transition} ${motion.animation}`).join(' '),
81
76
  inspiration.analysis.stateStyles && inspiration.analysis.stateStyles.length > 0 ? 'interaction states hover focus active' : '',
82
77
  (inspiration.analysis.stateStyles ?? []).map((state) => `${state.selector} ${state.state}`).join(' '),
83
78
  (inspiration.analysis.responsiveSnapshots ?? []).map((snap) => `${snap.label} ${snap.viewport.width}x${snap.viewport.height}`).join(' '),
package/dist/query.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
package/dist/render.d.ts CHANGED
@@ -1,10 +1,2 @@
1
- import type { AnimationToken, ColorToken, ComponentToken, DesignBrainDatabase, InspirationRecord, MotionToken, TypographyToken } from './types.js';
2
- export declare function aggregateColors(records: InspirationRecord[]): ColorToken[];
3
- export declare function aggregateTypography(records: InspirationRecord[]): TypographyToken[];
4
- export declare function aggregateComponents(records: InspirationRecord[]): Array<ComponentToken & {
5
- count: number;
6
- }>;
7
- export declare function aggregateMotion(records: InspirationRecord[]): Array<(MotionToken | AnimationToken) & {
8
- count: number;
9
- }>;
10
- export declare function renderAll(rootDir: string, db: DesignBrainDatabase): Promise<void>;
1
+ import type { DesignBrainDatabase } from './types.js';
2
+ export declare function renderAll(rootDir: string, db: DesignBrainDatabase, skipVisuals?: boolean): Promise<void>;