diff --git a/.impeccable/critique/2026-09-23T20-44-49Z__r-code-timbermods-github-io-site-redesign-0cb706f4.md b/.impeccable/critique/2026-09-23T20-44-49Z__r-code-timbermods-github-io-site-redesign-0cb706f4.md index 96cb487..a37a7a1 100644 --- a/.impeccable/critique/2026-09-23T20-44-49Z__r-code-timbermods-github-io-site-redesign-0cb706f4.md +++ b/.impeccable/critique/2026-09-23T20-44-49Z__r-code-timbermods-github-io-site-redesign-0cb706f4.md @@ -13,8 +13,8 @@ p1_count: 4 --- # Critique: Timbermods hub (index.html) Method: dual-agent (A design review, B site test + detector + browser + audit) -Tests: (1) PARTIAL FAIL - taglines exist but the first sits at y~860; phone page 8,772px with 770-900px cards; order has no logic; categories don't map to problems; no guidance between the two co-op mods; hub identity thin; (2) MOSTLY PASS - all 8 buttons resolve to the mod zip with version and size, requirements visible, #install clear; fails: Late Game Performance Stable with no caution; (3) FAIL - MultiColony "own land", "where the colonies' roads meet", "colony handover", and "trading not played" contradicts its README; Stability Fork not feature-complete; LGP caution missing. +Tests: (1) PARTIAL FAIL - taglines exist but the first sits at y~860; phone page 8,772px with 770-900px cards; order has no logic; categories don't map to problems; no guidance between the two co-op mods; hub identity thin; (2) MOSTLY PASS - all 8 buttons resolve to the mod zip with version and size, requirements visible, #install clear; fails: Late Game Performance Stable with no caution; (3) FAIL - Timber Together "own land", "where the colonies' roads meet", "colony handover", and "trading not played" contradicts its README; Stability Fork not feature-complete; LGP caution missing. Heuristics 23/36 (Acceptable). -Priority: [P0] MultiColony copy false; [P1] LGP caution; [P1] cards don't echo the redesigned sites (6 of 8 accents off); [P1] scanning 8 mods slow (no index, no need-first grouping); [P1] fork vs MultiColony choice unexplained; [P2] fork feature-complete; Stable pills on unplayed builds; phone tap targets (22px links, 33px toggle), cramped header; 3+3+2 orphan grid; [P3] banners (LGP chart reads as data; co-op banners near-identical; Tipsy render on grey), dark-only theme-color, toggle state, no og:image, no 404, 16 API calls per first visit. +Priority: [P0] Timber Together copy false; [P1] LGP caution; [P1] cards don't echo the redesigned sites (6 of 8 accents off); [P1] scanning 8 mods slow (no index, no need-first grouping); [P1] fork vs Timber Together choice unexplained; [P2] fork feature-complete; Stable pills on unplayed builds; phone tap targets (22px links, 33px toggle), cramped header; 3+3+2 orphan grid; [P3] banners (LGP chart reads as data; co-op banners near-identical; Tipsy render on grey), dark-only theme-color, toggle state, no og:image, no 404, 16 API calls per first visit. Test: 15/15 (card article regex, stub DOM selectors, cautions vs data-maturity, release choice, rate limits, footer strings). Identity: parchment/forest green, rounded cards with soft shadows, same dark banner template on six cards. diff --git a/.impeccable/design.json b/.impeccable/design.json index a084e68..5628d36 100644 --- a/.impeccable/design.json +++ b/.impeccable/design.json @@ -667,9 +667,9 @@ ], "cssVar": "--c (set inline on the mod's panel, need-index swatch and notice entry)" }, - "mod-multicolony": { + "mod-timber-together": { "role": "tertiary", - "displayName": "MultiColony Teal", + "displayName": "Timber Together Teal", "canonical": "#1a6a77", "oklch": "oklch(48.4% 0.076 211.0)", "tonalRamp": [ @@ -950,7 +950,7 @@ "kind": "card", "refersTo": "mod-panel", "description": "One per mod: warm paper (moss at night) framed 5px in the mod's own colour, its own picture as the banner.", - "html": "
MultiplayerStable

BeaverBuddies MultiColony

Two players, one map, a colony each.

Each player runs a colony of their own on one shared map.

Download v1.4.0 3.0 MB

WebsiteGitHubRelease notes

", + "html": "
MultiplayerStable

Timber Together

Two players, one map, a colony each.

Each player runs a colony of their own on one shared map.

Download v1.4.0 3.0 MB

WebsiteGitHubRelease notes

", "css": ".ds-panel { display: flex; flex-direction: column; max-width: 340px; background: var(--tile, #f5ecd9); color: var(--tile-ink, #2a2118); border: 5px solid var(--c); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 0 rgba(0,0,0,.22), 0 12px 20px -12px rgba(0,0,0,.65); font-family: var(--sans, system-ui, sans-serif); } .ds-banner { aspect-ratio: 16 / 10; background: linear-gradient(135deg, #e7dcc4, #b9c9a8); border-bottom: 5px solid var(--c); } .ds-body { padding: 14px 16px 16px; } .ds-meta { display: flex; justify-content: space-between; margin: 0 0 8px; } .ds-pill-tag, .ds-pill-status { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 10px; border-radius: 999px; font-family: var(--display, 'Anybody', 'Arial Narrow', sans-serif); font-weight: 700; font-size: .78rem; letter-spacing: .02em; } .ds-pill-tag { background: var(--c); color: #fff; } .ds-pill-status { border: 1.5px solid currentColor; color: var(--ok, #2c6536); } .ds-panel h3 { font-family: var(--display, 'Anybody', 'Arial Narrow', sans-serif); font-weight: 800; font-size: 1.35rem; line-height: 1.08; margin: 0 0 .25em; } .ds-panel h3 a { color: inherit; text-decoration: none; } .ds-panel h3 a:hover { text-decoration: underline; text-decoration-color: var(--c); } .ds-tagline { font-weight: 750; margin: 0 0 .4em; } .ds-blurb { color: var(--tile-muted, #5d4c39); font-size: .95rem; margin: 0 0 .7em; } .ds-facts { list-style: none; padding: 0; margin: 0 0 .8em; font-size: .92rem; } .ds-facts li { position: relative; padding: 5px 0 5px 16px; border-top: 1px solid var(--tile-rule, #dccdab); } .ds-facts li::before { content: ''; position: absolute; left: 0; top: .9em; width: 7px; height: 7px; border-radius: 50%; background: var(--c); } .ds-btn { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 48px; border-radius: 8px; background: var(--c); color: #fff; font-weight: 750; text-decoration: none; box-shadow: inset 0 -2px 0 rgba(0,0,0,.2); } .ds-btn:hover { filter: brightness(.9); } .ds-panel a:focus-visible { outline: 3px solid var(--focus, #2f5d3a); outline-offset: 3px; } .ds-links { display: flex; justify-content: space-between; border-top: 1px solid var(--tile-rule, #dccdab); margin: 12px 0 0; padding-top: 4px; } .ds-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--tile-link, #2f5d3a); font-weight: 650; font-size: .92rem; text-underline-offset: 3px; }" }, { @@ -1006,7 +1006,7 @@ "kind": "custom", "refersTo": "notice", "description": "A paper panel without a mod colour, in a 5px double rule; fills a board's spare slot.", - "html": "

Which one? One BeaverBuddies at a time

Stability Fork
Everyone builds one colony together.
MultiColony
Each player runs a colony of their own.

Install only one of the two.

", + "html": "

Which one? One BeaverBuddies at a time

Stability Fork
Everyone builds one colony together.
Timber Together
Each player runs a colony of their own.

Install only one of the two.

", "css": ".ds-notice { max-width: 320px; background: var(--tile, #f5ecd9); color: var(--tile-ink, #2a2118); border: 5px double var(--tile-rule, #dccdab); border-radius: 8px; padding: 22px 20px; box-shadow: 0 2px 0 rgba(0,0,0,.22), 0 12px 20px -12px rgba(0,0,0,.65); font-family: var(--sans, system-ui, sans-serif); } .ds-notice h3 { font-family: var(--display, 'Anybody', 'Arial Narrow', sans-serif); font-weight: 800; font-size: 1.35rem; line-height: 1.08; margin: 0 0 14px; } .ds-notice dl { margin: 0 0 14px; } .ds-notice dl > div { padding: 10px 0; border-top: 1px solid var(--tile-rule, #dccdab); } .ds-notice dt { font-family: var(--display, 'Anybody', 'Arial Narrow', sans-serif); font-weight: 800; } .ds-notice dt::before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 2px; background: var(--c); } .ds-notice dd { margin: 4px 0 0; color: var(--tile-muted, #5d4c39); font-size: .95rem; } .ds-notice > p { margin: 0; padding-top: 12px; border-top: 1.5px solid var(--tile-ink, #2a2118); font-weight: 650; font-size: .95rem; }" } ], diff --git a/.impeccable/surfaces/index-html.md b/.impeccable/surfaces/index-html.md index e20c8a8..a79abdb 100644 --- a/.impeccable/surfaces/index-html.md +++ b/.impeccable/surfaces/index-html.md @@ -7,13 +7,13 @@ related_targets: ["404.html"] # Surface brief: Timbermods hub (index.html, one page) -Scope: the org hub at timbermods.github.io (index.html, assets/, 404.html new). Persuade + a catalog. Audience: Timberborn players browsing what Timbermods makes, and arrivals from one mod's site. Action: find the mod that fits a problem, get its right zip (versioned button), go on to its own site; install right; follow the co-op rule. Proof: each mod's own look (card art from its own site), the release data (version, size, date) and honest cautions. Constraints: scripts/test-site.mjs (15 checks): article.card[data-repo][data-asset][data-maturity when a caution], no data-repo elsewhere, the fixed card hooks site.js uses, caution label = maturity, /releases fallbacks, [data-generated]; data/releases.json is bot-generated and never touched; relative paths; no external requests but GitHub's API; #install, #mods, #top and the eight card ids; the theme toggle (tbmods.theme). Truth: MultiColony's card from its own README (roads never join except through a Trading Post; waiting room; mixed factions not played; beta); Stability Fork feature-complete; Late Game Performance's caution; no invented numbers. Decisions delegated to the agent. +Scope: the org hub at timbermods.github.io (index.html, assets/, 404.html new). Persuade + a catalog. Audience: Timberborn players browsing what Timbermods makes, and arrivals from one mod's site. Action: find the mod that fits a problem, get its right zip (versioned button), go on to its own site; install right; follow the co-op rule. Proof: each mod's own look (card art from its own site), the release data (version, size, date) and honest cautions. Constraints: scripts/test-site.mjs (15 checks): article.card[data-repo][data-asset][data-maturity when a caution], no data-repo elsewhere, the fixed card hooks site.js uses, caution label = maturity, /releases fallbacks, [data-generated]; data/releases.json is bot-generated and never touched; relative paths; no external requests but GitHub's API; #install, #mods, #top and the eight card ids; the theme toggle (tbmods.theme). Truth: Timber Together's card from its own README (roads never join except through a Trading Post; waiting room; mixed factions not played; beta); Stability Fork feature-complete; Late Game Performance's caution; no invented numbers. Decisions delegated to the agent. ## Direction contract THESIS: The hub is a collector's binder of trading cards: every Timbermods mod is a card in its own sleeve, printed in its own world's colours and art, so a player who came from one mod's site recognises it at once. The binder only holds them. It refuses the catalog template it wears (parchment and forest green, identical dark banners on six cards, soft-shadow rounded cards, a hero stat strip). -OWN-WORLD: A card collector's desk. Light: a pale grey felt mat (#dcd8cf, produced texture); dark: charcoal felt (#16171a). The binder page is dark PVC (#1d1f23) with punched ring holes, holding clear sleeves with a faint produced sheen. Each card is white card stock (#fbfaf6) framed in its mod's accent (taken from its own site: Stability Fork red #b8322a, MultiColony teal #1a6a77, MixedStorage brass #8a6a2c, Persistent Work Areas gold #8a6512, Optimized Local Housing blue #2d5f9a, Late Game Performance purple #5b3fd0, The Tipsy Tail aqua #1a6773, Hungry Pathing cobalt #1d4a86), with its site's own signature art in the art window. Anybody (display, self-hosted, OFL) for the binder cover and card names; body system-ui. +OWN-WORLD: A card collector's desk. Light: a pale grey felt mat (#dcd8cf, produced texture); dark: charcoal felt (#16171a). The binder page is dark PVC (#1d1f23) with punched ring holes, holding clear sleeves with a faint produced sheen. Each card is white card stock (#fbfaf6) framed in its mod's accent (taken from its own site: Stability Fork red #b8322a, Timber Together teal #1a6a77, MixedStorage brass #8a6a2c, Persistent Work Areas gold #8a6512, Optimized Local Housing blue #2d5f9a, Late Game Performance purple #5b3fd0, The Tipsy Tail aqua #1a6773, Hungry Pathing cobalt #1d4a86), with its site's own signature art in the art window. Anybody (display, self-hosted, OFL) for the binder cover and card names; body system-ui. STORY: One look: Timbermods, unofficial Timberborn mods, a card each; find one by what you need. Then three binder pages grouped by need: Play together (with which co-op mod to pick), Big colonies, Build and plan; the shared install; the footer's data stamp and credits. diff --git a/404.html b/404.html index 07bbc62..d1a3275 100644 --- a/404.html +++ b/404.html @@ -9,6 +9,20 @@ + @@ -33,7 +47,7 @@

Nothing built here yet.

Each mod's own site