feat(capture): improve capture quality + clean up CLAUDE.md

Capture improvements:
- Font weights via document.fonts API + DOM sampling (variable font detection)
- Section background-image extraction (no more false #FFFFFF on hero photos)
- Detected libraries surfaced in CLAUDE.md brand summary
- Structured visible-text.txt with [tag] prefixes, cookie/nav noise filtered
- tokens.json cleaned: removed images/paragraphs/icons (duplicated elsewhere),
  filtered sections to heading-only, trimmed cssVariables to design-relevant
- Removed redundant scroll pass in htmlExtractor (2-5s faster per capture)
- Font cap at 20 families, Placeholder/Fallback fonts filtered

CLAUDE.md rewrite:
- Removed prescriptive tone ("use exact strings" → "rephrase freely")
- Removed fluff sections (How to Create, DESIGN.md warning, Example Prompts,
  Source Patterns)
- asset-descriptions.md promoted to first data row
- Removed assets-catalog.json from inventory

Skill fixes:
- Dead shader refs → point to packages/shader-transitions/README.md
- Google Fonts import in techniques.md → local @font-face placeholder
- Added Stripe DESIGN.md as light-brand example
- Removed HANDOFF.md generation from step-7
- Updated step-1 for new font weight + visible-text formats
This commit is contained in:
ukimsanov
2026-04-18 18:48:37 -04:00
parent 5cb3726f27
commit 92a5ef419b
15 changed files with 249 additions and 210 deletions
+2
View File
@@ -60,6 +60,7 @@ export async function generateProjectScaffold(
catalogedAssets: CatalogedAsset[],
progress: (stage: string, detail?: string) => void,
warnings: string[],
detectedLibraries?: string[],
): Promise<void> {
// Capture output is a DATA folder, not a video project.
// The agent builds index.html + compositions/ during step 6.
@@ -89,6 +90,7 @@ export async function generateProjectScaffold(
hasLotties,
hasShaders,
catalogedAssets,
detectedLibraries,
);
progress("agent", "CLAUDE.md generated");
} catch (err) {