diff --git a/AMICODE-PATCHES.md b/AMICODE-PATCHES.md index e5eba9e0fb..fd38436f25 100644 --- a/AMICODE-PATCHES.md +++ b/AMICODE-PATCHES.md @@ -106,7 +106,7 @@ Format: file:line — string/asset — replacement. [desktop] = ships only in th | 10 | packages/app/src/desktop-menu.ts:75 [desktop] | menu label "OpenCode" | "Amicode" | | 11 | packages/app/src/wsl/settings-model.ts:17-18 [desktop, Windows/WSL] | "Install OpenCode"/"Update OpenCode" | "Install/Update Amicode" | | 13 | packages/ui/src/components/logo.css | `[data-component="logo-mark"]` aspect-ratio 4/5 (old 16x20 viewBox) | aspect-ratio 1/1 (new square amico mark) | -| 12 | packages/ui/src/theme/themes/oc-2.json (default theme) | accent tokens `v2-{background,text,icon}-*accent*` = blue-600/700 (light), blue-400/300 (dark) | Harmoniqs accent `#FFF676` (brand.css `--color-accent`): dark text/icon/bg-accent → `#FFF676`, hover `#FFFA9E`; light bg-accent → `#FFF676`, light text/icon-accent → derived dark shades `#857A00` / hover `#6B6200` (raw `#FFF676` is unreadable on light bg) | +| 12 | packages/ui/src/theme/themes/oc-2.json (default theme) | accent tokens `v2-{background,text,icon}-*accent*` = blue-600/700 (light), blue-400/300 (dark) | Harmoniqs accent `#FFF676` (brand.css `--color-accent`): dark text/icon/bg-accent → `#FFF676`, hover `#FFFA9E`; light bg-accent → `#FFF676` (fill; dark text sits on it), light text/icon-accent → neutral dark ink `grey-1000` / hover `grey-900` (yellow is a FILL, never an ink — raw `#FFF676` is unreadable on light bg, so brand shows as lemon fills with a 1px dark hairline edge, e.g. `.amc-livedot`; matches the webview treatment in harmoniqs/amicode#140) | Deliberately left stock (and why): diff --git a/packages/app/public/brain.html b/packages/app/public/brain.html index cf933a6ef0..276225fc3a 100644 --- a/packages/app/public/brain.html +++ b/packages/app/public/brain.html @@ -27,6 +27,8 @@ --accent: #fff676; --on-accent: #000000; --thought: #fff676; /* live-signal color: pulses, flares, live survey lines */ + --thought-edge: #fffa9e; /* dark: the halo is a LIGHTER lemon (the brand hover step) — + light mode flips it darker; the node base is always #fff676 */ --thought-text: #d8cf6a; /* accent-adjacent, legible as text on this surface */ --cat-knowledge: #3794ff; /* series-1 — notes, insights, charter, strategy */ --cat-results: #c17800; /* series-2 — experiments, catalog pulses */ @@ -47,8 +49,11 @@ --edge-rest: rgba(0, 0, 0, 0.15); --node-rest-fill: #eae7dd; --node-rest-border: rgba(0, 0, 0, 0.26); - --thought: #8f8000; - --thought-text: #7a6e00; + --thought: #fff676; /* the TRUE brand lemon — brain.js pairs every thought stroke/fill + with a --thought-edge under-stroke so it reads on paper */ + --thought-edge: #e3d958; /* light-only halo: the SAME hue/chroma as the lemon, lightness + stepped 0.956→0.87 (OKLCH) — a soft darker-lemon edge, not ink */ + --thought-text: #52524b; /* signal TEXT stays ink — yellow is never text */ --cat-knowledge: #1866c9; --cat-results: #8f5800; --cat-skills: #7b4fa8; @@ -68,8 +73,11 @@ --edge-rest: rgba(0, 0, 0, 0.15); --node-rest-fill: #eae7dd; --node-rest-border: rgba(0, 0, 0, 0.26); - --thought: #8f8000; - --thought-text: #7a6e00; + --thought: #fff676; /* the TRUE brand lemon — brain.js pairs every thought stroke/fill + with a --thought-edge under-stroke so it reads on paper */ + --thought-edge: #e3d958; /* light-only halo: the SAME hue/chroma as the lemon, lightness + stepped 0.956→0.87 (OKLCH) — a soft darker-lemon edge, not ink */ + --thought-text: #52524b; /* signal TEXT stays ink — yellow is never text */ --cat-knowledge: #1866c9; --cat-results: #8f5800; --cat-skills: #7b4fa8; @@ -90,6 +98,7 @@ --node-rest-border: rgba(255, 255, 255, 0.24); --accent: #fff676; --thought: #fff676; + --thought-edge: #fffa9e; --thought-text: #d8cf6a; --cat-knowledge: #3794ff; --cat-results: #c17800; @@ -245,6 +254,11 @@ + + diff --git a/packages/app/public/brain.js b/packages/app/public/brain.js index e0029cc018..35b313f316 100644 --- a/packages/app/public/brain.js +++ b/packages/app/public/brain.js @@ -21,6 +21,24 @@ // for them, so this must be known before the graph settles var liveWide = /[?&]mode=live/.test(location.search); +/* The demo chrome ships inert in