This website requires JavaScript.
4dbbfa6fe7
feat: dictation round 1 — primary-input routing, no interims, optimistic meter, wide button
amosblomqvist
2026-09-17 19:59:14 +03:00
573e369db5
fix: dictation cloud path — bearer subprotocol, access_token grant field
amosblomqvist
2026-09-17 19:44:35 +03:00
e3bdbc2f2c
feat: voice dictation (STT wave 1 — Deepgram cloud)
amosblomqvist
2026-09-17 19:31:25 +03:00
d46c3dae93
feat: narrow-window behavior — sidebar auto-close, chrome wrap, 640px floor
amosblomqvist
2026-09-17 18:57:02 +03:00
a20e1f1fb5
fix: dark native chrome — no white flash on resize or first paint
amosblomqvist
2026-09-17 18:43:35 +03:00
9863674a76
fix: Electron drag mask resolves by DOM order, not z-index
amosblomqvist
2026-09-17 18:33:59 +03:00
6e08d77ec2
docs: STT research — verified Deepgram + whisper.cpp findings and decisions
amosblomqvist
2026-09-17 17:18:41 +03:00
fb759b7aa0
fix: top-bar polish — lights on the pill line, rename escape hitbox, inert phase pill, chrome carve-outs
amosblomqvist
2026-09-17 17:18:41 +03:00
9a6d422d59
feat: merged title bar — drag bands, owner's mark, title-width rename hit-box
amosblomqvist
2026-09-17 16:55:07 +03:00
7902984bd6
feat: Electron desktop wrapper — LearnHarness.app (macOS arm64)
amosblomqvist
2026-09-17 15:32:28 +03:00
769a3da186
feat: session rename + graph chrome polish (popovers dismiss, no-shift no-match, coverage reseat)
amosblomqvist
2026-09-17 14:28:20 +03:00
5c380de669
Merge lh-ui refinement wave (feat/ui-polish @ 8163437) into main
amosblomqvist
2026-09-17 14:11:23 +03:00
40870544ba
Header round 6d (owner): the title grows to text-3xl — matched in the draft shell
amosblomqvist
2026-09-17 14:09:22 +03:00
64c644f42c
Header round 6c (owner): the sidebar toggle owns an animated slot — no more one-frame jumps
amosblomqvist
2026-09-17 14:04:43 +03:00
9ddeb60e3f
Header round 6b (owner): the open-sidebar toggle matches the close glyph — size-4 both ways
amosblomqvist
2026-09-17 13:55:40 +03:00
c451f4f144
Header round 6 (owner): the top bar grows to 60px — aligned to the sidebar's LH band
amosblomqvist
2026-09-17 13:52:18 +03:00
70ddc21610
Typography round 5 (owner): drop the message count + active-row weight; ISO dates
amosblomqvist
2026-09-17 13:48:04 +03:00
2a8554af27
Typography round 4 (owner): the snap to the ladder — prose 16.5→16, xxs rung merged into xs
amosblomqvist
2026-09-17 13:43:26 +03:00
d01759ec32
Typography round 3 (owner): session titles at the prose size
amosblomqvist
2026-09-17 13:29:21 +03:00
5e6d5f124c
Typography round 2 (owner): lh-input (caret at the font-metric floor) + 14px session titles
amosblomqvist
2026-09-17 13:15:35 +03:00
1b7dbe2898
Typography round 1 (owner): the three-font rule enforced + Source Sans session titles
amosblomqvist
2026-09-17 13:13:26 +03:00
0f93124c7e
feat: canonical world-scale renderer — sizes become world units + baked tuning + nice-number ladders
amosblomqvist
2026-09-17 12:29:17 +03:00
5ce78d0754
Merge lh-graph refinement wave (feat/edge-glyph @ 66e6212) into main
amosblomqvist
2026-09-17 09:48:41 +03:00
926ae2f43d
Physics panel: general forces first, depth anchor block last
amosblomqvist
2026-09-17 09:43:40 +03:00
3c5c48f502
Settings panel: gray out dependent controls when their parent is off
amosblomqvist
2026-09-17 09:41:43 +03:00
2f4b9c82e4
Cluster labels: topmost layer + user-facing size setting
amosblomqvist
2026-09-17 09:35:11 +03:00
b24bce3f83
Abandon velocity-weighted region opacity (owner-rejected, buggy at scale)
amosblomqvist
2026-09-16 11:35:28 +03:00
74c14931af
Velocity-weighted region opacity replaces the (sub-perceptual) frame fade
amosblomqvist
2026-09-16 11:28:39 +03:00
173059eb8f
Region fade between rebuilds + compute off switch
amosblomqvist
2026-09-16 10:54:05 +03:00
2678f04e7a
feat: extraction coverage — message-granular ledger + token-batched runs (d132373 vision)
amosblomqvist
2026-09-15 17:41:56 +03:00
e95fc26309
docs: vision for extraction coverage — message-granular ledger, token-batched runs (2026-09-15 ideation)
amosblomqvist
2026-09-15 17:16:31 +03:00
c9ba4a1b06
Minimal-color round 2 (owner): the chip is label-only — spinner out of the top bar
amosblomqvist
2026-09-15 17:10:49 +03:00
326222f53c
Minimal-color round 1 (owner): phase color retired — the braille spinner is the one working indicator
amosblomqvist
2026-09-15 17:01:01 +03:00
31978f3fc3
fix: background-delivery ground rules — the dock is the source of truth, delivered content shows the moment it persists
amosblomqvist
2026-09-15 16:34:25 +03:00
65dfda2342
Withdraw the double-shaft edge glyph — both variants rejected live
amosblomqvist
2026-09-15 08:38:13 +03:00
e8fa9403ca
follows glyph: two complete offset arrows — no convergence, no head merge
amosblomqvist
2026-09-15 08:20:04 +03:00
4022e3f0d0
fix: the knowledge-context slider is a discrete 6-stop scale — off, then powers of four from 64
amosblomqvist
2026-09-15 08:09:56 +03:00
e9348b7baf
follows renders as the double-shaft glyph (⟹), supports stays single
amosblomqvist
2026-09-15 08:08:30 +03:00
f6b0c3fb86
fix: the knowledge-context readout shows the full number (1024 tok, no k-rounding)
amosblomqvist
2026-09-15 08:02:07 +03:00
b1416089c6
fix: the knowledge-context readout aligns left (it read right-aligned off the slider)
amosblomqvist
2026-09-15 08:01:33 +03:00
4c7ad48c73
fix: the knowledge-context slider lives in the stats bar's left slot — the session-data spot — with a "tok" readout
amosblomqvist
2026-09-15 08:00:04 +03:00
1d45d77303
feat: graph context injection — the session's prior knowledge, steered in at session start (vision-context-injection.md)
amosblomqvist
2026-09-15 07:54:50 +03:00
ecb293a77d
Merge feat/ui-polish: owner refinement rounds — chat top bar, stats-bar dropdown discipline, plan as marginalia, dock → sidebar background-agents section, graph-view chrome rounds
amosblomqvist
2026-09-15 07:30:00 +03:00
b68fb8a78a
docs: vision — graph context injection + the follows edge glyph (ideation settled)
amosblomqvist
2026-09-15 07:19:43 +03:00
bbee72f354
Background agents → sidebar section (owner): the retired floating dock's successor
amosblomqvist
2026-09-14 11:56:22 +03:00
38d77204ed
Marginalia resize round (owner): graceful shrink + phantom-fold mute
amosblomqvist
2026-09-14 11:39:57 +03:00
93033fac77
Plan placement (owner): the plan as marginalia — dock band's right flank + top-bar chip
amosblomqvist
2026-09-14 11:23:28 +03:00
873c153525
Stats bar round 4 (owner): optical spacing — tight to the composer, floating below
amosblomqvist
2026-09-14 10:21:56 +03:00
5dac2a6620
Stats bar round 3 (owner): symmetric dropdown closing + vertically centered row
amosblomqvist
2026-09-14 10:10:01 +03:00
e13762fe9a
Stats bar round 2 (owner): popover centered over the summary button
amosblomqvist
2026-09-14 10:06:01 +03:00
d4b05a0d90
Stats bar round 1 (owner): model-control dropdown discipline for the stats popover
amosblomqvist
2026-09-14 10:04:20 +03:00
c4cf8fd0b2
Chat top bar round 5 (owner): bottom outline matching the sidebar separator
amosblomqvist
2026-09-14 09:57:37 +03:00
ad5778484d
Chat top bar round 4 (owner): plain block — revert all top-gradient rounds
amosblomqvist
2026-09-14 09:56:45 +03:00
1350f2d094
Chat top fade round 3 (owner): the transcript runs UNDER the title
amosblomqvist
2026-09-14 09:54:02 +03:00
e285e2bacf
Chat top fade round 2 (owner): 60% peak at the top, 40px ramp down
amosblomqvist
2026-09-14 09:50:53 +03:00
ae749fe27d
Chat top fade round 1 (owner): long soft wash instead of a hard 20px bar
amosblomqvist
2026-09-14 09:48:33 +03:00
0f6e36f85f
feat: the sessionless draft view — "+ New session" creates nothing
amosblomqvist
2026-09-14 09:06:48 +03:00
0b65838519
Graph-view round 3 (owner): gear moved to the far right — its panel drops at the right edge
amosblomqvist
2026-09-14 08:54:39 +03:00
9832e3464f
Graph-view round 2 (owner): search / settings / import split into their own containers
amosblomqvist
2026-09-14 08:52:04 +03:00
28a78beb97
Graph-view round 1 (owner): full-bleed canvas — no padding, under the floating chrome
amosblomqvist
2026-09-14 08:46:07 +03:00
7f001cdb46
chore: package-lock after the plan-rendering merge (dagre-d3-es + d3-shape install)
amosblomqvist
2026-09-14 08:37:32 +03:00
b3d7bf5491
Merge feat/ui-polish: plan graph rendering (dagre engine, owner skin), stats-control polish, overlay dock scroll
amosblomqvist
2026-09-14 08:36:52 +03:00
b2a72136e0
Scroll round 3 (owner): fold threshold 64 → 96px (tolerate small peeks)
amosblomqvist
2026-09-14 08:33:39 +03:00
2e20bc6298
Scroll round 2 (owner): the scrollbar stays visible + wheel works over the dock
amosblomqvist
2026-09-14 08:31:46 +03:00
07415048df
Scroll round 1 (owner): overlay dock + spacer — the fold fires as soon as you leave the bottom
amosblomqvist
2026-09-14 08:28:07 +03:00
6505f12d37
Stats-control round 1 (owner): bare labels + intuitive dropdown close
amosblomqvist
2026-09-14 08:10:27 +03:00
a207e6b4a2
Plan-graph round 14 (owner): entry-angle clamp — heads enter within ±40° of the face perpendicular
amosblomqvist
2026-09-14 08:04:31 +03:00
d7790f895e
Plan-graph round 13 (owner): arrowheads point again — no zero-length final segment
amosblomqvist
2026-09-14 07:56:01 +03:00
847caf48d3
Plan-graph round 12 (owner): docking gap + straight shaft stub
amosblomqvist
2026-09-14 07:53:54 +03:00
0f6b2d5c1e
Plan-graph round 11 (owner): mermaid's edge drawing — dagre routes, curveBasis draws
amosblomqvist
2026-09-14 07:38:13 +03:00
90ed65f208
Plan-graph round 10 (owner): the glow paints above the box fill
amosblomqvist
2026-09-14 07:34:01 +03:00
b97a34aea4
Plan-graph round 9 (owner): white nodes dim — no longer fully transparent
amosblomqvist
2026-09-14 07:33:00 +03:00
4d98525338
Plan-graph round 8 (owner): placement now runs on dagre — mermaid's engine
amosblomqvist
2026-09-14 07:30:53 +03:00
7c766753cc
Plan-graph refinement round 7 (owner): no fly-in on open, nodes never truncate
amosblomqvist
2026-09-14 07:12:38 +03:00
9eb30edb40
Plan-graph refinement round 6 (owner): grayed arrows, static glow, glow-sized frame pad
amosblomqvist
2026-09-14 07:06:25 +03:00
43ada6ce23
Plan-graph refinement round 5 (owner): the owner's arrowhead lands
amosblomqvist
2026-09-14 06:59:38 +03:00
739a6aed56
Plan-graph refinement round 4 (owner): the simple white look + no entrance fly-in
amosblomqvist
2026-09-14 06:55:10 +03:00
b92237fd56
Plan-graph refinement round 3 (owner): higher zoom ceiling + eased zooming
amosblomqvist
2026-09-14 06:30:05 +03:00
6464b34a79
Plan-graph refinement round 2 (owner): the popup fits, centers, and never clips
amosblomqvist
2026-09-14 06:26:55 +03:00
fdeacc42f5
Plan-graph refinement round 1 (owner): chat-font zoom cap + stroke-safe padding
amosblomqvist
2026-09-14 06:22:26 +03:00
251f2518a6
Merge feat/ui-polish: wave 5 — the cosmetic reskin (owner skin, fonts, dock/prose split, pre-chat model selection)
amosblomqvist
2026-09-14 05:21:41 +03:00
c0a27916a7
Merge feat/graph-rendering: wave 5 — semantic clusters, regions renderer, persisted render tuning
amosblomqvist
2026-09-14 05:20:45 +03:00
0d67fd2073
Region alpha applies once after the blur: no more overlap stacking
amosblomqvist
2026-09-14 04:56:15 +03:00
2a80707b85
Screen-anchored region blur + cell floor: fixes tight-search blur collapse and the Infinity throw
amosblomqvist
2026-09-14 03:53:34 +03:00
ab42ec81e6
Fix settings-load race: region/physics tuning never reached the renderer
amosblomqvist
2026-09-14 03:53:23 +03:00
f3a3d69401
Region tints follow the search filter: visible-only edge strokes
amosblomqvist
2026-09-14 03:23:20 +03:00
b42fdbec1e
Region blur becomes a fixed-set dropdown (2/4/6/8/10, default 6)
amosblomqvist
2026-09-14 03:03:04 +03:00
04a0236c36
User-facing persisted region + physics settings
amosblomqvist
2026-09-13 17:06:18 +03:00
0af63113f5
Revert "Region boundaries: iso-line contours of the blurred region field"
amosblomqvist
2026-09-13 16:23:21 +03:00
c7c1148989
Region boundaries: iso-line contours of the blurred region field
amosblomqvist
2026-09-13 16:00:28 +03:00
652a25e382
Orphan discs in regions + orphan exemption from depth anchoring
amosblomqvist
2026-09-13 15:05:05 +03:00
f5edc7f0a5
Semantic topic clusters: local embeddings replace Louvain
amosblomqvist
2026-09-13 14:29:16 +03:00
3a1c18b9de
Inference-depth anchoring playground: vertical + radial modes
amosblomqvist
2026-09-13 10:20:50 +03:00
7ebdf065c8
Physics controls + FA2 fallback retirement
amosblomqvist
2026-09-13 09:52:14 +03:00
975a78a304
Cluster gravity: per-cluster centroid pull force in the engine
amosblomqvist
2026-09-13 09:52:12 +03:00
60686d7831
Region v2: line-only dilation, real premultiplied blur, dev tuning inputs
amosblomqvist
2026-09-13 09:39:22 +03:00
05712037b2
Live physics drag + splat cluster regions
amosblomqvist
2026-09-13 09:17:05 +03:00
7eceb58303
Engine unification: d3-force replaces forceAtlas2 everywhere
amosblomqvist
2026-09-13 09:17:01 +03:00
0c14ea425d
Option A: incremental anchored force layout, persisted server-side
amosblomqvist
2026-09-13 08:35:42 +03:00
11bca055dd
Label gap, proportional glow, hover-out fade, centered coarse sliders
amosblomqvist
2026-09-13 07:49:00 +03:00