← Commit history

v2.0.705 (insiders): Annotate's quick colors are red, blue and green: the muddy yellow/orange third color is gone from the trio and from Multi's automatic cycle (red, blue, green, purple), so every mark has a color anyone can name to the AI. Yellow stays in the More flyout, and every swatch shows its color name on hover (John, 2026-10-07). Gates on arav-rog: smoke all pass, parity 55/56; foreground and jump list not run (another thread's window on the test boxes, winvm offline).

John Lauer ·bdd3a30d0c ·1mo ago ·parent c267e1c
3 files changed +25−20
rust/Cargo.lock+12−12
@@ -10,7 +10,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"  [[package]] name = "adom-pup-bridge"-version = "2.0.704"+version = "2.0.705" dependencies = [  "pup-browser",  "pup-cdp",@@ -655,7 +655,7 @@ dependencies = [  [[package]] name = "pup-browser"-version = "2.0.704"+version = "2.0.705" dependencies = [  "pup-core",  "pup-host",@@ -667,7 +667,7 @@ dependencies = [  [[package]] name = "pup-cdp"-version = "2.0.704"+version = "2.0.705" dependencies = [  "serde_json",  "thiserror",@@ -677,7 +677,7 @@ dependencies = [  [[package]] name = "pup-core"-version = "2.0.704"+version = "2.0.705" dependencies = [  "serde",  "serde_json",@@ -687,7 +687,7 @@ dependencies = [  [[package]] name = "pup-dashboard"-version = "2.0.704"+version = "2.0.705" dependencies = [  "pup-cdp",  "pup-core",@@ -700,7 +700,7 @@ dependencies = [  [[package]] name = "pup-host"-version = "2.0.704"+version = "2.0.705" dependencies = [  "serde",  "serde_json",@@ -709,14 +709,14 @@ dependencies = [  [[package]] name = "pup-host-mac"-version = "2.0.704"+version = "2.0.705" dependencies = [  "pup-host", ]  [[package]] name = "pup-host-win"-version = "2.0.704"+version = "2.0.705" dependencies = [  "pup-core",  "pup-host",@@ -726,7 +726,7 @@ dependencies = [  [[package]] name = "pup-identity"-version = "2.0.704"+version = "2.0.705" dependencies = [  "fontdue",  "image",@@ -736,7 +736,7 @@ dependencies = [  [[package]] name = "pup-session"-version = "2.0.704"+version = "2.0.705" dependencies = [  "pup-core",  "serde",@@ -746,7 +746,7 @@ dependencies = [  [[package]] name = "pup-vault"-version = "2.0.704"+version = "2.0.705" dependencies = [  "pup-core",  "pup-host",@@ -757,7 +757,7 @@ dependencies = [  [[package]] name = "pup-verbs"-version = "2.0.704"+version = "2.0.705" dependencies = [  "base64",  "png 0.17.16",
rust/Cargo.toml+1−1
@@ -4,7 +4,7 @@ members = ["core", "host", "host-win", "host-mac", "cdp", "browser", "session",  # One version for the whole bridge, in lockstep with src/BRIDGE_VERSION (tools/ship.sh bumps both). [workspace.package]-version = "2.0.704"+version = "2.0.705" edition = "2021" license = "MIT" 
src/extension/annotate-overlay.js+12−7
@@ -223,8 +223,12 @@ window.__pupStartAnnotate = function (initTool, initMode) {   // v2.0.370 (John): the color control is now a one-click TRIO — red (default), blue, yellow —   // with the rarer colors one click deeper in a flyout. The old single cycling dot made   // red→blue three clicks; picking between about 3 colors must be instant.-  var SW_MAIN = ['#f85149', '#64abff', '#d29922'];-  var SW_MORE = ['#3fb950', '#8c6bf7', '#e6edf3'];+  // 2.0.705 (John, 2026-10-07): the third quick color is GREEN, not the amber yellow. The point of the colors is+  // to tell the AI about them ("the green circle is the regulator"), and red, blue and green are names nobody has+  // to think about; "the yellow/orange one" was ambiguous. Yellow moves to the flyout and out of the auto cycle.+  var SW_MAIN = ['#f85149', '#64abff', '#3fb950'];+  var SW_MORE = ['#8c6bf7', '#e3b341', '#e6edf3'];+  var SW_NAME = { '#f85149': 'Red', '#64abff': 'Blue', '#3fb950': 'Green', '#8c6bf7': 'Purple', '#e3b341': 'Yellow', '#e6edf3': 'White' };   var flyout = document.createElement('div');   flyout.style.cssText = 'position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);display:none;gap:7px;background:#161b22f2;border:1px solid #30363d;border-radius:999px;padding:7px 10px;box-shadow:0 6px 24px #000a;pointer-events:auto;';   var more = document.createElement('button');@@ -233,9 +237,9 @@ window.__pupStartAnnotate = function (initTool, initMode) {     [].forEach.call(wrap.querySelectorAll('button[data-sw]'), function (x) { x.style.borderColor = x.dataset.sw === c ? '#fff' : 'rgba(255,255,255,.25)'; });     more.style.outline = SW_MORE.indexOf(c) >= 0 ? '2px solid #fff' : 'none';   }-  // v2.0.371: the multi-mode auto-advance cycle — the quick trio then green/purple, never white.+  // v2.0.371: the multi-mode auto-advance cycle. 2.0.705: red, blue, green, purple; never yellow or white.   function advanceColor() {-    var CYCLE = ['#f85149', '#64abff', '#d29922', '#3fb950', '#8c6bf7'];+    var CYCLE = ['#f85149', '#64abff', '#3fb950', '#8c6bf7'];     setColor(CYCLE[(CYCLE.indexOf(S.color) + 1) % CYCLE.length]);   }   function swBtn(c, parent) {@@ -244,12 +248,13 @@ window.__pupStartAnnotate = function (initTool, initMode) {     s.style.cssText = 'width:18px;height:18px;border-radius:50%;cursor:pointer;background:' + c + ';border:2px solid ' + (S.color === c ? '#fff' : 'rgba(255,255,255,.25)') + ';padding:0;flex:none;';     s.onclick = function () { setColor(c); };     parent.appendChild(s);+    if (SW_NAME[c]) tipFor(s, SW_NAME[c]);   // 2.0.705: name the color, so it is clear what to call it when talking to the AI     return s;   }   SW_MAIN.forEach(function (c) { swBtn(c, bar); });-  more.style.cssText = 'width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.25);padding:0;flex:none;background:conic-gradient(#f85149,#d29922,#3fb950,#64abff,#8c6bf7,#f85149);';+  more.style.cssText = 'width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.25);padding:0;flex:none;background:conic-gradient(#f85149,#e3b341,#3fb950,#64abff,#8c6bf7,#f85149);';   more.onclick = function () { flyout.style.display = flyout.style.display === 'none' ? 'flex' : 'none'; };-  bar.appendChild(more); tipFor(more, 'More colors: green, purple, white.');+  bar.appendChild(more); tipFor(more, 'More colors: purple, yellow, white.');   SW_MORE.forEach(function (c) { swBtn(c, flyout); });   bar.appendChild(flyout);   // v2.0.370 (John): Auto vs Multi as an explicit two-state control, not a lone toggle.@@ -265,7 +270,7 @@ window.__pupStartAnnotate = function (initTool, initMode) {     return b;   }   var mAuto = modeBtn('Single', 'auto', true, 'Single (S): draw one thing, lift the mouse, and it is captured and copied to your clipboard instantly. Space switches back to Multi.');-  var mMulti = modeBtn('Multi', 'multi', false, 'Multi (the default, M): draw several shapes and NOTHING is captured until you press Enter or click Done. The color auto-advances after each shape (red, blue, yellow, green, purple) so every shape is distinct — click a swatch any time to override.');+  var mMulti = modeBtn('Multi', 'multi', false, 'Multi (the default, M): draw several shapes and NOTHING is captured until you press Enter or click Done. The color auto-advances after each shape (red, blue, green, purple) so every shape is distinct — click a swatch any time to override.');   // 2.0.701: a one-line hint under the toolbar that says how to finish in the current mode and how to switch.   var hint = document.createElement('div');   hint.style.cssText = 'position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:6px;white-space:nowrap;background:#161b22e6;border:1px solid #30363d;border-radius:999px;padding:3px 11px;font:12px Satoshi,system-ui,sans-serif;color:#8b949e;pointer-events:none;';