-
05f3dc9bc6
Top jump: surface the page head, not just the first selectable row

Jean-Pierre MartineauandClaude Fable 5
2026-08-08 19:11:00 -04:00
-
6787aace3c
F-key lane: a directional pair rises toward its outer key

Jean-Pierre MartineauandClaude Fable 5
2026-08-08 19:10:50 -04:00
-
cbdabef174
Find query: put it where the platform can actually show it

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 17:35:20 -04:00
-
8a80d47815
F-key lane: a jump rides the Shift half of the page it follows

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 14:56:42 -04:00
-
e00a0529fa
Node page: the key is a viewport you slide, not a line that wraps

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 12:02:00 -04:00
-
81e58803ee
Heard: our own ears outrank the sender's clock

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 03:49:46 -04:00
-
5a9015662b
F-key lane: a directional pair rises to the right, like a rocker

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 03:15:13 -04:00
-
5268892780
Map: buildings as a texture, because a filled dot is an eraser

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 02:29:48 -04:00
-
fd312db8b9
Map: name the street where you can see it, not where it begins

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 02:10:38 -04:00
-
71e979eadb
Tile decode: decide the layer once, on the way past

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 01:46:32 -04:00
-
eed7f6b38e
Map: keep the screen and one screen of history, drop the rest

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 01:19:04 -04:00
-
504ee37b9a
Tile cache: write the decoding down, not just the bytes

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 00:45:21 -04:00
-
4e7bcacc37
Tile decode: don't pay for the layers the map never draws

Jean-Pierre MartineauandClaude Opus 5
2026-08-08 00:04:59 -04:00
-
649a55b558
Tile cache: a flaky link's silence is not an empty tile

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 22:52:18 -04:00
-
6f5c61b133
Map: name the four hues the console cannot guess

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 22:36:25 -04:00
-
87f6dd7dd8
Sort chip: space the arrow like its paging neighbours

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 22:16:50 -04:00
-
6c1ddfe689
Sort chip: the shifted half flips the direction

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 22:03:47 -04:00
-
eaafc87403
Narrow wordmark for narrow screens; move the art out of the code

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 21:53:28 -04:00
-
5aeb034c06
Heat: seven steps on human boundaries; recolour the wordmark

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 21:16:46 -04:00
-
d79d85b7ee
An unknown node is light grey, and bold stops recolouring it

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 21:06:42 -04:00
-
935b4fb3b6
PicoCalc: nodes colour by key, like everywhere else

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 20:08:31 -04:00
-
b42375799a
F-key lane: chips name actions, not keys

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 19:24:52 -04:00
-
ba6e92107d
Message paths: direct frames never matched at all

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 19:21:29 -04:00
-
b5f4765743
Chat: message paths need a picked message

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 19:03:32 -04:00
-
790e17932e
F-key lane: dim a slot whose action isn't available

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 19:01:01 -04:00
-
f69d1785b7
Performance sweep: cache the render funnel, the queries, the graphs

Jean-Pierre MartineauandClaude Fable 5
2026-08-07 18:14:53 -04:00
-
6b13808ec6
Chat: count only conversations the picker can show

Jean-Pierre MartineauandClaude Opus 5
2026-08-07 17:12:35 -04:00
-
16f0101b74
Add wifi-set: interactive Wi-Fi join script for Calculinux

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-02 12:49:43 -04:00
-
86f0a19cf1
PicoCalc: center the title bar's title

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-02 03:46:20 -04:00
-
5e329a8883
Reapply "PicoCalc: title bar rule reads like a real frame's border"
Jean-Pierre Martineau
2026-08-02 03:28:28 -04:00
-
3a927b3d65
Revert "PicoCalc: title bar rule reads like a real frame's border"
Jean-Pierre Martineau
2026-08-02 03:06:02 -04:00
-
f22e8ebdc5
gitattributes: force LF on Python files too

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-02 02:56:20 -04:00
-
5a81b15ab5
PicoCalc: title bar rule reads like a real frame's border

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-02 02:52:17 -04:00
-
53e52db94a
Chat: fix F1/F2 both landing on the tail

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-02 02:29:05 -04:00
-
2d2652005b
Chat: cache each message independently, not a prefix

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-02 02:14:32 -04:00
-
599893e03a
Monitor: queue observation writes off the event loop

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-02 01:52:20 -04:00
-
d3bf493153
Chat: memoize the transcript render across repaints

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-02 01:52:14 -04:00
-
c8ce24340e
Calculinux: set Eastern timezone at bring-up

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-01 23:18:47 -04:00
-
4bae4f1faf
Calculinux: sync clock at boot once network is up

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-01 21:04:57 -04:00
-
337b56f52b
F-lane: drop Enter/Esc, promote paging to the prime pair

Jean-Pierre MartineauandClaude Haiku 4.5
2026-08-01 20:57:20 -04:00
-
45eacf3968
F-lane: coloured chips, plain-key priority, shift latch

Jean-Pierre MartineauandClaude Haiku 4.5
2026-08-01 17:45:56 -04:00
-
2f8f77be49
Review round: the standard palette, by JP's call

Jean-Pierre MartineauandClaude Fable 5
2026-08-01 14:53:31 -04:00
-
e425e8fc41
P7: parity enforcement & docs - the platforms standard is binding

Jean-Pierre MartineauandClaude Fable 5
2026-08-01 13:15:46 -04:00
-
f21817b816
P6: the 53-column worklist graduates - every picocalc case a hard gate

Jean-Pierre MartineauandClaude Fable 5
2026-08-01 13:12:09 -04:00
-
89eef7f4d2
P5: device integration - host battery, the 6x8 A/B font, deploy updates

Jean-Pierre MartineauandClaude Fable 5
2026-08-01 13:08:17 -04:00
-
2b658f47a9
P4: PicoCalc chrome & input - borderless frame, slim header, F-key lane

Jean-Pierre MartineauandClaude Fable 5
2026-08-01 12:56:49 -04:00
-
84caae53f8
P3 rework: the PicoCalc visual language, done properly

Jean-Pierre MartineauandClaude Fable 5
2026-08-01 12:48:07 -04:00
-
66d728a3b3
Untracked: planning and work-in-progress notes

Jean-Pierre MartineauandClaude Haiku 4.5
2026-08-01 11:37:51 -04:00
-
c94a242812
P3: PicoCalc visual language — 16-slot palette and compact glyphs

Jean-Pierre MartineauandClaude Haiku 4.5
2026-08-01 11:36:20 -04:00
-
63cd4e5f96
Performance: SQLite WAL, lighter startup, per-platform tick rates

Jean-Pierre MartineauandClaude Opus 5
2026-08-01 03:40:42 -04:00
-
8f1fba135e
Platform seam: meshterm/platforms.py, --platform flag, dual-platform gallery

Jean-Pierre MartineauandClaude Sonnet 5
2026-08-01 02:18:22 -04:00
-
077742868a
scripts/xiao-radio: PicoCalc XIAO nRF52840 UART radio setup

Jean-Pierre MartineauandClaude Opus 4.8
2026-07-31 02:02:48 -04:00
-
f5880bfc20
Device picker: list configured serial profiles (soldered platform UARTs)

Jean-Pierre MartineauandClaude Opus 4.8
2026-07-31 02:02:33 -04:00
-
19ac17a262
Heard ages: a sender's future clock no longer pins the list

Jean-Pierre MartineauandClaude Fable 5
2026-07-30 00:56:21 -04:00
-
e266e387e9
Rows: a row can now size itself, like a separator always could

Jean-Pierre MartineauandClaude Fable 5
2026-07-29 23:19:10 -04:00
-
f1b8030055
Record card: one spelling of the 12-cell label lane

Jean-Pierre MartineauandClaude Fable 5
2026-07-29 23:14:26 -04:00
-
0add80a821
Footers: one verb per Enter, settled in the standard

Jean-Pierre MartineauandClaude Fable 5
2026-07-29 23:13:55 -04:00
-
4aef3e7b82
Tests: one way to read a screen

Jean-Pierre MartineauandClaude Fable 5
2026-07-29 23:12:24 -04:00
-
f3de1d1213
Share popups: one layout, minted where the code is drawn

Jean-Pierre MartineauandClaude Fable 5
2026-07-29 23:07:49 -04:00
-
5f8ffc1788
Ages: the chat picker re-derived the column grammar

Jean-Pierre MartineauandClaude Fable 5
2026-07-29 23:06:40 -04:00
-
1efe3cae67
Exit groups: two lists still spelled Back by hand

Jean-Pierre MartineauandClaude Fable 5
2026-07-29 23:06:02 -04:00
-
b143a6670d
Empty states: lowercase muted, never parenthesized

Jean-Pierre MartineauandClaude Fable 5
2026-07-29 23:05:21 -04:00
-
0fc7eeaf5f
Chat: the lexicon has one word for reception, and it is heard

Jean-Pierre MartineauandClaude Fable 5
2026-07-29 23:05:07 -04:00
-
bfe921212d
Frames: the header ticks, so repaint the header

Jean-Pierre MartineauandClaude Opus 5
2026-07-29 19:06:54 -04:00
-
a2b2c85539
Frames: an idle screen is not a reason to erase the terminal

Jean-Pierre MartineauandClaude Opus 5
2026-07-29 04:23:08 -04:00
-
f17f7b95a1
Emoji width: the motorway is two cells wide, whoever says otherwise

Jean-Pierre MartineauandClaude Opus 5
2026-07-29 04:13:44 -04:00
-
65a47af037
Trophy case: the cells belong to the walk

Jean-Pierre MartineauandClaude Opus 5
2026-07-29 04:13:44 -04:00
-
0a41303366
Lists: what stays overhead is the section you are in

Jean-Pierre MartineauandClaude Opus 5
2026-07-29 04:13:14 -04:00
-
680fa294c6
Right Ctrl: one table, and it reaches the session's own chords

Jean-Pierre MartineauandClaude Opus 5
2026-07-29 04:12:52 -04:00
-
0756537bdf
Topology: a stub the hash can't place, placed by the company it keeps

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 21:12:13 -04:00
-
722c8f0e4f
Mesh walk: the atlas is a walk, everywhere it's named

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 20:59:25 -04:00
-
b76f50d6f4
Mesh atlas: the trail is a path line, snapped to where you are

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 19:50:01 -04:00
-
e99e6cf238
Contacts: opens on who's out there now, not a roll call

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 19:34:11 -04:00
-
7b3fdff84e
Live feed: the way out, where every list keeps it

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 19:27:33 -04:00
-
01ca242c98
Live feed: the lane is about the packet, whatever the packet is about

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 19:11:07 -04:00
-
64ac7dc2ed
Live feed: column headers over the lanes, the app's own cursor

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 03:35:52 -04:00
-
db68a17e23
Live feed: the route is Enter's job, not a lane's

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 03:18:57 -04:00
-
c2c10aef33
Revert "Live feed: one trailing lane, for whatever the row is about"
Jean-Pierre Martineau
2026-07-28 03:14:47 -04:00
-
f2330e5372
Live feed: one trailing lane, for whatever the row is about

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 03:13:14 -04:00
-
3de4f8d9f9
Live feed: file a packet under what it is, and say it once

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 02:50:03 -04:00
-
8afa592e9a
Route graph: a hop heard twice is drawn twice, and said so

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 00:33:58 -04:00
-
50a3322b84
Live feed: rows slide sideways; the viewer's via folds

Jean-Pierre MartineauandClaude Opus 5
2026-07-28 00:16:22 -04:00
-
ebbaa5f825
Message paths: the route takes the row, its facts step under

Jean-Pierre MartineauandClaude Opus 5
2026-07-27 23:55:35 -04:00
-
c537fa971e
Path lines: the cursor is a hop; message paths read as names

Jean-Pierre MartineauandClaude Opus 5
2026-07-27 21:16:47 -04:00
-
fc9a459eda
Path lines: notch every chip's left edge; merge duplicate hops

Jean-Pierre MartineauandClaude Opus 5
2026-07-27 20:28:18 -04:00
-
2c2f13ce41
Path lines: gapped chips, both ends automatic, routes name nodes

Jean-Pierre MartineauandClaude Opus 5
2026-07-27 19:05:43 -04:00
-
edbd7cdcfa
Path lines: step a wrapped line in past its hanging indent

Jean-Pierre MartineauandClaude Opus 5
2026-07-27 18:33:09 -04:00
-
141e3c9e51
Path lines: a star for us, a clean notch, rounded outer ends

Jean-Pierre MartineauandClaude Opus 5
2026-07-27 18:25:33 -04:00
-
c393aabc52
Path lines: the point always faces the way the path flows

Jean-Pierre MartineauandClaude Opus 5
2026-07-27 17:20:55 -04:00
-
c7ad0c4ad3
Path lines: open the seam where two chips share a fill

Jean-Pierre MartineauandClaude Opus 5
2026-07-27 17:06:50 -04:00
-
7c0c2c5a07
Path lines: bare us endpoints, female point opening a wrapped line

Jean-Pierre MartineauandClaude Opus 5
2026-07-27 17:04:49 -04:00
-
e33f30d6f8
Path composer: hop-boundary preview wrap, cursor riding its seam

Jean-Pierre MartineauandClaude Fable 5
2026-07-26 20:31:06 -04:00
-
22f0eb54dd
TX optimize: route lane through the path-line widget, hop-wrapped header

Jean-Pierre MartineauandClaude Fable 5
2026-07-26 20:31:06 -04:00
-
823c772c6e
Node detail + live feed: route rows through the path-line widget

Jean-Pierre MartineauandClaude Fable 5
2026-07-26 20:31:05 -04:00
-
719b1edce6
Trace screen: explore rows in key hues, hscroll pickers, hanging spec lane

Jean-Pierre MartineauandClaude Fable 5
2026-07-26 20:31:05 -04:00
-
3b1718fa4d
Paths: arrow the TX sweep title, drop dead path_str, hscroll the trophy browser

Jean-Pierre MartineauandClaude Fable 5
2026-07-26 20:31:05 -04:00
-
2c04fb5b96
Path line: path_text-parity factory, cursor-aware wrap, plain pin for tests

Jean-Pierre MartineauandClaude Fable 5
2026-07-26 20:30:50 -04:00
-
13dd79018d
Path line: flexible hop-sequence widget, powerline chips or arrows

Jean-Pierre MartineauandClaude Fable 5
2026-07-26 18:27:20 -04:00
-
8992e413de
Term font: detect powerline support from a recommended-font list

Jean-Pierre MartineauandClaude Fable 5
2026-07-26 18:27:20 -04:00
-
8fdd7572bd
Message paths: hold the fan's shape still across the selection

Jean-Pierre MartineauandClaude Opus 5
2026-07-26 18:12:46 -04:00