From 767742ba127f7d04bb524d75ab80ce70d9321986 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sun, 12 Jul 2026 10:36:58 +0200 Subject: [PATCH] docs(v0.6): mark boot-read + catalog done, finalise the catalog list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Record the firmware boot-read (serde_json builds for xtensa) and the just-init catalog as delivered, and replace the proposed French catalog with the finalised 17-snippet English set (three groups). Note the →/≠ base-font caveat and the no-clobber seeding guard. --- docs/typoena-snippets.md | 8 ++++--- docs/v0.6-markdown.md | 51 +++++++++++++++++++++++----------------- 2 files changed, 34 insertions(+), 25 deletions(-) diff --git a/docs/typoena-snippets.md b/docs/typoena-snippets.md index 1b900ca..27d805d 100644 --- a/docs/typoena-snippets.md +++ b/docs/typoena-snippets.md @@ -127,9 +127,11 @@ rather than refusing to start over a stray comma. the device on the next clone/sync. This is deliberately where the heavy editing happens; the appliance is for writing, not for maintaining a JSON library. - **First-time setup.** [`just init`](../firmware/README.md#provisioning-an-sd-card) - seeds this file from a curated catalog — you pick which snippet groups you - want and it writes the selected subset into `repo/.typoena.snippets.json` - (committed on the device's first `:sync`). See + seeds this file from a curated catalog (`firmware/snippets-catalog/`) — you pick + which snippet groups you want and it `jq`-merges the selected subset into + `repo/.typoena.snippets.json` (committed on the device's first `:sync`). It + writes **only if the file is absent**, so re-running `init` on a card whose + clone already carries your library never overwrites it. See [`v0.6-markdown.md`](v0.6-markdown.md) for the catalog. - **On-device hand-edit — deferred.** The palette hides dotfiles, and `:e` was dropped in v0.6, so there is no in-editor path to this file yet. When one is diff --git a/docs/v0.6-markdown.md b/docs/v0.6-markdown.md index a00d409..d551a6e 100644 --- a/docs/v0.6-markdown.md +++ b/docs/v0.6-markdown.md @@ -53,10 +53,12 @@ behaviour. tab-stop session. Lists **all** snippets — the fuzzy filter handles clutter, so there's no hidden "inline-only vs palette-only" split. Rows read `Name [prefix]`, so browsing also teaches the inline trigger. -- [ ] **Boot wiring.** The host reads `/sd/repo/.typoena.snippets.json` at boot +- [x] **Boot wiring.** The host reads `/sd/repo/.typoena.snippets.json` at boot and calls `Editor::set_snippets` (mirroring `set_prefs`); a missing or malformed file is non-fatal (no snippets, editor runs). Parse lives in the - host-testable `editor` crate via `serde_json` — the one new dependency. + host-testable `editor` crate via `serde_json` — the one new dependency, + confirmed to build for xtensa (`cargo check`, firmware 0.6.0). On-device + smoke-test still pending. ## The palette, generalised (`Cmd-P` · `>` · `$`) — done in core @@ -81,25 +83,30 @@ them: `Go to file · > settings · $ snippets`. Labels avoid `…`/`↹` — the palette/panel fonts are ISO-8859-15, which has neither glyph — so `new file...` uses ASCII dots and the pause hint leads with `»`. -## First-time setup — snippet catalog (`just init`) +## First-time setup — snippet catalog (`just init`) — done -[`just init`](../firmware/README.md#provisioning-an-sd-card) gains a step that -seeds the two git-tracked config files into `repo/` (so they commit + sync on the -device's first `:sync`): a starter [`.typoena.toml`](typoena-toml.md) (the four -keys at their defaults, or confirmed at a prompt) and a -[`.typoena.snippets.json`](typoena-snippets.md) chosen from a **curated catalog** -checked into the repo. The catalog is grouped and opt-in — you pick the groups -you want rather than getting all of one writer's personal templates. Not every -Zed snippet is worth proposing: the Slidev/blog-pipeline ones (`@[youtube]`, -``, frontmatter, mermaid) and render-dependent or hyper-specific ones -are left out of the menu, since a distraction-free prose appliance can't render -them and you'd never miss them. **Proposed groups (pending sign-off):** +[`just init`](../firmware/README.md#provisioning-an-sd-card) seeds the two +git-tracked config files into `repo/` (so they commit + sync on the device's +first `:sync`), **writing only a file that is absent** so a re-`init` never +clobbers a synced library: a starter [`.typoena.toml`](typoena-toml.md) (the five +keys at their defaults) and a [`.typoena.snippets.json`](typoena-snippets.md) +assembled from a **curated catalog** (`firmware/snippets-catalog/`, `jq`-merged). +The catalog is grouped and opt-in — you pick the groups (each `[Y/n]`, all-yes on +a non-interactive run) rather than getting one writer's whole personal set. Not +every Zed snippet is worth proposing: the Slidev/blog-pipeline ones (`@[youtube]`, +``, frontmatter, mermaid) and hyper-specific personal ones are left out, +since a distraction-free prose appliance can't render them and you'd never miss +them. Prefixes are **English** (except `edanso`, the mnemonic for `œ`), bodies +translated from the source Zed snippets. **Three groups, 17 snippets:** - - [ ] **Symbols** (inline, keyboard can't type them): `fleche`→`→`, - `different`→`≠`, `fois`→`×`, `median`→`·`, `degre`→`°`, `euro`→`€`, - `edanso`→`œ` (dead keys in v0.2.5 cover accents, *not* these). - - [ ] **Structure**: `todo`→`- [ ] `, `link`→`[$1]($2)$0`, `img`→`![$1]($2)$0` - (net-new — obvious for Markdown), `table`, `code` (fenced block). - - [ ] **Prose / PKM templates** (`${n:label}` stripped to `$n`): `fiche` - (book notes), `reference`/`refangl` (reference block), `biais`, - `capture`, `standard`, `5w1h`. + - [x] **Symbols** (inline, the keyboard can't type them): `arrow`→`→`, + `neq`→`≠`, `times`→`×`, `middot`→`·`, `deg`→`°`, `euro`→`€`, `edanso`→`œ` + (dead keys in v0.2.5 cover accents, *not* these). **Caveat:** `→` (U+2192) + and `≠` (U+2260) are outside ISO-8859-15, so they store correctly and sync + but render as a missing-glyph box on the device panel until the font is + extended; the other five are Latin-9 and draw fine. Kept deliberately. + - [x] **Structure**: `todo`→`- [ ] `, `link`→`[$1]($2)$0`, `img`→`![$1]($2)$0`, + `table` (2-col), `code` (fenced block). `img`/`code` are net-new. + - [x] **Prose / PKM templates** (`${n:label}` stripped to `$n`): `booknotes`, + `reference` (the English reference block — `refangl` folded in), `bias`, + `capture`, `standard`. (`5w1h` dropped.)