From e394d46760847233985686ed209cdb9ce6a66054 Mon Sep 17 00:00:00 2001 From: Stuart Meeks Date: Mon, 1 Jun 2026 07:43:21 +0000 Subject: [PATCH 1/2] TODO: icon picker shipped for tags; keep only the follow-ups The glyph picker landed for tag icons in PR #40. Replace the backlog entry with the genuinely-unbuilt follow-ups: a glyph option for CLI icons, catalogue size/search depth if it grows, and a durable catalogue location that survives Velopack updates. Co-Authored-By: Claude Opus 4.8 --- TODO.md | 51 ++++++++++++++++++++------------------------------- 1 file changed, 20 insertions(+), 31 deletions(-) diff --git a/TODO.md b/TODO.md index 80abc92..743f6c1 100644 --- a/TODO.md +++ b/TODO.md @@ -152,34 +152,23 @@ worth doing carefully, and worth a design conversation before the first PR. --- -## Icon picker (glyph browser) for tag icons - -**Problem.** Tag icons are set by typing a raw glyph — either pasting a Segoe -Fluent Icons character or entering its hex code point (`GlyphInput.Resolve` -already accepts `E8EC`, `U+E8EC`, `0xE8EC`, ``). That works, but it's -unfriendly: the user has to know or look up a code point and can't see what's -available. There's no way to browse the icon set. - -**Idea.** A visual icon picker — a searchable grid of glyphs the user clicks to -choose — instead of (or alongside) typing a code. Driven from the Tags -management view, and a reusable fit for any future "choose a glyph" need. - -**Sketch.** -- A reusable `IconPicker` control / flyout: a virtualised `GridView` of - `FontIcon`s over a list of Segoe Fluent Icons glyphs, with a search box that - filters by name and/or code point. -- Needs a glyph **catalogue** — code point + friendly name — for the grid and - search. Either hand-curate a useful subset or embed the published Segoe Fluent - Icons mapping; the names are what make search worthwhile. -- Wire into the Tags view: add a "Choose…" button next to each row that opens - the picker, while keeping the free-text field as an escape hatch for pasting / - power users. -- Selection still flows through `GlyphInput.Resolve` and the stored-character - model, so persistence is unchanged. - -**Open questions** to settle when scheduled: -- Curated subset vs. full catalogue (the full set is ~1.5k glyphs — needs - virtualisation and good search to stay usable). -- Where do the glyph **names** come from, and is fuzzy search worth it? -- Do CLI icons (today: uploaded image, identicon fallback) also gain a - "pick a glyph instead" option, or stay image-only? Keep the first cut to tags. +## Icon picker — follow-ups beyond the tags first cut + +The visual glyph picker shipped for **tag** icons (PR #40): a searchable +`GridView` of `FontIcon`s, a "Choose…" button per tag row, the free-text field +kept as an escape hatch, and a curated catalogue in the App's `appsettings.json` +(re-read on each open) grounded against the official Segoe Fluent Icons list. +What's left for a later pass: + +- **A glyph option for CLI icons.** CLIs are image-upload + identicon-fallback + today; let them optionally pick a glyph too, reusing the same picker and + catalogue. This was explicitly out of the first cut. +- **Catalogue size / search depth.** The shipped set is 50 curated glyphs with + substring search over name, keywords and code point — plenty at this size. If + it grows toward the full ~1.5k font, revisit fuzzy search and lean harder on + virtualisation. The catalogue is just data in `appsettings.json`, so growing + it needs no code change. +- **Durable catalogue location.** `appsettings.json` sits in the install + directory, so a Velopack update overwrites user edits. If customising the + catalogue becomes a real use case, move it (or an override) to `LocalAppData` + alongside the rest of app config. From 50405257f3c466498c8a99b0b5a9b137963210f7 Mon Sep 17 00:00:00 2001 From: Stuart Meeks Date: Mon, 1 Jun 2026 08:00:54 +0000 Subject: [PATCH 2/2] TODO: drop the icon-picker section entirely MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The picker shipped for tags, and Stuart isn't pursuing the follow-ups (CLI glyph icons, larger catalogue, durable location — the last is now done anyway). Remove the section rather than keep a stale backlog entry. Co-Authored-By: Claude Opus 4.8 --- TODO.md | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/TODO.md b/TODO.md index 743f6c1..ca8021b 100644 --- a/TODO.md +++ b/TODO.md @@ -149,26 +149,3 @@ matching the existing backup-retention shape. This is a *significant* expansion of Snipdeck's surface area — it crosses from "snippet manager" into "lightweight runbook executor". Worth doing, worth doing carefully, and worth a design conversation before the first PR. - ---- - -## Icon picker — follow-ups beyond the tags first cut - -The visual glyph picker shipped for **tag** icons (PR #40): a searchable -`GridView` of `FontIcon`s, a "Choose…" button per tag row, the free-text field -kept as an escape hatch, and a curated catalogue in the App's `appsettings.json` -(re-read on each open) grounded against the official Segoe Fluent Icons list. -What's left for a later pass: - -- **A glyph option for CLI icons.** CLIs are image-upload + identicon-fallback - today; let them optionally pick a glyph too, reusing the same picker and - catalogue. This was explicitly out of the first cut. -- **Catalogue size / search depth.** The shipped set is 50 curated glyphs with - substring search over name, keywords and code point — plenty at this size. If - it grows toward the full ~1.5k font, revisit fuzzy search and lean harder on - virtualisation. The catalogue is just data in `appsettings.json`, so growing - it needs no code change. -- **Durable catalogue location.** `appsettings.json` sits in the install - directory, so a Velopack update overwrites user edits. If customising the - catalogue becomes a real use case, move it (or an override) to `LocalAppData` - alongside the rest of app config.