Brooklyn Nicholson
e0325cf769
feat(desktop): Capabilities foundation — shared utils, master-detail, editors, primitives
The reusable base the Capabilities rework sits on:
- lib/{text,time,format,json-format}: consolidate ~30 hand-rolled string/date/
number/JSON helpers behind one set of tested utilities.
- master-detail scaffold (MasterDetail / ListColumn / DetailColumn / DetailPane /
CapRow / ListStrip / ToolChip / ICON_BUTTON) + row-hover; tabs-as-data
PageSearchShell; EmptyState + ErrorBanner; a shared LogTail terminal surface.
- framed CodeEditor + JsonDocumentEditor, wired into every in-app markdown/JSON
edit surface (profile SOUL.md, memory nodes, right-click sidebar profile).
- shared React Query cache helper (writeCache) + per-profile-switch/ debounce hooks.
2026-07-03 05:08:13 -05:00
..
2026-06-28 19:11:48 -05:00
2026-06-02 16:33:22 -04:00
2026-06-11 01:49:24 +00:00
2026-06-15 17:48:35 -05:00
2026-06-28 19:33:43 -05:00
2026-07-02 11:36:21 -05:00
2026-07-02 11:36:21 -05:00
2026-05-31 17:46:56 -05:00
2026-05-31 17:46:56 -05:00
2026-05-31 17:46:56 -05:00
2026-06-26 01:04:33 -05:00
2026-07-02 12:32:30 -05:00
2026-07-02 12:32:30 -05:00
2026-06-28 16:23:39 -05:00
2026-06-28 16:23:39 -05:00
2026-07-02 12:27:52 -05:00
2026-07-02 12:27:52 -05:00
2026-06-24 19:18:29 -05:00
2026-06-24 19:18:29 -05:00
2026-06-22 18:19:36 -05:00
2026-06-26 01:04:33 -05:00
2026-06-26 01:04:33 -05:00
2026-06-08 21:35:21 -04:00
2026-06-08 21:35:21 -04:00
2026-07-03 05:08:13 -05:00
2026-06-08 15:24:15 -05:00
2026-06-08 15:24:15 -05:00
2026-06-30 21:23:38 +07:00
2026-06-30 21:23:38 +07:00
2026-06-28 21:20:35 -05:00
2026-06-26 01:04:33 -05:00
2026-06-26 01:04:33 -05:00
2026-06-04 19:41:51 -05:00
2026-06-30 04:36:17 -05:00
2026-05-31 17:46:56 -05:00
2026-07-03 05:08:13 -05:00
2026-07-03 05:08:13 -05:00
2026-05-31 17:46:56 -05:00
2026-06-30 00:54:21 -05:00
2026-06-26 01:04:33 -05:00
2026-05-31 17:46:56 -05:00
2026-06-22 05:10:23 -05:00
2026-06-17 08:25:52 -05:00
2026-07-02 12:22:47 -05:00
2026-07-02 12:22:47 -05:00
2026-07-02 12:50:46 -05:00
2026-07-02 12:50:46 -05:00
2026-06-26 01:04:33 -05:00
2026-06-16 16:22:09 -05:00
2026-06-04 14:10:38 +00:00
2026-06-25 16:40:27 -05:00
2026-06-25 16:40:27 -05:00
2026-06-26 01:04:33 -05:00
2026-06-25 16:40:27 -05:00
2026-05-31 17:46:56 -05:00
2026-05-31 17:46:56 -05:00
2026-06-26 01:04:33 -05:00
2026-06-26 01:04:33 -05:00
2026-05-31 17:46:56 -05:00
2026-05-31 17:46:56 -05:00
2026-07-03 05:08:13 -05:00
2026-06-12 21:07:36 -05:00
2026-06-12 21:07:36 -05:00
2026-06-26 01:04:33 -05:00
2026-06-26 01:04:33 -05:00
2026-06-25 16:40:27 -05:00
2026-06-25 16:40:27 -05:00
2026-06-20 14:18:40 -05:00
2026-06-25 16:40:27 -05:00
2026-06-26 01:04:33 -05:00
2026-06-11 18:09:24 -05:00
2026-06-19 17:50:35 +05:30
2026-06-19 17:50:35 +05:30
2026-06-07 23:44:04 -07:00
2026-06-07 23:44:04 -07:00
2026-06-09 14:24:25 +00:00
2026-05-31 17:46:56 -05:00
2026-05-31 17:46:56 -05:00
2026-06-13 00:38:10 -05:00
2026-06-25 16:40:27 -05:00
2026-06-26 01:04:33 -05:00
2026-06-25 00:01:11 -05:00
2026-06-26 03:40:49 -05:00
2026-07-03 05:08:13 -05:00
2026-07-03 05:08:13 -05:00
2026-06-12 08:30:06 -05:00
2026-06-12 08:30:06 -05:00
2026-05-31 17:46:56 -05:00
2026-06-02 16:33:22 -04:00
2026-06-30 00:54:21 -05:00
2026-06-08 08:58:26 -07:00
2026-06-08 08:58:26 -07:00
2026-06-03 20:14:52 +00:00
2026-06-30 04:19:10 -05:00
2026-05-31 17:46:56 -05:00
2026-06-24 18:26:14 -05:00
2026-06-26 01:04:33 -05:00