Seedbox v0.1 + firmware, generic kit/synth, ROOT/SCALE pages
Some checks failed
check / check (push) Has been cancelled

First commit of the repo. Contents beyond the v0.1 simulator and layout:

- Full Pico 2 W firmware (firmware/app, drivers, engine port, host test).
- BANK page and 404 mode A/B removed; learned pads play exactly what was learned.
- 404/MiniFreak renamed to KIT/SYNTH throughout (jacks, code, sim, docs,
  layout labels; wiring rebuilt).
- ROLL returns to page select after a re-roll; a freshly learned track turns on.
- LCD contrast 66.
- ROOT and SCALE pages: 21 scales, AUTO = the seed picks; global and sticky.

Intended music change: the scale table grew from 8 to 21 and AUTO picks from
all of them, so every seed's scale changed. Vectors regenerated with
npm run vectors, plus new key-override cases. Flash record is now version 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-11 20:39:36 +03:00
commit 2196633ed5
77 changed files with 52207 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
<title>Seedbox Wiring</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=Martian+Mono:wght@400;500;700&display=swap" rel="stylesheet">
<style>
/* Layout: one column build guide. Board drawings first (component side, then copper side for cuts), then wire list, then panel wiring. */
:root{
--bg:#E8ECEF; --surface:#F6F7F9; --ink:#18202A; --muted:#566271; --line:#C3CBD3; --accent:#1E4C9E; --warn:#B4441F;
--board:#D9C79E; --board-edge:#B8A57A; --copper:#C98A4B; --hole:#5B4A30; --part:#2C3238; --part-ink:#E8ECEF;
--w-red:#D7263D; --w-black:#1E1E1E; --w-yellow:#D9A600; --w-green:#2E9E5B; --w-blue:#2F6FDB; --link:#7A8794;
--f-ui:'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
--f-mono:'Martian Mono', ui-monospace, Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
--bg:#12161B; --surface:#1A1F25; --ink:#E2E7EC; --muted:#8C98A5; --line:#333B44; --accent:#8EB0F2; --warn:#F07B52;
--board:#6B5D40; --board-edge:#4F4430; --copper:#B97A3E; --hole:#231C10; --part:#0E1114; --part-ink:#D9E0E6;
--w-black:#8E98A3; --link:#9AA6B2; color-scheme:dark } }
:root[data-theme="dark"]{
--bg:#12161B; --surface:#1A1F25; --ink:#E2E7EC; --muted:#8C98A5; --line:#333B44; --accent:#8EB0F2; --warn:#F07B52;
--board:#6B5D40; --board-edge:#4F4430; --copper:#B97A3E; --hole:#231C10; --part:#0E1114; --part-ink:#D9E0E6;
--w-black:#8E98A3; --link:#9AA6B2; color-scheme:dark }
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--f-ui);padding-block:28px 56px;padding-inline:16px}
.wrap{max-width:1040px;margin:0 auto;display:grid;gap:26px}
h1{font:700 24px/1.15 var(--f-mono);margin:0}
h2{font:700 13px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0}
h3{font:700 15px var(--f-ui);margin:0}
.sub{color:var(--muted);margin:6px 0 0;max-width:74ch}
section{display:grid;gap:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:10px;min-width:0}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;font:500 13px var(--f-ui)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{display:inline-block;width:26px;height:6px;border-radius:3px}
.draw{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;overflow-x:auto}
.draw svg{display:block;width:100%;min-width:640px;height:auto}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.tbl{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}
table{width:100%;border-collapse:collapse;min-width:560px}
th{font:600 10px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:9px 12px;border-bottom:1px solid var(--line)}
td{padding:8px 12px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}
tr:last-child td{border-bottom:0}
td.m{font:500 13px var(--f-mono);white-space:nowrap;font-variant-numeric:tabular-nums}
.sw{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:6px}
ol,ul{margin:0;padding-left:20px;display:grid;gap:5px}
li{max-width:78ch}
.note{color:var(--muted);font-size:13px;margin:0;max-width:78ch}
.warn{color:var(--warn);font-weight:600}
code{font:500 12.5px var(--f-mono)}
table.check td{padding:7px 12px}
table.check td.hole{font:700 18px var(--f-mono);color:var(--accent)}
table.check td.part{font-weight:600;white-space:nowrap}
table.check tr.grp td{border-top:2px solid var(--line)}
table.check tr.done td{opacity:.45}
table.check tr.done td.hole{text-decoration:line-through}
table.check input{width:20px;height:20px}
#wmap{min-width:720px}
</style>