howone 0.1.29 → 0.1.31
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.
- package/package.json +1 -1
- package/templates/vite/.howone/skills/hallmark/SKILL.md +48 -42
- package/templates/vite/.howone/skills/hallmark/references/anti-patterns.md +12 -6
- package/templates/vite/.howone/skills/hallmark/references/assets.md +7 -0
- package/templates/vite/.howone/skills/hallmark/references/component-cookbook.md +19 -10
- package/templates/vite/.howone/skills/hallmark/references/components/f2-sticky-scroll-stack.md +1 -1
- package/templates/vite/.howone/skills/hallmark/references/components/ft6-letter-close.md +1 -1
- package/templates/vite/.howone/skills/hallmark/references/components/h7-demo-video-clipped-by-viewport-edge.md +1 -1
- package/templates/vite/.howone/skills/hallmark/references/components/h9-custom-illustration-centerpiece.md +1 -1
- package/templates/vite/.howone/skills/hallmark/references/components/n10-floating-on-scroll-morph.md +1 -1
- package/templates/vite/.howone/skills/hallmark/references/components/n11-mega-menu.md +40 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n12-banner-retract.md +34 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n13-inline-cmdk-pill.md +39 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n1b-saas-three-section.md +35 -0
- package/templates/vite/.howone/skills/hallmark/references/components/n9-edge-aligned-minimal.md +1 -1
- package/templates/vite/.howone/skills/hallmark/references/components/s3-sticky-pinned.md +2 -2
- package/templates/vite/.howone/skills/hallmark/references/copy.md +8 -8
- package/templates/vite/.howone/skills/hallmark/references/custom-craft.md +2 -2
- package/templates/vite/.howone/skills/hallmark/references/custom-theme.md +50 -12
- package/templates/vite/.howone/skills/hallmark/references/export-formats.md +1 -1
- package/templates/vite/.howone/skills/hallmark/references/genres/atmospheric.md +11 -7
- package/templates/vite/.howone/skills/hallmark/references/genres/editorial.md +6 -4
- package/templates/vite/.howone/skills/hallmark/references/genres/modern-minimal.md +10 -6
- package/templates/vite/.howone/skills/hallmark/references/genres/playful.md +15 -10
- package/templates/vite/.howone/skills/hallmark/references/hero-enrichment.md +13 -12
- package/templates/vite/.howone/skills/hallmark/references/interaction-and-states.md +2 -1
- package/templates/vite/.howone/skills/hallmark/references/layout-and-space.md +4 -3
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/04-stat-led.md +3 -1
- package/templates/vite/.howone/skills/hallmark/references/macrostructures/12-letter.md +1 -1
- package/templates/vite/.howone/skills/hallmark/references/macrostructures.md +1 -1
- package/templates/vite/.howone/skills/hallmark/references/microinteractions.md +1 -3
- package/templates/vite/.howone/skills/hallmark/references/preview-examples.md +12 -12
- package/templates/vite/.howone/skills/hallmark/references/responsive.md +8 -8
- package/templates/vite/.howone/skills/hallmark/references/slop-test.md +72 -85
- package/templates/vite/.howone/skills/hallmark/references/structure.md +9 -13
- package/templates/vite/.howone/skills/hallmark/references/study.md +40 -17
- package/templates/vite/.howone/skills/hallmark/references/themes/carnival.md +301 -0
- package/templates/vite/.howone/skills/hallmark/references/themes/cobalt.md +146 -0
- package/templates/vite/.howone/skills/hallmark/references/themes/hum.md +403 -0
- package/templates/vite/.howone/skills/hallmark/references/themes/lumen.md +478 -0
- package/templates/vite/.howone/skills/hallmark/references/typography.md +3 -3
- package/templates/vite/.howone/skills/hallmark/references/verbs/redesign.md +1 -1
- package/templates/vite/.howone/skills/howone/01-architect/01-app-generation.md +132 -176
- package/templates/vite/.howone/skills/howone/{02-database → 02-entity-schema}/01-schema-design.md +3 -1
- package/templates/vite/.howone/skills/howone/{04-ai → 03-ai-capabilities}/01-ai-capability-architecture.md +6 -5
- package/templates/vite/.howone/skills/howone/{04-ai/04-service-capability-catalog.md → 03-ai-capabilities/03-service-capability-catalog.md} +15 -11
- package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/01-client-setup.md +6 -4
- package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/07-ai-action-calls.md +3 -3
- package/templates/vite/.howone/skills/howone/{04-ai/03-ai-sdk-handoff.md → 04-app-sdk/08-ai-manifest-handoff.md} +2 -2
- package/templates/vite/.howone/skills/howone/SKILL.md +98 -131
- package/templates/vite/.howone/skills/howone/agents/openai.yaml +3 -3
- package/templates/vite/AGENTS.md +2 -2
- package/templates/vite/.howone/skills/hallmark/LICENSE +0 -21
- package/templates/vite/.howone/skills/hallmark/README.md +0 -147
- package/templates/vite/.howone/skills/hallmark/ROADMAP.md +0 -201
- package/templates/vite/.howone/skills/hallmark/docs/recipes.md +0 -186
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-anya.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-bananastudio.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-hyperlane.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-najm.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-slow-pour.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-soroe.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-tally.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/screenshots/hero-wayfare.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/docs/study-examples.md +0 -176
- package/templates/vite/.howone/skills/hallmark/docs/talk-slides.md +0 -364
- package/templates/vite/.howone/skills/hallmark/package.json +0 -36
- package/templates/vite/.howone/skills/hallmark/site/OG-hallmark.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/brief.md +0 -71
- package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/index.html +0 -64
- package/templates/vite/.howone/skills/hallmark/site/_tests/01-tide-podcast/style.css +0 -240
- package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/brief.md +0 -65
- package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/index.html +0 -105
- package/templates/vite/.howone/skills/hallmark/site/_tests/02-streampipe-cli/style.css +0 -250
- package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/brief.md +0 -64
- package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/index.html +0 -131
- package/templates/vite/.howone/skills/hallmark/site/_tests/03-maple-bakery/style.css +0 -240
- package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/brief.md +0 -67
- package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/index.html +0 -86
- package/templates/vite/.howone/skills/hallmark/site/_tests/04-meridian-manifesto/style.css +0 -262
- package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/brief.md +0 -63
- package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/index.html +0 -167
- package/templates/vite/.howone/skills/hallmark/site/_tests/05-tracejam-saas/style.css +0 -457
- package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/brief.md +0 -65
- package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/index.html +0 -159
- package/templates/vite/.howone/skills/hallmark/site/_tests/06-anya-portfolio/style.css +0 -288
- package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/brief.md +0 -64
- package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/index.html +0 -146
- package/templates/vite/.howone/skills/hallmark/site/_tests/07-foundry-compliance/style.css +0 -484
- package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/brief.md +0 -64
- package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/index.html +0 -116
- package/templates/vite/.howone/skills/hallmark/site/_tests/08-cohort-courses/style.css +0 -354
- package/templates/vite/.howone/skills/hallmark/site/_tests/09-slow-pour/index.html +0 -638
- package/templates/vite/.howone/skills/hallmark/site/_tests/10-owl-hours/index.html +0 -515
- package/templates/vite/.howone/skills/hallmark/site/_tests/11-soroe-ceramics/index.html +0 -515
- package/templates/vite/.howone/skills/hallmark/site/_tests/12-loafer/index.html +0 -608
- package/templates/vite/.howone/skills/hallmark/site/_tests/13-alma/index.html +0 -587
- package/templates/vite/.howone/skills/hallmark/site/_tests/README.md +0 -157
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/BananaStudio-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-example.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Hyperlane-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Najm-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Podcast-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/SaaS-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/Soroe-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/after-quiet-hour.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/anya-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/audit-example.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/before-quiet-hour.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/example-redesign-uractivation.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/slow-pour-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/study-example.png +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/uractivation-after-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-loop.mp4 +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/_thumbs/wayfare-still.jpg +0 -0
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/index.html +0 -77
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/01-coffeebox/style.css +0 -238
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/index.html +0 -110
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/02-loop/style.css +0 -326
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/index.html +0 -134
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/03-mossroot/style.css +0 -262
- package/templates/vite/.howone/skills/hallmark/site/_tests/custom/README.md +0 -30
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/README.md +0 -17
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/audit-report.md +0 -56
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/input.html +0 -160
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/audit/notes.md +0 -29
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/input.html +0 -63
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/notes.md +0 -72
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/redesign/output.html +0 -374
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/diagnosis.md +0 -52
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/input-description.md +0 -29
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/notes.md +0 -61
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.css +0 -193
- package/templates/vite/.howone/skills/hallmark/site/_tests/verbs/study/output.html +0 -66
- package/templates/vite/.howone/skills/hallmark/site/css/base.css +0 -194
- package/templates/vite/.howone/skills/hallmark/site/css/components.css +0 -4886
- package/templates/vite/.howone/skills/hallmark/site/css/sections.css +0 -2072
- package/templates/vite/.howone/skills/hallmark/site/css/tokens.css +0 -1129
- package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/index.html +0 -475
- package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/styles.css +0 -1584
- package/templates/vite/.howone/skills/hallmark/site/examples/bananastudio/tokens.css +0 -96
- package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/index.html +0 -344
- package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/script.js +0 -103
- package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/styles.css +0 -1103
- package/templates/vite/.howone/skills/hallmark/site/examples/hyperlane/tokens.css +0 -83
- package/templates/vite/.howone/skills/hallmark/site/examples/najm/index.html +0 -368
- package/templates/vite/.howone/skills/hallmark/site/examples/najm/script.js +0 -133
- package/templates/vite/.howone/skills/hallmark/site/examples/najm/styles.css +0 -1062
- package/templates/vite/.howone/skills/hallmark/site/examples/najm/tokens.css +0 -97
- package/templates/vite/.howone/skills/hallmark/site/examples/tally/app.js +0 -84
- package/templates/vite/.howone/skills/hallmark/site/examples/tally/index.html +0 -446
- package/templates/vite/.howone/skills/hallmark/site/examples/tally/styles.css +0 -1087
- package/templates/vite/.howone/skills/hallmark/site/examples/tally/tokens.css +0 -101
- package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/index.html +0 -359
- package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/style.css +0 -1168
- package/templates/vite/.howone/skills/hallmark/site/examples/wayfare/tokens.css +0 -81
- package/templates/vite/.howone/skills/hallmark/site/favicon-dark.svg +0 -5
- package/templates/vite/.howone/skills/hallmark/site/favicon-light.svg +0 -5
- package/templates/vite/.howone/skills/hallmark/site/index.html +0 -1043
- package/templates/vite/.howone/skills/hallmark/site/js/main.js +0 -1175
- package/templates/vite/.howone/skills/hallmark/vercel.json +0 -6
- package/templates/vite/.howone/skills/impeccable/SKILL.md +0 -168
- package/templates/vite/.howone/skills/impeccable/agents/impeccable-asset-producer.md +0 -101
- package/templates/vite/.howone/skills/impeccable/reference/adapt.md +0 -190
- package/templates/vite/.howone/skills/impeccable/reference/animate.md +0 -175
- package/templates/vite/.howone/skills/impeccable/reference/audit.md +0 -133
- package/templates/vite/.howone/skills/impeccable/reference/bolder.md +0 -113
- package/templates/vite/.howone/skills/impeccable/reference/brand.md +0 -118
- package/templates/vite/.howone/skills/impeccable/reference/clarify.md +0 -174
- package/templates/vite/.howone/skills/impeccable/reference/codex.md +0 -105
- package/templates/vite/.howone/skills/impeccable/reference/cognitive-load.md +0 -106
- package/templates/vite/.howone/skills/impeccable/reference/color-and-contrast.md +0 -105
- package/templates/vite/.howone/skills/impeccable/reference/colorize.md +0 -154
- package/templates/vite/.howone/skills/impeccable/reference/craft.md +0 -123
- package/templates/vite/.howone/skills/impeccable/reference/critique.md +0 -273
- package/templates/vite/.howone/skills/impeccable/reference/delight.md +0 -302
- package/templates/vite/.howone/skills/impeccable/reference/distill.md +0 -111
- package/templates/vite/.howone/skills/impeccable/reference/document.md +0 -427
- package/templates/vite/.howone/skills/impeccable/reference/extract.md +0 -69
- package/templates/vite/.howone/skills/impeccable/reference/harden.md +0 -347
- package/templates/vite/.howone/skills/impeccable/reference/heuristics-scoring.md +0 -234
- package/templates/vite/.howone/skills/impeccable/reference/interaction-design.md +0 -195
- package/templates/vite/.howone/skills/impeccable/reference/layout.md +0 -141
- package/templates/vite/.howone/skills/impeccable/reference/live.md +0 -622
- package/templates/vite/.howone/skills/impeccable/reference/motion-design.md +0 -109
- package/templates/vite/.howone/skills/impeccable/reference/onboard.md +0 -234
- package/templates/vite/.howone/skills/impeccable/reference/optimize.md +0 -258
- package/templates/vite/.howone/skills/impeccable/reference/overdrive.md +0 -130
- package/templates/vite/.howone/skills/impeccable/reference/personas.md +0 -179
- package/templates/vite/.howone/skills/impeccable/reference/polish.md +0 -242
- package/templates/vite/.howone/skills/impeccable/reference/product.md +0 -62
- package/templates/vite/.howone/skills/impeccable/reference/quieter.md +0 -99
- package/templates/vite/.howone/skills/impeccable/reference/responsive-design.md +0 -114
- package/templates/vite/.howone/skills/impeccable/reference/shape.md +0 -165
- package/templates/vite/.howone/skills/impeccable/reference/spatial-design.md +0 -100
- package/templates/vite/.howone/skills/impeccable/reference/teach.md +0 -156
- package/templates/vite/.howone/skills/impeccable/reference/typeset.md +0 -124
- package/templates/vite/.howone/skills/impeccable/reference/typography.md +0 -159
- package/templates/vite/.howone/skills/impeccable/reference/ux-writing.md +0 -107
- package/templates/vite/.howone/skills/impeccable/scripts/cleanup-deprecated.mjs +0 -284
- package/templates/vite/.howone/skills/impeccable/scripts/command-metadata.json +0 -94
- package/templates/vite/.howone/skills/impeccable/scripts/critique-storage.mjs +0 -242
- package/templates/vite/.howone/skills/impeccable/scripts/design-parser.mjs +0 -820
- package/templates/vite/.howone/skills/impeccable/scripts/detect-csp.mjs +0 -198
- package/templates/vite/.howone/skills/impeccable/scripts/detect.mjs +0 -21
- package/templates/vite/.howone/skills/impeccable/scripts/impeccable-paths.mjs +0 -110
- package/templates/vite/.howone/skills/impeccable/scripts/is-generated.mjs +0 -69
- package/templates/vite/.howone/skills/impeccable/scripts/live-accept.mjs +0 -595
- package/templates/vite/.howone/skills/impeccable/scripts/live-browser-session.js +0 -123
- package/templates/vite/.howone/skills/impeccable/scripts/live-browser.js +0 -4860
- package/templates/vite/.howone/skills/impeccable/scripts/live-complete.mjs +0 -75
- package/templates/vite/.howone/skills/impeccable/scripts/live-completion.mjs +0 -18
- package/templates/vite/.howone/skills/impeccable/scripts/live-inject.mjs +0 -446
- package/templates/vite/.howone/skills/impeccable/scripts/live-poll.mjs +0 -200
- package/templates/vite/.howone/skills/impeccable/scripts/live-resume.mjs +0 -48
- package/templates/vite/.howone/skills/impeccable/scripts/live-server.mjs +0 -838
- package/templates/vite/.howone/skills/impeccable/scripts/live-session-store.mjs +0 -254
- package/templates/vite/.howone/skills/impeccable/scripts/live-status.mjs +0 -47
- package/templates/vite/.howone/skills/impeccable/scripts/live-wrap.mjs +0 -632
- package/templates/vite/.howone/skills/impeccable/scripts/live.mjs +0 -247
- package/templates/vite/.howone/skills/impeccable/scripts/load-context.mjs +0 -141
- package/templates/vite/.howone/skills/impeccable/scripts/modern-screenshot.umd.js +0 -14
- package/templates/vite/.howone/skills/impeccable/scripts/pin.mjs +0 -214
- /package/templates/vite/.howone/skills/howone/{02-database → 02-entity-schema}/02-schema-operations.md +0 -0
- /package/templates/vite/.howone/skills/howone/{02-database → 02-entity-schema}/03-data-access-patterns.md +0 -0
- /package/templates/vite/.howone/skills/howone/{02-database → 02-entity-schema}/04-query-dsl-and-responses.md +0 -0
- /package/templates/vite/.howone/skills/howone/{02-database → 02-entity-schema}/05-ai-persistence-patterns.md +0 -0
- /package/templates/vite/.howone/skills/howone/{04-ai → 03-ai-capabilities}/02-workflow-contract-rules.md +0 -0
- /package/templates/vite/.howone/skills/howone/{04-ai/05-workflow-operations.md → 03-ai-capabilities/04-workflow-operations.md} +0 -0
- /package/templates/vite/.howone/skills/howone/{04-ai/06-ai-feature-playbooks.md → 03-ai-capabilities/05-ai-feature-playbooks.md} +0 -0
- /package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/02-entity-operations.md +0 -0
- /package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/03-auth.md +0 -0
- /package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/04-react-integration.md +0 -0
- /package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/05-file-upload.md +0 -0
- /package/templates/vite/.howone/skills/howone/{03-sdk → 04-app-sdk}/06-raw-http.md +0 -0
- /package/templates/vite/.howone/skills/howone/{03-sdk/08-extension-boundaries.md → 04-app-sdk/09-extension-boundaries.md} +0 -0
- /package/templates/vite/.howone/skills/howone/{03-sdk/09-workflow-execute-sse.md → 04-app-sdk/10-workflow-execute-sse.md} +0 -0
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# Test 03 v2 — Maple Street Bread (artisan bakery)
|
|
2
|
-
|
|
3
|
-
## The prompt (verbatim, same as v1)
|
|
4
|
-
|
|
5
|
-
> "Landing page for Maple Street Bread. Audience: locals who want to buy bread. Use: see what's available + visit. Tone: warm, hand-set, considered."
|
|
6
|
-
|
|
7
|
-
## Step 0 · Pre-flight
|
|
8
|
-
|
|
9
|
-
> *"No pre-flight signals — proceeding with full Hallmark stack."*
|
|
10
|
-
|
|
11
|
-
## Step 1 · Design-context gate — fully answered
|
|
12
|
-
|
|
13
|
-
Audience, use, tone all explicit.
|
|
14
|
-
|
|
15
|
-
## Step 2.5 · Project memory rotation
|
|
16
|
-
|
|
17
|
-
> *"Previous run on this brief picked Long Document + Linen + Tier-B SVG loaf. Picking from {Catalogue, Photographic, Letter} this time — Catalogue wins because the brief says 'see what's available' (the user is shopping a board, not reading a story)."*
|
|
18
|
-
>
|
|
19
|
-
> *"Theme rotation: Linen (light · geometric-sans · warm-amber) → Almanac (light · roman-serif · warm-amber). Differs on display style. Passes."*
|
|
20
|
-
|
|
21
|
-
## Step 3 · Visual ruleset loaded
|
|
22
|
-
|
|
23
|
-
`macrostructures.md` (Catalogue), `component-cookbook.md` (item-card archetypes, market-board headings), `typography.md` (Almanac pairing — IM Fell Display + Source Serif body), `color.md` (warm parchment palette), `microinteractions.md` (single primitive: hover line-rule on item rows), `anti-patterns.md`.
|
|
24
|
-
|
|
25
|
-
## Step 4 · Hero enrichment
|
|
26
|
-
|
|
27
|
-
> *"Enrichment: Tier-A pure-CSS bread silhouettes per item. Each row has a small (96 px) hand-drawn loaf shape rendered as inline SVG with a single accent stroke. No photography (raw bread photos read as Midjourney). No Lottie. Eight breads × eight tiny SVGs = ~140 lines of inline SVG total."*
|
|
28
|
-
|
|
29
|
-
## Step 5 · Preview
|
|
30
|
-
|
|
31
|
-
```markdown
|
|
32
|
-
**Hallmark · v0.6.0**
|
|
33
|
-
|
|
34
|
-
- **Macrostructure** · Catalogue
|
|
35
|
-
- **Theme** · Almanac (warm parchment paper · IM Fell Display roman-serif · warm-amber accent ~3%)
|
|
36
|
-
- **Enrichment** · Tier-A pure-CSS / inline-SVG bread silhouettes (one per item, 96px)
|
|
37
|
-
- **Sections** · Masthead · Today's bake (8-item catalogue grid) · Visit · Colophon
|
|
38
|
-
- **Motion** · row hover-rule (1 primitive)
|
|
39
|
-
- **Slop test** · 38 / 38 ✓
|
|
40
|
-
- **Diversification** · differs from v1 (Long Document/Linen) on macrostructure + display style
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Step 6 · Macrostructure stamp
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
/* Hallmark · macrostructure: Catalogue · F1 catalogue knobs: tiles=8, columns=2, rule=hairline-between
|
|
47
|
-
* theme: Almanac · accent: warm-amber ~3% · enrichment: tier-A inline SVG bread silhouettes
|
|
48
|
-
* studied: no · context: explicit · v0.6.0
|
|
49
|
-
*/
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## What changed vs v1
|
|
53
|
-
|
|
54
|
-
- **Macro:** Long Document → Catalogue. v1 was a prose-led page with the menu as a quiet aside; v2 makes the menu the hero. The brief says "see what's available + visit" — Catalogue answers it more directly.
|
|
55
|
-
- **Theme:** Linen → Almanac. Both warm-paper, both light. Linen is geometric-sans display; Almanac is roman-serif display (IM Fell, period almanac feel). Display style differs.
|
|
56
|
-
- **Enrichment:** v1's single hand-built loaf with a `@property --rise` breathing loop becomes eight smaller item-level silhouettes, no animation. The page is busier, which Catalogue can carry; the v1 page would have been overloaded.
|
|
57
|
-
- **Voice:** v1 opened with a time-stamped salutation ("Saturday, 6:14 a.m."); v2 opens with a market-board "Today's bake" with date and a count.
|
|
58
|
-
|
|
59
|
-
## What stayed the same
|
|
60
|
-
|
|
61
|
-
- Brand: Maple Street Bread, Lisbon.
|
|
62
|
-
- Tier-A/B custom-craft (no Lottie, no Midjourney).
|
|
63
|
-
- Slop test: 38 / 38 ✓.
|
|
64
|
-
- Footer: visit and hours (no online ordering — same as the brief).
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<title>Maple Street Bread — daily catalogue</title>
|
|
7
|
-
<meta name="description" content="A small artisan bakery in Lisbon. Sourdough, slow, by hand. Open at seven, thirty loaves, gone by noon, no online orders." />
|
|
8
|
-
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
9
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
10
|
-
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=IM+Fell+English+SC&family=IM+Fell+English:ital@0;1&family=Source+Serif+4:ital,wght@0,400;0,500;1,400&display=swap" />
|
|
11
|
-
<link rel="stylesheet" href="style.css" />
|
|
12
|
-
</head>
|
|
13
|
-
<body>
|
|
14
|
-
<main class="page">
|
|
15
|
-
<header class="masthead">
|
|
16
|
-
<hr class="masthead__rule" />
|
|
17
|
-
<h1 class="masthead__brand">Maple Street Bread</h1>
|
|
18
|
-
<p class="masthead__sub">Lisbon · est. 2026 · n.º 47 · sourdough <strong>by hand</strong></p>
|
|
19
|
-
</header>
|
|
20
|
-
|
|
21
|
-
<section class="todays">
|
|
22
|
-
<h2 class="todays__head">Today's bake</h2>
|
|
23
|
-
<p class="todays__date">Saturday — 6:14 a.m. — eight breads, gone by noon</p>
|
|
24
|
-
</section>
|
|
25
|
-
|
|
26
|
-
<ul class="catalogue" role="list" aria-label="Today's breads">
|
|
27
|
-
<!-- 1 -->
|
|
28
|
-
<li class="bread">
|
|
29
|
-
<span class="bread__shape bread__shape--accent" aria-hidden="true">
|
|
30
|
-
<svg viewBox="0 0 96 96"><ellipse cx="48" cy="52" rx="36" ry="22"/><path d="M22 50 q12 -16 26 -16 t26 16"/><path d="M30 50 q4 -8 18 -8" /></svg>
|
|
31
|
-
</span>
|
|
32
|
-
<div class="bread__body">
|
|
33
|
-
<h3 class="bread__name">Country sourdough</h3>
|
|
34
|
-
<p class="bread__desc">Wild starter, 80 % white, 20 % wholewheat, twenty-four hour cold proof.</p>
|
|
35
|
-
</div>
|
|
36
|
-
<span class="bread__price">€5.50</span>
|
|
37
|
-
</li>
|
|
38
|
-
<!-- 2 -->
|
|
39
|
-
<li class="bread">
|
|
40
|
-
<span class="bread__shape" aria-hidden="true">
|
|
41
|
-
<svg viewBox="0 0 96 96"><path d="M14 48 L82 48 M14 48 q4 -10 8 0 M30 48 q4 -10 8 0 M46 48 q4 -10 8 0 M62 48 q4 -10 8 0"/><ellipse cx="48" cy="48" rx="38" ry="6"/></svg>
|
|
42
|
-
</span>
|
|
43
|
-
<div class="bread__body">
|
|
44
|
-
<h3 class="bread__name">Baguette tradition</h3>
|
|
45
|
-
<p class="bread__desc">T65 flour, four hours bulk, scored deep. Two per customer.</p>
|
|
46
|
-
</div>
|
|
47
|
-
<span class="bread__price">€2.80</span>
|
|
48
|
-
</li>
|
|
49
|
-
<!-- 3 -->
|
|
50
|
-
<li class="bread">
|
|
51
|
-
<span class="bread__shape" aria-hidden="true">
|
|
52
|
-
<svg viewBox="0 0 96 96"><rect x="20" y="32" width="56" height="32" rx="4"/><circle cx="34" cy="44" r="2"/><circle cx="48" cy="40" r="2"/><circle cx="62" cy="48" r="2"/><circle cx="42" cy="56" r="2"/><circle cx="58" cy="52" r="2"/></svg>
|
|
53
|
-
</span>
|
|
54
|
-
<div class="bread__body">
|
|
55
|
-
<h3 class="bread__name">Focaccia, rosemary</h3>
|
|
56
|
-
<p class="bread__desc">Twenty-eight squares, olive oil, sea-salt, herb from the garden behind.</p>
|
|
57
|
-
</div>
|
|
58
|
-
<span class="bread__price">€4.20</span>
|
|
59
|
-
</li>
|
|
60
|
-
<!-- 4 -->
|
|
61
|
-
<li class="bread">
|
|
62
|
-
<span class="bread__shape bread__shape--accent" aria-hidden="true">
|
|
63
|
-
<svg viewBox="0 0 96 96"><circle cx="48" cy="48" r="32"/><circle cx="48" cy="48" r="20"/><path d="M48 16 L48 80 M16 48 L80 48"/></svg>
|
|
64
|
-
</span>
|
|
65
|
-
<div class="bread__body">
|
|
66
|
-
<h3 class="bread__name">Boule, miche</h3>
|
|
67
|
-
<p class="bread__desc">A 2 kg round, kept overnight, eats for three meals. Slice across the grain.</p>
|
|
68
|
-
</div>
|
|
69
|
-
<span class="bread__price">€11.00</span>
|
|
70
|
-
</li>
|
|
71
|
-
<!-- 5 -->
|
|
72
|
-
<li class="bread">
|
|
73
|
-
<span class="bread__shape" aria-hidden="true">
|
|
74
|
-
<svg viewBox="0 0 96 96"><path d="M16 56 q16 -32 32 -32 t32 32"/><path d="M22 50 L32 50 M40 44 L50 44 M58 48 L68 48"/></svg>
|
|
75
|
-
</span>
|
|
76
|
-
<div class="bread__body">
|
|
77
|
-
<h3 class="bread__name">Rye, dark</h3>
|
|
78
|
-
<p class="bread__desc">100 % rye, no wheat. Caraway and treacle. Keeps a week, slices thin.</p>
|
|
79
|
-
</div>
|
|
80
|
-
<span class="bread__price">€6.20</span>
|
|
81
|
-
</li>
|
|
82
|
-
<!-- 6 -->
|
|
83
|
-
<li class="bread">
|
|
84
|
-
<span class="bread__shape" aria-hidden="true">
|
|
85
|
-
<svg viewBox="0 0 96 96"><path d="M20 50 q14 -20 28 -20 t28 20" /><path d="M20 50 q14 18 28 18 t28 -18"/><path d="M48 30 L48 68"/></svg>
|
|
86
|
-
</span>
|
|
87
|
-
<div class="bread__body">
|
|
88
|
-
<h3 class="bread__name">Brioche feuilletée</h3>
|
|
89
|
-
<p class="bread__desc">Laminated brioche, Friday only. Six per bake.</p>
|
|
90
|
-
</div>
|
|
91
|
-
<span class="bread__price bread__price--out">sold out</span>
|
|
92
|
-
</li>
|
|
93
|
-
<!-- 7 -->
|
|
94
|
-
<li class="bread">
|
|
95
|
-
<span class="bread__shape bread__shape--accent" aria-hidden="true">
|
|
96
|
-
<svg viewBox="0 0 96 96"><path d="M16 70 L48 24 L80 70 Z"/><path d="M30 70 L48 44 L66 70"/></svg>
|
|
97
|
-
</span>
|
|
98
|
-
<div class="bread__body">
|
|
99
|
-
<h3 class="bread__name">Walnut levain</h3>
|
|
100
|
-
<p class="bread__desc">Sourdough, eight per cent walnut, baked dark. Cheese-board bread.</p>
|
|
101
|
-
</div>
|
|
102
|
-
<span class="bread__price">€7.40</span>
|
|
103
|
-
</li>
|
|
104
|
-
<!-- 8 -->
|
|
105
|
-
<li class="bread">
|
|
106
|
-
<span class="bread__shape" aria-hidden="true">
|
|
107
|
-
<svg viewBox="0 0 96 96"><circle cx="32" cy="48" r="14"/><circle cx="64" cy="48" r="14"/><path d="M32 34 L32 62 M64 34 L64 62"/></svg>
|
|
108
|
-
</span>
|
|
109
|
-
<div class="bread__body">
|
|
110
|
-
<h3 class="bread__name">Bola d'óleo, twins</h3>
|
|
111
|
-
<p class="bread__desc">Two small soft rolls, olive oil, salt-flaked. Sold paired.</p>
|
|
112
|
-
</div>
|
|
113
|
-
<span class="bread__price">€3.00</span>
|
|
114
|
-
</li>
|
|
115
|
-
</ul>
|
|
116
|
-
|
|
117
|
-
<section class="visit">
|
|
118
|
-
<h2 class="visit__head">Visit</h2>
|
|
119
|
-
<div class="visit__lines">
|
|
120
|
-
<span><strong>Rua dos Anjos 92, Lisbon</strong></span>
|
|
121
|
-
<span><em>Tuesday – Saturday, 7 a.m. until the loaves are gone (usually noon)</em></span>
|
|
122
|
-
<span><em>No online orders. Bring a bag.</em></span>
|
|
123
|
-
</div>
|
|
124
|
-
</section>
|
|
125
|
-
|
|
126
|
-
<footer class="colophon">
|
|
127
|
-
<span>Maple Street · Saturday, May the first · the year twenty twenty-six</span>
|
|
128
|
-
</footer>
|
|
129
|
-
</main>
|
|
130
|
-
</body>
|
|
131
|
-
</html>
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
/* Hallmark · macrostructure: Catalogue · F1 catalogue knobs: tiles=8, columns=2, rule=hairline-between
|
|
2
|
-
* theme: Almanac · accent: warm-amber ~3% · enrichment: tier-A inline SVG bread silhouettes
|
|
3
|
-
* studied: no · context: explicit · v0.6.0
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
:root {
|
|
7
|
-
--color-paper: oklch(94% 0.022 80);
|
|
8
|
-
--color-paper-2: oklch(91% 0.024 80);
|
|
9
|
-
--color-ink: oklch(24% 0.020 50);
|
|
10
|
-
--color-ink-soft: oklch(40% 0.020 55);
|
|
11
|
-
--color-rule: oklch(78% 0.020 70);
|
|
12
|
-
--color-accent: oklch(58% 0.14 50);
|
|
13
|
-
|
|
14
|
-
--font-display: "IM Fell English SC", "IM Fell English", "EB Garamond", "Cormorant Garamond", Georgia, serif;
|
|
15
|
-
--font-body: "Source Serif 4", "Iowan Old Style", Georgia, serif;
|
|
16
|
-
|
|
17
|
-
--space-3xs: 0.25rem;
|
|
18
|
-
--space-2xs: 0.5rem;
|
|
19
|
-
--space-xs: 0.75rem;
|
|
20
|
-
--space-sm: 1rem;
|
|
21
|
-
--space-md: 1.5rem;
|
|
22
|
-
--space-lg: 2rem;
|
|
23
|
-
--space-xl: 3rem;
|
|
24
|
-
--space-2xl: 4.5rem;
|
|
25
|
-
--space-3xl: 6.5rem;
|
|
26
|
-
|
|
27
|
-
--ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
28
|
-
--dur-micro: 140ms;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
* { box-sizing: border-box; }
|
|
32
|
-
html, body { overflow-x: clip; }
|
|
33
|
-
|
|
34
|
-
body {
|
|
35
|
-
margin: 0;
|
|
36
|
-
background: var(--color-paper);
|
|
37
|
-
background-image:
|
|
38
|
-
radial-gradient(circle at 20% 10%, oklch(92% 0.026 75 / 0.5), transparent 40%),
|
|
39
|
-
radial-gradient(circle at 80% 90%, oklch(92% 0.026 60 / 0.4), transparent 50%);
|
|
40
|
-
color: var(--color-ink);
|
|
41
|
-
font-family: var(--font-body);
|
|
42
|
-
font-size: 1.0625rem;
|
|
43
|
-
line-height: 1.55;
|
|
44
|
-
-webkit-font-smoothing: antialiased;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.page {
|
|
48
|
-
max-width: 64rem;
|
|
49
|
-
margin: 0 auto;
|
|
50
|
-
padding: var(--space-2xl) var(--space-lg) var(--space-3xl);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/* Masthead — almanac plate-banner */
|
|
54
|
-
.masthead {
|
|
55
|
-
text-align: center;
|
|
56
|
-
border-block-end: 2px double var(--color-rule);
|
|
57
|
-
padding-block-end: var(--space-lg);
|
|
58
|
-
margin-block-end: var(--space-2xl);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.masthead__rule {
|
|
62
|
-
width: 4ch;
|
|
63
|
-
border: 0;
|
|
64
|
-
border-block-start: 1px solid var(--color-ink);
|
|
65
|
-
margin: 0 auto var(--space-md);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.masthead__brand {
|
|
69
|
-
font-family: var(--font-display);
|
|
70
|
-
font-size: clamp(2.5rem, 6vw, 4.5rem);
|
|
71
|
-
font-weight: 400;
|
|
72
|
-
letter-spacing: 0.02em;
|
|
73
|
-
margin: 0 0 var(--space-2xs);
|
|
74
|
-
color: var(--color-ink);
|
|
75
|
-
line-height: 1;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.masthead__sub {
|
|
79
|
-
font-family: var(--font-display);
|
|
80
|
-
font-size: 0.875rem;
|
|
81
|
-
letter-spacing: 0.16em;
|
|
82
|
-
text-transform: uppercase;
|
|
83
|
-
color: var(--color-ink-soft);
|
|
84
|
-
margin: 0;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.masthead__sub strong { color: var(--color-accent); font-weight: 400; }
|
|
88
|
-
|
|
89
|
-
/* Today's bake — section heading */
|
|
90
|
-
.todays {
|
|
91
|
-
text-align: center;
|
|
92
|
-
margin-block-end: var(--space-xl);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.todays__head {
|
|
96
|
-
font-family: var(--font-display);
|
|
97
|
-
font-size: clamp(1.5rem, 3vw, 2.25rem);
|
|
98
|
-
font-weight: 400;
|
|
99
|
-
letter-spacing: 0.02em;
|
|
100
|
-
margin: 0 0 var(--space-2xs);
|
|
101
|
-
color: var(--color-ink);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.todays__date {
|
|
105
|
-
font-family: var(--font-body);
|
|
106
|
-
font-style: italic;
|
|
107
|
-
font-size: 1rem;
|
|
108
|
-
color: var(--color-ink-soft);
|
|
109
|
-
margin: 0;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/* Catalogue grid */
|
|
113
|
-
.catalogue {
|
|
114
|
-
display: grid;
|
|
115
|
-
grid-template-columns: repeat(2, 1fr);
|
|
116
|
-
gap: 0;
|
|
117
|
-
border-block-start: 1px solid var(--color-rule);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
.bread {
|
|
121
|
-
display: grid;
|
|
122
|
-
grid-template-columns: 96px 1fr auto;
|
|
123
|
-
align-items: center;
|
|
124
|
-
gap: var(--space-md);
|
|
125
|
-
padding: var(--space-lg) var(--space-md);
|
|
126
|
-
border-block-end: 1px solid var(--color-rule);
|
|
127
|
-
position: relative;
|
|
128
|
-
transition: background var(--dur-micro) var(--ease-out);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
.bread:nth-child(odd) {
|
|
132
|
-
border-inline-end: 1px solid var(--color-rule);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
.bread:hover { background: var(--color-paper-2); }
|
|
136
|
-
|
|
137
|
-
.bread__shape {
|
|
138
|
-
width: 96px;
|
|
139
|
-
height: 96px;
|
|
140
|
-
display: flex;
|
|
141
|
-
align-items: center;
|
|
142
|
-
justify-content: center;
|
|
143
|
-
color: var(--color-ink-soft);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
.bread__shape svg {
|
|
147
|
-
width: 100%;
|
|
148
|
-
height: 100%;
|
|
149
|
-
fill: none;
|
|
150
|
-
stroke: currentColor;
|
|
151
|
-
stroke-width: 1.5;
|
|
152
|
-
stroke-linecap: round;
|
|
153
|
-
stroke-linejoin: round;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
.bread__shape--accent svg { stroke: var(--color-accent); }
|
|
157
|
-
|
|
158
|
-
.bread__body { min-width: 0; }
|
|
159
|
-
|
|
160
|
-
.bread__name {
|
|
161
|
-
font-family: var(--font-display);
|
|
162
|
-
font-size: 1.375rem;
|
|
163
|
-
font-weight: 400;
|
|
164
|
-
letter-spacing: 0.01em;
|
|
165
|
-
margin: 0 0 var(--space-3xs);
|
|
166
|
-
color: var(--color-ink);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
.bread__desc {
|
|
170
|
-
font-family: var(--font-body);
|
|
171
|
-
font-style: italic;
|
|
172
|
-
font-size: 0.9375rem;
|
|
173
|
-
color: var(--color-ink-soft);
|
|
174
|
-
margin: 0;
|
|
175
|
-
line-height: 1.4;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
.bread__price {
|
|
179
|
-
font-family: var(--font-display);
|
|
180
|
-
font-size: 1.125rem;
|
|
181
|
-
font-variant-numeric: tabular-nums;
|
|
182
|
-
color: var(--color-ink);
|
|
183
|
-
white-space: nowrap;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
.bread__price--out {
|
|
187
|
-
color: var(--color-ink-soft);
|
|
188
|
-
font-style: italic;
|
|
189
|
-
font-family: var(--font-body);
|
|
190
|
-
font-size: 0.9375rem;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/* Visit */
|
|
194
|
-
.visit {
|
|
195
|
-
margin-block-start: var(--space-2xl);
|
|
196
|
-
padding: var(--space-xl) var(--space-md);
|
|
197
|
-
border-block-start: 2px double var(--color-rule);
|
|
198
|
-
border-block-end: 2px double var(--color-rule);
|
|
199
|
-
text-align: center;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
.visit__head {
|
|
203
|
-
font-family: var(--font-display);
|
|
204
|
-
font-size: 1.5rem;
|
|
205
|
-
font-weight: 400;
|
|
206
|
-
margin: 0 0 var(--space-md);
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
.visit__lines {
|
|
210
|
-
display: grid;
|
|
211
|
-
gap: var(--space-2xs);
|
|
212
|
-
font-family: var(--font-body);
|
|
213
|
-
font-size: 1rem;
|
|
214
|
-
color: var(--color-ink);
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
.visit__lines em {
|
|
218
|
-
font-style: italic;
|
|
219
|
-
color: var(--color-ink-soft);
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
/* Colophon */
|
|
223
|
-
.colophon {
|
|
224
|
-
margin-block-start: var(--space-2xl);
|
|
225
|
-
text-align: center;
|
|
226
|
-
font-family: var(--font-display);
|
|
227
|
-
font-size: 0.75rem;
|
|
228
|
-
letter-spacing: 0.16em;
|
|
229
|
-
text-transform: uppercase;
|
|
230
|
-
color: var(--color-ink-soft);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/* Mobile */
|
|
234
|
-
@media (max-width: 48rem) {
|
|
235
|
-
.catalogue { grid-template-columns: 1fr; }
|
|
236
|
-
.bread:nth-child(odd) { border-inline-end: none; }
|
|
237
|
-
.bread { grid-template-columns: 64px 1fr auto; gap: var(--space-sm); padding: var(--space-md) var(--space-2xs); }
|
|
238
|
-
.bread__shape { width: 64px; height: 64px; }
|
|
239
|
-
.bread__name { font-size: 1.125rem; }
|
|
240
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Test 04 v2 — Meridian (studio manifesto)
|
|
2
|
-
|
|
3
|
-
## The prompt (verbatim, same as v1)
|
|
4
|
-
|
|
5
|
-
> "Make me a manifesto for my new studio called Meridian. We work on environmental products. No flashy stuff."
|
|
6
|
-
|
|
7
|
-
## Step 0 · Pre-flight
|
|
8
|
-
|
|
9
|
-
> *"No pre-flight signals — proceeding with full Hallmark stack."*
|
|
10
|
-
|
|
11
|
-
## Step 1 · Design-context gate — partial → inferred
|
|
12
|
-
|
|
13
|
-
User gave audience-implied + tone (declarative, no flash). Skill infers:
|
|
14
|
-
|
|
15
|
-
> *"Going with: audience = potential clients and collaborators · use = read our position · tone = declarative, polemical, restrained. If any of those is wrong, redirect."*
|
|
16
|
-
|
|
17
|
-
## Step 2.5 · Project memory rotation
|
|
18
|
-
|
|
19
|
-
> *"Previous run on this brief picked Manifesto + Manifesto + none. Picking from {Quote-Led, Stat-Led, Numbered Theses} for the macro this time — Quote-Led wins because a manifesto can be one sentence as easily as it can be five, and the rotation rule pushes away from the Manifesto-named-twice pattern."*
|
|
20
|
-
>
|
|
21
|
-
> *"Theme rotation: Manifesto (dark · Inter Tight 900 display-heavy · red bleed) → Brutal (dark · Druk-condensed display · single yellow strike). Differs on display style and accent hue. Passes."*
|
|
22
|
-
|
|
23
|
-
## Step 3 · Visual ruleset loaded
|
|
24
|
-
|
|
25
|
-
`macrostructures.md` (Quote-Led), `component-cookbook.md` (H3 pull-quote hero), `typography.md` (display-heavy condensed), `color.md` (Brutal palette: dark, single bold accent), `microinteractions.md` (none — manifesto is typography-only), `anti-patterns.md`.
|
|
26
|
-
|
|
27
|
-
## Step 4 · Hero enrichment
|
|
28
|
-
|
|
29
|
-
> *"Enrichment: none. Quote-Led + Brutal is already loud; adding any visual would dilute the polemic. The 'no flashy stuff' constraint maps directly here — voice is the design."*
|
|
30
|
-
|
|
31
|
-
## Step 5 · Preview
|
|
32
|
-
|
|
33
|
-
```markdown
|
|
34
|
-
**Hallmark · v0.6.0**
|
|
35
|
-
|
|
36
|
-
- **Macrostructure** · Quote-Led
|
|
37
|
-
- **Theme** · Brutal (near-black paper · Druk-condensed display · yellow strike accent)
|
|
38
|
-
- **Enrichment** · none (typography only — voice is the design)
|
|
39
|
-
- **Sections** · Masthead · Pull-quote (the hero) · Four principles · Working rules · Colophon
|
|
40
|
-
- **Motion** · none — typography only
|
|
41
|
-
- **Slop test** · 38 / 38 ✓
|
|
42
|
-
- **Diversification** · differs from v1 (Manifesto/Manifesto) on macrostructure + display style + accent hue
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Step 6 · Macrostructure stamp
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
/* Hallmark · macrostructure: Quote-Led · H3 hero knobs: weight=display-condensed-bold, attribution=under-quote, length=20-words
|
|
49
|
-
* theme: Brutal · accent: strike-yellow ~3% (used as bleed-rule + one struck word)
|
|
50
|
-
* enrichment: none (typography only — voice is the design)
|
|
51
|
-
* studied: no · context: partial, inferred (audience + use) · v0.6.0
|
|
52
|
-
*/
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## What changed vs v1
|
|
56
|
-
|
|
57
|
-
- **Macro:** Manifesto → Quote-Led. v1 leads with five numbered declarations + a bleed band; v2 leads with one twenty-word pull-quote + three supporting principles. Different rhetoric, same brief.
|
|
58
|
-
- **Theme:** Manifesto (Inter Tight 900) → Brutal (Druk-condensed). Both dark, both display-heavy, but Brutal's condensed cap-height reads sharper for a single-quote hero. Accent shifts from red to yellow.
|
|
59
|
-
- **Voice:** v1 says "WE ARE A STUDIO. WE ARE NOT A PLATFORM." (one of five lines); v2 stakes the page on "We make products that don't outlive their use" as the single hero claim.
|
|
60
|
-
- **Section count:** v1 had ~9 sections; v2 has 5. Quote-Led wants brevity — the quote is the page.
|
|
61
|
-
|
|
62
|
-
## What stayed the same
|
|
63
|
-
|
|
64
|
-
- Brand and tone: Meridian, environmental products, "no flashy stuff."
|
|
65
|
-
- Enrichment: none on both. Voice is the design.
|
|
66
|
-
- Slop test: 38 / 38 ✓.
|
|
67
|
-
- Dark paper. Single accent. No gradients. No rounded corners.
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<title>Meridian — environmental product practice</title>
|
|
7
|
-
<meta name="description" content="A small environmental products design practice. We make products that don't outlive their use." />
|
|
8
|
-
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
9
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
10
|
-
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter+Tight:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" />
|
|
11
|
-
<link rel="stylesheet" href="style.css" />
|
|
12
|
-
</head>
|
|
13
|
-
<body>
|
|
14
|
-
<main class="page">
|
|
15
|
-
<header class="masthead">
|
|
16
|
-
<span class="masthead__brand">MERIDIAN <strong>·</strong> environmental product practice</span>
|
|
17
|
-
<span class="masthead__meta">Lisbon · est. 2026 · n.º I</span>
|
|
18
|
-
</header>
|
|
19
|
-
|
|
20
|
-
<section class="hero">
|
|
21
|
-
<h1 class="quote">
|
|
22
|
-
We make products that don't <span class="quote__strike">outlive</span> their use.
|
|
23
|
-
<span class="quote__attr">— The studio · the position we open with · this is the page.</span>
|
|
24
|
-
</h1>
|
|
25
|
-
</section>
|
|
26
|
-
|
|
27
|
-
<section class="principles" aria-labelledby="principles-h">
|
|
28
|
-
<h2 class="principles__head" id="principles-h">§ Four principles</h2>
|
|
29
|
-
<ol class="principles__list">
|
|
30
|
-
<li class="principle">
|
|
31
|
-
<span class="principle__num">01.</span>
|
|
32
|
-
<h3 class="principle__head">Fewer things, made well</h3>
|
|
33
|
-
<p class="principle__body">
|
|
34
|
-
We don't pitch ranges. We don't pitch families. The studio works on one product at a
|
|
35
|
-
time, finishes it, and starts the next. <strong>If we can't end-of-life it cleanly, we
|
|
36
|
-
don't make it.</strong>
|
|
37
|
-
</p>
|
|
38
|
-
</li>
|
|
39
|
-
<li class="principle">
|
|
40
|
-
<span class="principle__num">02.</span>
|
|
41
|
-
<h3 class="principle__head">Material is the brief</h3>
|
|
42
|
-
<p class="principle__body">
|
|
43
|
-
Every project starts with the material accounting — what it's made of, where it comes
|
|
44
|
-
from, how it returns. <strong>Form follows the spec, not the visual mood-board.</strong>
|
|
45
|
-
We send the LCA before we send the render.
|
|
46
|
-
</p>
|
|
47
|
-
</li>
|
|
48
|
-
<li class="principle">
|
|
49
|
-
<span class="principle__num">03.</span>
|
|
50
|
-
<h3 class="principle__head">Repair before replace</h3>
|
|
51
|
-
<p class="principle__body">
|
|
52
|
-
Every product ships with a service manual, an exploded BOM, and the tools to take it
|
|
53
|
-
apart. <strong>If it can't be opened, fixed, and closed again, it's not finished.</strong>
|
|
54
|
-
Repair is a feature, not a footnote.
|
|
55
|
-
</p>
|
|
56
|
-
</li>
|
|
57
|
-
<li class="principle">
|
|
58
|
-
<span class="principle__num">04.</span>
|
|
59
|
-
<h3 class="principle__head">Slow is the deliverable</h3>
|
|
60
|
-
<p class="principle__body">
|
|
61
|
-
We work with three clients a year. We turn the rest down. <strong>Slow is a craft
|
|
62
|
-
position before it is a marketing one</strong> — fast, in this practice, is what you do
|
|
63
|
-
when you don't yet know what you're making.
|
|
64
|
-
</p>
|
|
65
|
-
</li>
|
|
66
|
-
</ol>
|
|
67
|
-
</section>
|
|
68
|
-
|
|
69
|
-
<section class="rules" aria-labelledby="rules-h">
|
|
70
|
-
<h2 class="rules__head" id="rules-h">§ Working rules</h2>
|
|
71
|
-
<ol class="rules__list">
|
|
72
|
-
<li class="rules__item"><span class="rules__num">i.</span><span>The shop runs on a four-day week. Friday is for the workshop.</span></li>
|
|
73
|
-
<li class="rules__item"><span class="rules__num">ii.</span><span>We answer the email ourselves. There is no account manager.</span></li>
|
|
74
|
-
<li class="rules__item"><span class="rules__num">iii.</span><span>The first thing we send is the spec. The render comes after.</span></li>
|
|
75
|
-
<li class="rules__item"><span class="rules__num">iv.</span><span>We don't sign NDAs that prevent us from naming the material.</span></li>
|
|
76
|
-
<li class="rules__item"><span class="rules__num">v.</span><span>We publish what we learn. The notes are the practice.</span></li>
|
|
77
|
-
</ol>
|
|
78
|
-
</section>
|
|
79
|
-
|
|
80
|
-
<footer class="colophon">
|
|
81
|
-
<span>Meridian · Rua dos Anjos 38, Lisbon · the year twenty twenty-six</span>
|
|
82
|
-
<span><a href="mailto:hello@meridian.studio">hello@meridian.studio</a></span>
|
|
83
|
-
</footer>
|
|
84
|
-
</main>
|
|
85
|
-
</body>
|
|
86
|
-
</html>
|