design-brain-memory 0.8.2 → 0.9.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.
Files changed (126) hide show
  1. package/dist/agentBrowser.d.ts +1 -0
  2. package/dist/agentBrowser.js +1 -0
  3. package/dist/agentBrowser.js.map +1 -1
  4. package/dist/classify.d.ts +21 -0
  5. package/dist/classify.js +205 -0
  6. package/dist/classify.js.map +1 -0
  7. package/dist/cli.js +216 -219
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands.d.ts +1 -60
  10. package/dist/commands.js +10 -322
  11. package/dist/commands.js.map +1 -1
  12. package/dist/extractFromUrl.d.ts +0 -7
  13. package/dist/extractFromUrl.js +353 -82
  14. package/dist/extractFromUrl.js.map +1 -1
  15. package/dist/index.d.ts +12 -24
  16. package/dist/index.js +11 -16
  17. package/dist/index.js.map +1 -1
  18. package/dist/llm.d.ts +6 -0
  19. package/dist/llm.js +12 -1
  20. package/dist/llm.js.map +1 -1
  21. package/dist/persona.d.ts +2 -0
  22. package/dist/persona.js +234 -0
  23. package/dist/persona.js.map +1 -0
  24. package/dist/query.js +6 -1
  25. package/dist/query.js.map +1 -1
  26. package/dist/render.d.ts +10 -2
  27. package/dist/render.js +175 -80
  28. package/dist/render.js.map +1 -1
  29. package/dist/scan.d.ts +10 -0
  30. package/dist/scan.js +393 -0
  31. package/dist/scan.js.map +1 -0
  32. package/dist/scanRenderer.d.ts +2 -0
  33. package/dist/scanRenderer.js +155 -0
  34. package/dist/scanRenderer.js.map +1 -0
  35. package/dist/skillPrompt.d.ts +3 -1
  36. package/dist/skillPrompt.js +148 -22
  37. package/dist/skillPrompt.js.map +1 -1
  38. package/dist/store.d.ts +5 -1
  39. package/dist/store.js +19 -0
  40. package/dist/store.js.map +1 -1
  41. package/dist/taste.d.ts +9 -0
  42. package/dist/taste.js +598 -0
  43. package/dist/taste.js.map +1 -0
  44. package/dist/tasteDiff.d.ts +19 -0
  45. package/dist/tasteDiff.js +340 -0
  46. package/dist/tasteDiff.js.map +1 -0
  47. package/dist/tasteGenerate.d.ts +12 -0
  48. package/dist/tasteGenerate.js +140 -0
  49. package/dist/tasteGenerate.js.map +1 -0
  50. package/dist/tasteRefine.d.ts +13 -0
  51. package/dist/tasteRefine.js +351 -0
  52. package/dist/tasteRefine.js.map +1 -0
  53. package/dist/tasteRenderer.d.ts +4 -0
  54. package/dist/tasteRenderer.js +133 -0
  55. package/dist/tasteRenderer.js.map +1 -0
  56. package/dist/theatrical.d.ts +5 -0
  57. package/dist/theatrical.js +258 -0
  58. package/dist/theatrical.js.map +1 -0
  59. package/dist/types.d.ts +196 -27
  60. package/package.json +4 -3
  61. package/skills/SKILL.md +36 -0
  62. package/skills/design-brain/SKILL.md +77 -0
  63. package/README.md +0 -242
  64. package/dist/aggregate.d.ts +0 -9
  65. package/dist/aggregate.js +0 -53
  66. package/dist/aggregate.js.map +0 -1
  67. package/dist/batch.d.ts +0 -16
  68. package/dist/batch.js +0 -44
  69. package/dist/batch.js.map +0 -1
  70. package/dist/compare.d.ts +0 -33
  71. package/dist/compare.js +0 -83
  72. package/dist/compare.js.map +0 -1
  73. package/dist/componentGraph.d.ts +0 -22
  74. package/dist/componentGraph.js +0 -106
  75. package/dist/componentGraph.js.map +0 -1
  76. package/dist/contextLayer.d.ts +0 -12
  77. package/dist/contextLayer.js +0 -263
  78. package/dist/contextLayer.js.map +0 -1
  79. package/dist/cssInJs.d.ts +0 -9
  80. package/dist/cssInJs.js +0 -124
  81. package/dist/cssInJs.js.map +0 -1
  82. package/dist/graphView.d.ts +0 -21
  83. package/dist/graphView.js +0 -492
  84. package/dist/graphView.js.map +0 -1
  85. package/dist/knowledge.d.ts +0 -20
  86. package/dist/knowledge.js +0 -208
  87. package/dist/knowledge.js.map +0 -1
  88. package/dist/liveView.d.ts +0 -15
  89. package/dist/liveView.js +0 -476
  90. package/dist/liveView.js.map +0 -1
  91. package/dist/moodboard.d.ts +0 -3
  92. package/dist/moodboard.js +0 -139
  93. package/dist/moodboard.js.map +0 -1
  94. package/dist/reviewChecklist.d.ts +0 -17
  95. package/dist/reviewChecklist.js +0 -126
  96. package/dist/reviewChecklist.js.map +0 -1
  97. package/dist/scorecard.d.ts +0 -48
  98. package/dist/scorecard.js +0 -201
  99. package/dist/scorecard.js.map +0 -1
  100. package/dist/styleDictionary.d.ts +0 -16
  101. package/dist/styleDictionary.js +0 -89
  102. package/dist/styleDictionary.js.map +0 -1
  103. package/dist/svg.d.ts +0 -5
  104. package/dist/svg.js +0 -162
  105. package/dist/svg.js.map +0 -1
  106. package/dist/systemDiff.d.ts +0 -28
  107. package/dist/systemDiff.js +0 -107
  108. package/dist/systemDiff.js.map +0 -1
  109. package/dist/tailwind.d.ts +0 -2
  110. package/dist/tailwind.js +0 -122
  111. package/dist/tailwind.js.map +0 -1
  112. package/dist/tokenNaming.d.ts +0 -5
  113. package/dist/tokenNaming.js +0 -229
  114. package/dist/tokenNaming.js.map +0 -1
  115. package/dist/tokens.d.ts +0 -17
  116. package/dist/tokens.js +0 -44
  117. package/dist/tokens.js.map +0 -1
  118. package/dist/trends.d.ts +0 -12
  119. package/dist/trends.js +0 -178
  120. package/dist/trends.js.map +0 -1
  121. package/dist/wiki.d.ts +0 -10
  122. package/dist/wiki.js +0 -346
  123. package/dist/wiki.js.map +0 -1
  124. package/dist/writingStyle.d.ts +0 -38
  125. package/dist/writingStyle.js +0 -224
  126. package/dist/writingStyle.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import fs from 'fs-extra';
3
3
  import { runAgentBrowserJson } from './agentBrowser.js';
4
+ import { classifyMotionIntent, detectPhysics, detectAnimationGroups, classifyGsapEasing } from './classify.js';
4
5
  const DEFAULT_VIEWPORTS = [
5
6
  { label: 'desktop', width: 1440, height: 1200 },
6
7
  { label: 'tablet', width: 1024, height: 1366 },
@@ -207,7 +208,6 @@ const EXTRACTION_SCRIPT = String.raw `(() => {
207
208
  selector,
208
209
  text: normalizeWhitespace(el.textContent || '').slice(0, 90),
209
210
  className: typeof el.className === 'string' ? normalizeWhitespace(el.className) : '',
210
- html: el.outerHTML.slice(0, 2048),
211
211
  styles: {
212
212
  color: style.color,
213
213
  backgroundColor: style.backgroundColor,
@@ -227,46 +227,12 @@ const EXTRACTION_SCRIPT = String.raw `(() => {
227
227
  const hasTransform = style.transform && style.transform !== 'none';
228
228
 
229
229
  if ((hasTransition || hasAnimation || hasTransform) && motionList.length < maxMotion) {
230
- const motionEntry = {
230
+ motionList.push({
231
231
  selector,
232
232
  transition: style.transition,
233
233
  animation: style.animation,
234
234
  transform: style.transform,
235
- };
236
-
237
- if (hasTransition) {
238
- const props = style.transitionProperty.split(',').map(s => s.trim());
239
- const durs = style.transitionDuration.split(',').map(s => s.trim());
240
- const funcs = style.transitionTimingFunction.split(',').map(s => s.trim());
241
- const delays = style.transitionDelay.split(',').map(s => s.trim());
242
- motionEntry.transitions = props.map((p, i) => ({
243
- property: p,
244
- duration: durs[i % durs.length] || '0s',
245
- timingFunction: funcs[i % funcs.length] || 'ease',
246
- delay: delays[i % delays.length] || '0s',
247
- }));
248
- }
249
-
250
- if (hasAnimation) {
251
- const names = style.animationName.split(',').map(s => s.trim());
252
- const durs = style.animationDuration.split(',').map(s => s.trim());
253
- const funcs = style.animationTimingFunction.split(',').map(s => s.trim());
254
- const delays = style.animationDelay.split(',').map(s => s.trim());
255
- const iters = style.animationIterationCount.split(',').map(s => s.trim());
256
- const dirs = style.animationDirection.split(',').map(s => s.trim());
257
- const fills = style.animationFillMode.split(',').map(s => s.trim());
258
- motionEntry.animations = names.map((n, i) => ({
259
- name: n,
260
- duration: durs[i % durs.length] || '0s',
261
- timingFunction: funcs[i % funcs.length] || 'ease',
262
- delay: delays[i % delays.length] || '0s',
263
- iterationCount: iters[i % iters.length] || '1',
264
- direction: dirs[i % dirs.length] || 'normal',
265
- fillMode: fills[i % fills.length] || 'none',
266
- }));
267
- }
268
-
269
- motionList.push(motionEntry);
235
+ });
270
236
  }
271
237
  });
272
238
 
@@ -330,35 +296,6 @@ const EXTRACTION_SCRIPT = String.raw `(() => {
330
296
 
331
297
  addPseudoStateStyles();
332
298
 
333
- const keyframeList = [];
334
- const seenKeyframes = new Set();
335
- const maxKeyframes = 60;
336
-
337
- for (const sheet of Array.from(document.styleSheets)) {
338
- let rules;
339
- try { rules = sheet.cssRules; } catch { continue; }
340
- if (!rules) continue;
341
-
342
- for (const rule of Array.from(rules)) {
343
- if (rule.constructor.name !== 'CSSKeyframesRule') continue;
344
- const kfRule = rule;
345
- const name = kfRule.name;
346
- if (seenKeyframes.has(name) || keyframeList.length >= maxKeyframes) continue;
347
- seenKeyframes.add(name);
348
-
349
- const steps = [];
350
- for (const kf of Array.from(kfRule.cssRules)) {
351
- const declarations = {};
352
- for (let i = 0; i < kf.style.length; i++) {
353
- const prop = kf.style[i];
354
- declarations[prop] = kf.style.getPropertyValue(prop);
355
- }
356
- steps.push({ offset: kf.keyText, declarations });
357
- }
358
- keyframeList.push({ name, steps });
359
- }
360
- }
361
-
362
299
  const colors = Array.from(colorMap.values()).sort((a, b) => b.count - a.count).slice(0, 70);
363
300
  const typography = Array.from(typographyMap.values()).sort((a, b) => b.count - a.count).slice(0, 90);
364
301
 
@@ -373,7 +310,6 @@ const EXTRACTION_SCRIPT = String.raw `(() => {
373
310
  typography,
374
311
  components: componentList,
375
312
  motion: motionList,
376
- keyframes: keyframeList,
377
313
  layout: layoutList,
378
314
  cssVariables: variableMap,
379
315
  stateStyles: stateStyleList,
@@ -389,6 +325,312 @@ const PAGE_SUMMARY_SCRIPT = String.raw `(() => {
389
325
  summary: [h1, 'nav-links:' + navCount, 'ctas:' + ctaCount].filter(Boolean).join(' | '),
390
326
  };
391
327
  })();`;
328
+ const ANIMATION_OBSERVER_SCRIPT = String.raw `(() => {
329
+ const maxAnimations = 200;
330
+ const result = {
331
+ libraries: [],
332
+ webAnimations: [],
333
+ gsapTweens: [],
334
+ lottiePlayers: [],
335
+ scrollBindings: {
336
+ hasScrollTrigger: false,
337
+ hasIntersectionObserver: false,
338
+ scrollTriggers: [],
339
+ hasScrollSnap: false,
340
+ hasScrollTimeline: false,
341
+ },
342
+ };
343
+
344
+ function buildSelector(el) {
345
+ if (!el || !el.tagName) return 'unknown';
346
+ const tag = el.tagName.toLowerCase();
347
+ if (el.id) return tag + '#' + el.id;
348
+ if (typeof el.className === 'string' && el.className.trim()) {
349
+ const firstClass = el.className.trim().split(/\s+/).slice(0, 2).join('.');
350
+ if (firstClass) return tag + '.' + firstClass;
351
+ }
352
+ return tag;
353
+ }
354
+
355
+ /* Layer 1: Library Detection */
356
+ try {
357
+ if (typeof gsap !== 'undefined') {
358
+ result.libraries.push({ name: 'gsap', version: typeof gsap.version === 'string' ? gsap.version : 'unknown' });
359
+ }
360
+ if (typeof ScrollTrigger !== 'undefined') {
361
+ result.libraries.push({ name: 'scrolltrigger', version: 'detected' });
362
+ result.scrollBindings.hasScrollTrigger = true;
363
+ }
364
+ if (typeof lottie !== 'undefined' || typeof bodymovin !== 'undefined') {
365
+ result.libraries.push({ name: 'lottie', version: 'detected' });
366
+ }
367
+ if (document.querySelector('lottie-player, dotlottie-player')) {
368
+ if (!result.libraries.some(function(l) { return l.name === 'lottie'; })) {
369
+ result.libraries.push({ name: 'lottie', version: 'web-component' });
370
+ }
371
+ }
372
+ if (document.querySelector('[data-framer-name], [data-framer-component-type]')) {
373
+ result.libraries.push({ name: 'framer-motion', version: 'detected' });
374
+ }
375
+ } catch(e) {}
376
+
377
+ /* Layer 2: Web Animations API */
378
+ try {
379
+ var animations = document.getAnimations();
380
+ for (var ai = 0; ai < Math.min(animations.length, maxAnimations); ai++) {
381
+ var anim = animations[ai];
382
+ var effect = anim.effect;
383
+ if (!effect || !effect.target) continue;
384
+
385
+ var target = effect.target;
386
+ var selector = buildSelector(target);
387
+
388
+ var keyframes = [];
389
+ try { keyframes = effect.getKeyframes(); } catch(e) {}
390
+
391
+ var computedTiming = {};
392
+ try { computedTiming = effect.getComputedTiming(); } catch(e) {}
393
+
394
+ var timelineType = 'document';
395
+ try {
396
+ if (anim.timeline && anim.timeline.constructor) {
397
+ var tlName = anim.timeline.constructor.name;
398
+ if (tlName === 'ScrollTimeline') timelineType = 'scroll';
399
+ else if (tlName === 'ViewTimeline') timelineType = 'view';
400
+ }
401
+ } catch(e) {}
402
+
403
+ if (timelineType !== 'document') {
404
+ result.scrollBindings.hasScrollTimeline = true;
405
+ }
406
+
407
+ result.webAnimations.push({
408
+ selector: selector,
409
+ playState: anim.playState,
410
+ animationName: anim.animationName || anim.id || '',
411
+ keyframes: keyframes.map(function(kf) {
412
+ var props = {};
413
+ for (var k in kf) {
414
+ if (k !== 'offset' && k !== 'computedOffset' && k !== 'easing' && k !== 'composite') {
415
+ props[k] = String(kf[k]);
416
+ }
417
+ }
418
+ return {
419
+ offset: kf.computedOffset != null ? kf.computedOffset : (kf.offset || 0),
420
+ properties: props,
421
+ easing: kf.easing || 'linear',
422
+ };
423
+ }),
424
+ timing: {
425
+ duration: typeof computedTiming.duration === 'number' ? computedTiming.duration : 0,
426
+ delay: computedTiming.delay || 0,
427
+ easing: computedTiming.easing || 'linear',
428
+ iterations: computedTiming.iterations != null ? computedTiming.iterations : 1,
429
+ direction: computedTiming.direction || 'normal',
430
+ fillMode: computedTiming.fill || 'none',
431
+ },
432
+ timelineType: timelineType,
433
+ });
434
+ }
435
+ } catch(e) {}
436
+
437
+ /* Layer 3: GSAP Introspection */
438
+ try {
439
+ if (typeof gsap !== 'undefined' && gsap.globalTimeline) {
440
+ var children = gsap.globalTimeline.getChildren(true, true, false);
441
+ for (var gi = 0; gi < Math.min(children.length, maxAnimations); gi++) {
442
+ var tween = children[gi];
443
+ var targets = tween.targets ? tween.targets() : [];
444
+ if (targets.length === 0) continue;
445
+
446
+ var gsSelector = buildSelector(targets[0]);
447
+ var vars = {};
448
+ if (tween.vars) {
449
+ for (var vk in tween.vars) {
450
+ var vv = tween.vars[vk];
451
+ if (typeof vv === 'number' || typeof vv === 'string') {
452
+ vars[vk] = vv;
453
+ }
454
+ }
455
+ }
456
+
457
+ result.gsapTweens.push({
458
+ selector: gsSelector,
459
+ duration: typeof tween.duration === 'function' ? tween.duration() : 0,
460
+ delay: typeof tween.delay === 'function' ? tween.delay() : 0,
461
+ ease: tween.vars && tween.vars.ease ? tween.vars.ease : 'power1.out',
462
+ vars: vars,
463
+ startTime: typeof tween.startTime === 'function' ? tween.startTime() : 0,
464
+ });
465
+ }
466
+ }
467
+ } catch(e) {}
468
+
469
+ /* Layer 4: Lottie Extraction */
470
+ try {
471
+ var lottieRef = (typeof lottie !== 'undefined') ? lottie : ((typeof bodymovin !== 'undefined') ? bodymovin : null);
472
+ if (lottieRef && typeof lottieRef.getRegisteredAnimations === 'function') {
473
+ var registered = lottieRef.getRegisteredAnimations();
474
+ for (var li = 0; li < Math.min(registered.length, 20); li++) {
475
+ var la = registered[li];
476
+ var container = la.wrapper || la.container;
477
+ result.lottiePlayers.push({
478
+ selector: container ? buildSelector(container) : 'lottie-unknown',
479
+ frameRate: la.frameRate || (la.animationData && la.animationData.fr) || 0,
480
+ totalFrames: la.totalFrames || (la.animationData && la.animationData.op) || 0,
481
+ duration: typeof la.getDuration === 'function' ? la.getDuration(false) : 0,
482
+ });
483
+ }
484
+ }
485
+
486
+ var players = document.querySelectorAll('lottie-player, dotlottie-player');
487
+ for (var pi = 0; pi < Math.min(players.length, 20); pi++) {
488
+ var pSelector = buildSelector(players[pi]);
489
+ if (!result.lottiePlayers.some(function(l) { return l.selector === pSelector; })) {
490
+ result.lottiePlayers.push({ selector: pSelector, frameRate: 0, totalFrames: 0, duration: 0 });
491
+ }
492
+ }
493
+ } catch(e) {}
494
+
495
+ /* Layer 5: Passive Scroll Detection */
496
+ try {
497
+ if (typeof ScrollTrigger !== 'undefined' && typeof ScrollTrigger.getAll === 'function') {
498
+ var triggers = ScrollTrigger.getAll();
499
+ for (var si = 0; si < Math.min(triggers.length, 50); si++) {
500
+ var st = triggers[si];
501
+ result.scrollBindings.scrollTriggers.push({
502
+ triggerSelector: st.trigger ? buildSelector(st.trigger) : '',
503
+ isActive: !!st.isActive,
504
+ });
505
+ }
506
+ }
507
+ } catch(e) {}
508
+
509
+ try {
510
+ var scrollSnap = window.getComputedStyle(document.documentElement).scrollSnapType;
511
+ if (scrollSnap && scrollSnap !== 'none') {
512
+ result.scrollBindings.hasScrollSnap = true;
513
+ }
514
+ } catch(e) {}
515
+
516
+ return result;
517
+ })();`;
518
+ function convertObserverResult(raw) {
519
+ const tokens = [];
520
+ const libraryNames = new Set(raw.libraries.map((l) => l.name));
521
+ // Convert Web Animations API results
522
+ for (const wa of raw.webAnimations) {
523
+ const intent = classifyMotionIntent(wa.keyframes);
524
+ let library = 'css';
525
+ if (libraryNames.has('framer-motion')) {
526
+ library = 'framer-motion';
527
+ }
528
+ const token = {
529
+ selector: wa.selector,
530
+ library,
531
+ motionIntent: intent,
532
+ timing: {
533
+ duration: wa.timing.duration,
534
+ delay: wa.timing.delay,
535
+ easing: wa.timing.easing,
536
+ iterations: wa.timing.iterations === Infinity ? Infinity : wa.timing.iterations,
537
+ direction: wa.timing.direction,
538
+ fillMode: wa.timing.fillMode,
539
+ },
540
+ keyframes: wa.keyframes,
541
+ trigger: wa.timelineType === 'scroll' || wa.timelineType === 'view' ? 'scroll' : 'load',
542
+ };
543
+ if (wa.timelineType !== 'document') {
544
+ token.scrollBinding = {
545
+ hasScrollTrigger: false,
546
+ hasIntersectionObserver: false,
547
+ scrollTimelineAxis: 'block',
548
+ };
549
+ }
550
+ // Detect physics from keyframes
551
+ const allProps = new Set();
552
+ for (const kf of wa.keyframes) {
553
+ for (const prop of Object.keys(kf.properties))
554
+ allProps.add(prop);
555
+ }
556
+ if (allProps.has('transform')) {
557
+ for (const fnName of ['translateX', 'translateY', 'scale', 'rotate']) {
558
+ const physics = detectPhysics(wa.keyframes, fnName);
559
+ if (physics) {
560
+ token.physics = physics;
561
+ token.motionIntent = physics.type === 'spring' ? 'spring' : 'bounce';
562
+ break;
563
+ }
564
+ }
565
+ }
566
+ tokens.push(token);
567
+ }
568
+ // Convert GSAP tweens
569
+ for (const tween of raw.gsapTweens) {
570
+ const token = {
571
+ selector: tween.selector,
572
+ library: 'gsap',
573
+ motionIntent: 'complex',
574
+ timing: {
575
+ duration: tween.duration * 1000,
576
+ delay: tween.delay * 1000,
577
+ easing: tween.ease || 'power1.out',
578
+ iterations: 1,
579
+ direction: 'normal',
580
+ fillMode: 'none',
581
+ },
582
+ trigger: 'load',
583
+ gsapVars: tween.vars,
584
+ };
585
+ const physics = classifyGsapEasing(tween.ease);
586
+ if (physics) {
587
+ token.physics = physics;
588
+ token.motionIntent = physics.type === 'spring' ? 'spring' : 'bounce';
589
+ }
590
+ else {
591
+ const varKeys = Object.keys(tween.vars);
592
+ if (varKeys.some((k) => ['x', 'y', 'xPercent', 'yPercent'].includes(k))) {
593
+ token.motionIntent = 'slide';
594
+ }
595
+ else if (varKeys.some((k) => ['scale', 'scaleX', 'scaleY'].includes(k))) {
596
+ token.motionIntent = 'scale';
597
+ }
598
+ else if (varKeys.some((k) => ['rotation', 'rotationX', 'rotationY'].includes(k))) {
599
+ token.motionIntent = 'rotate';
600
+ }
601
+ else if (varKeys.includes('opacity')) {
602
+ token.motionIntent = 'fade';
603
+ }
604
+ }
605
+ if (raw.scrollBindings.hasScrollTrigger) {
606
+ const matchingTrigger = raw.scrollBindings.scrollTriggers.find((st) => st.triggerSelector === tween.selector);
607
+ if (matchingTrigger) {
608
+ token.trigger = 'scroll';
609
+ token.scrollBinding = {
610
+ triggerSelector: matchingTrigger.triggerSelector,
611
+ hasScrollTrigger: true,
612
+ hasIntersectionObserver: false,
613
+ };
614
+ }
615
+ }
616
+ tokens.push(token);
617
+ }
618
+ // Convert Lottie players
619
+ for (const lp of raw.lottiePlayers) {
620
+ tokens.push({
621
+ selector: lp.selector,
622
+ library: 'lottie',
623
+ motionIntent: 'complex',
624
+ trigger: 'load',
625
+ lottieMetadata: {
626
+ frameRate: lp.frameRate,
627
+ totalFrames: lp.totalFrames,
628
+ duration: lp.duration,
629
+ },
630
+ });
631
+ }
632
+ return tokens;
633
+ }
392
634
  function normalizeResult(result) {
393
635
  return {
394
636
  pageTitle: result.pageTitle ?? undefined,
@@ -398,7 +640,6 @@ function normalizeResult(result) {
398
640
  typography: result.typography ?? [],
399
641
  components: result.components ?? [],
400
642
  motion: result.motion ?? [],
401
- keyframes: result.keyframes ?? [],
402
643
  layout: result.layout ?? [],
403
644
  cssVariables: result.cssVariables ?? {},
404
645
  stateStyles: result.stateStyles ?? [],
@@ -437,7 +678,6 @@ function mergeAnalysis(all) {
437
678
  }
438
679
  const componentMap = new Map();
439
680
  const motionMap = new Map();
440
- const keyframeMap = new Map();
441
681
  const layoutMap = new Map();
442
682
  const stateMap = new Map();
443
683
  const cssVariables = {};
@@ -450,16 +690,13 @@ function mergeAnalysis(all) {
450
690
  }
451
691
  }
452
692
  for (const motion of entry.motion) {
453
- const key = `${motion.selector}|${motion.transition}|${motion.animation}|${motion.transform}`;
693
+ const key = ('library' in motion && 'motionIntent' in motion)
694
+ ? `${motion.selector}|${motion.library}|${motion.motionIntent}`
695
+ : `${motion.selector}|${motion.transition}|${motion.animation}|${motion.transform}`;
454
696
  if (!motionMap.has(key)) {
455
697
  motionMap.set(key, motion);
456
698
  }
457
699
  }
458
- for (const kf of entry.keyframes ?? []) {
459
- if (!keyframeMap.has(kf.name)) {
460
- keyframeMap.set(kf.name, kf);
461
- }
462
- }
463
700
  for (const layout of entry.layout) {
464
701
  const key = `${layout.tag}|${layout.selector}|${layout.role}`;
465
702
  if (!layoutMap.has(key)) {
@@ -481,7 +718,6 @@ function mergeAnalysis(all) {
481
718
  typography: [...typographyMap.values()].sort((a, b) => b.count - a.count).slice(0, 120),
482
719
  components: [...componentMap.values()].slice(0, 260),
483
720
  motion: [...motionMap.values()].slice(0, 260),
484
- keyframes: [...keyframeMap.values()].slice(0, 80),
485
721
  layout: [...layoutMap.values()].slice(0, 220),
486
722
  cssVariables,
487
723
  stateStyles: [...stateMap.values()].slice(0, 300),
@@ -601,7 +837,6 @@ async function collectJourney(params) {
601
837
  title: summaryData.title,
602
838
  summary: summaryData.summary,
603
839
  });
604
- params.onStep?.(i + 1, toUrl);
605
840
  await runAgentBrowserJson(['back'], {
606
841
  session: params.sessionName,
607
842
  cwd: params.workingDir,
@@ -615,7 +850,7 @@ async function collectJourney(params) {
615
850
  return steps;
616
851
  }
617
852
  export async function captureDesignFromUrl(params) {
618
- const { url, sessionName, screenshotPath, workingDir, journeySteps = 3, responsiveViewports = DEFAULT_VIEWPORTS, callbacks, } = params;
853
+ const { url, sessionName, screenshotPath, workingDir, journeySteps = 3, responsiveViewports = DEFAULT_VIEWPORTS, } = params;
619
854
  await fs.ensureDir(path.dirname(screenshotPath));
620
855
  await runAgentBrowserJson(['open', url], { session: sessionName, cwd: workingDir });
621
856
  try {
@@ -640,12 +875,45 @@ export async function captureDesignFromUrl(params) {
640
875
  const normalized = normalizeResult(extraction.data.result ?? {});
641
876
  captures.push(normalized);
642
877
  responsiveSnapshots.push(toResponsiveSnapshot(viewport.label, normalized));
643
- callbacks?.onViewportExtracted?.(viewport.label, normalized);
644
878
  }
645
879
  await runAgentBrowserJson(['set', 'viewport', '1440', '1200'], {
646
880
  session: sessionName,
647
881
  cwd: workingDir,
648
882
  }).catch(() => undefined);
883
+ // Scroll through the page to trigger lazy-loaded animation libraries (GSAP, ScrollTrigger, etc.)
884
+ try {
885
+ const pageInfo = await runAgentBrowserJson(['eval',
886
+ `({ height: Math.max(document.body.scrollHeight, document.documentElement.scrollHeight), vh: window.innerHeight })`
887
+ ], { session: sessionName, cwd: workingDir });
888
+ const { height = 5000, vh = 800 } = pageInfo.data.result ?? {};
889
+ const scrollSteps = Math.min(Math.ceil(height / vh), 15);
890
+ const stepSize = Math.ceil(height / scrollSteps);
891
+ for (let i = 1; i <= scrollSteps; i++) {
892
+ await runAgentBrowserJson(['eval', `window.scrollTo({top:${i * stepSize},behavior:"instant"});true`], { session: sessionName, cwd: workingDir });
893
+ await runAgentBrowserJson(['wait', '200'], { session: sessionName, cwd: workingDir });
894
+ }
895
+ await runAgentBrowserJson(['eval', 'window.scrollTo({top:0,behavior:"instant"});true'], { session: sessionName, cwd: workingDir });
896
+ await runAgentBrowserJson(['wait', '1500'], { session: sessionName, cwd: workingDir });
897
+ }
898
+ catch {
899
+ // Scroll is best-effort; continue to animation capture
900
+ }
901
+ // Run animation observer script (once, at desktop viewport)
902
+ let animationTokens = [];
903
+ try {
904
+ const animResult = await runAgentBrowserJson(['eval', ANIMATION_OBSERVER_SCRIPT], {
905
+ session: sessionName,
906
+ cwd: workingDir,
907
+ });
908
+ if (animResult.success && animResult.data.result) {
909
+ const rawAnimData = animResult.data.result;
910
+ animationTokens = convertObserverResult(rawAnimData);
911
+ animationTokens = detectAnimationGroups(animationTokens);
912
+ }
913
+ }
914
+ catch {
915
+ // Animation capture is best-effort; don't fail the whole extraction
916
+ }
649
917
  const snapshotResult = await runAgentBrowserJson(['snapshot', '-c', '-d', '3'], {
650
918
  session: sessionName,
651
919
  cwd: workingDir,
@@ -654,22 +922,25 @@ export async function captureDesignFromUrl(params) {
654
922
  sessionName,
655
923
  workingDir,
656
924
  });
657
- callbacks?.onInteractiveStates?.(interactiveStates.length);
658
925
  const journey = await collectJourney({
659
926
  sessionName,
660
927
  workingDir,
661
928
  maxSteps: journeySteps,
662
- onStep: callbacks?.onJourneyStep,
663
929
  });
664
930
  await runAgentBrowserJson(['screenshot', screenshotPath, '--full'], {
665
931
  session: sessionName,
666
932
  cwd: workingDir,
667
933
  });
668
934
  const merged = mergeAnalysis(captures);
669
- callbacks?.onMerged?.(merged);
670
935
  const stateStyles = [...(merged.stateStyles ?? []), ...interactiveStates].slice(0, 400);
936
+ // Merge: prefer new AnimationTokens, fall back to legacy MotionTokens
937
+ const mergedMotion = [
938
+ ...animationTokens,
939
+ ...merged.motion.filter((legacyToken) => !animationTokens.some((at) => at.selector === legacyToken.selector)),
940
+ ];
671
941
  return {
672
942
  ...merged,
943
+ motion: mergedMotion,
673
944
  accessibilitySnapshot: snapshotResult.data.snapshot ?? undefined,
674
945
  responsiveSnapshots,
675
946
  stateStyles,
@@ -1 +1 @@
1
- {"version":3,"file":"extractFromUrl.js","sourceRoot":"","sources":["../src/extractFromUrl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractFromUrl.js","sourceRoot":"","sources":["../src/extractFromUrl.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,25 +1,13 @@
1
- export { batchCapture, parseBatchFile } from './batch.js';
2
- export { analyzeWritingStyleCmd, askBrain, buildGraphView, buildWiki, generateContext, compareCaptures, detectAndWriteTrends, exportDesignSystem, generateComponentGraphCmd, generateMoodboard, generateReviewChecklist, initBrain, ingestInspiration, nameTokensCmd, recordOutcome, reindexBrain, runSystemDiff, searchBrain, } from './commands.js';
3
- export { compareInspirations, renderComparison } from './compare.js';
4
- export { generateDesignContext, generateUnifiedContext } from './contextLayer.js';
5
- export { buildComponentGraph, renderComponentGraphMd } from './componentGraph.js';
6
- export type { ComponentGraph, ComponentEdge, CoOccurrence } from './componentGraph.js';
7
- export { generateCssInJsTheme, renderCssInJsTheme } from './cssInJs.js';
8
- export { buildKnowledgeGraph, generateGraphHtml } from './graphView.js';
9
- export type { KnowledgeGraph, GraphNode, GraphEdge } from './graphView.js';
10
- export type { CssInJsTheme } from './cssInJs.js';
11
- export { generateMoodboardHtml, generateMoodboardSvg } from './moodboard.js';
1
+ export { askBrain, initBrain, ingestInspiration, recordOutcome, reindexBrain, searchBrain, } from './commands.js';
12
2
  export { askDesignBrain, searchDesignBrain } from './query.js';
13
- export { buildChecklist, renderChecklist } from './reviewChecklist.js';
14
- export type { ReviewChecklist, ChecklistItem } from './reviewChecklist.js';
15
- export { scanCssContent, scoreAgainstProject, renderScorecard, runScorecard } from './scorecard.js';
16
- export { diffProjects, diffTemporal, renderSystemDiff } from './systemDiff.js';
17
- export type { SystemDiff, TemporalDiff } from './systemDiff.js';
18
- export { nameColor, nameTypographySize, nameMotionDuration, nameTokens } from './tokenNaming.js';
19
- export { generateProjectWiki, generateSharedContextWiki, generateWikiIndex, countSharedTokens } from './wiki.js';
20
- export type { WikiResult } from './wiki.js';
21
- export { detectTrends, writeTrendNotes } from './trends.js';
22
- export { analyzeWritingStyle, aggregateWritingStyles, renderWritingStyleMd } from './writingStyle.js';
23
- export type { WritingStyleToken, HeadingPattern, CtaPattern, TextLevel } from './writingStyle.js';
24
- export { generateStyleDictionary } from './styleDictionary.js';
25
- export type { ColorToken, ComponentToken, DesignAnalysis, DesignBrainDatabase, InspirationDiff, InspirationRecord, LayoutToken, LlmConfig, LlmEnrichment, MotionToken, OutcomeRecord, ProjectRecord, ResponsiveSnapshot, StateStyleToken, TypographyToken, } from './types.js';
3
+ export { scanDesignSystem, scanFromUrl, looksLikeUrl, normalizeToUrl, designAnalysisToScanTokens } from './scan.js';
4
+ export { assignPersona } from './persona.js';
5
+ export { aggregateColors, aggregateTypography, aggregateComponents, aggregateMotion } from './render.js';
6
+ export { runDesignLlm } from './llm.js';
7
+ export { loadTasteProfile, saveTasteProfile } from './store.js';
8
+ export { buildTasteProfile } from './taste.js';
9
+ export { computeTasteDiff, scoreTaste, cherryPickComponent } from './tasteDiff.js';
10
+ export { detectConflicts, nextClarifyingQuestion, applyDecision } from './tasteRefine.js';
11
+ export { generateDesignTokens, generateFromTaste } from './tasteGenerate.js';
12
+ export { renderTasteProfile, renderTasteProfileCompact, renderTasteDiff } from './tasteRenderer.js';
13
+ export type { ColorToken, ComponentCherryPick, ComponentToken, DesignAnalysis, DesignBrainDatabase, InspirationDiff, InspirationRecord, LayoutToken, LlmConfig, LlmEnrichment, MotionToken, OutcomeRecord, PersonaMatch, ProjectRecord, ResponsiveSnapshot, ScanResult, ScanScore, ScanTokens, TasteConflict, TasteDecision, TasteDiffResult, TasteProfile, StateStyleToken, TypographyToken, } from './types.js';