Duncan Tourolle dtourolle
  • Joined on 2025-05-21
dtourolle pushed to feature/opencv5 at dtourolle/scene-actor-extraction 2026-08-08 12:48:50 +00:00
7b73bf923a fix(AR-025): only evidence spends the evidence budget
dtourolle pushed to master at dtourolle/pyWebLayout 2026-08-08 12:30:44 +00:00
0bb34a4a32 perf(layout): cut page layout time by ~40%
dtourolle pushed to master at dtourolle/pyWebLayout 2026-08-08 12:26:46 +00:00
745fc8687e ci: run tests in a prebuilt container image
dtourolle pushed to master at dtourolle/pyWebLayout 2026-08-08 11:24:04 +00:00
3761e00398 docs: record R1-R8 as resolved and add R9
0ce1aeaa87 feat(ereader): wire pointer interaction into EreaderLayoutManager (R7)
8746d3f549 feat(ereader): wire highlighting into EreaderLayoutManager (R7)
bcae45a023 refactor(ereader): drop the estimator helpers S16 superseded (R8)
e81ba48f6d refactor(page): delete the dead child-measurement helpers (R6)
Compare 7 commits »
dtourolle pushed to master at dtourolle/pyWebLayout 2026-08-08 10:46:54 +00:00
1924cc234d perf(buffer): remove the process pool from page rendering (S12, R1, R2)
456824d6d6 fix(ereader): replay the page chain instead of searching for it (S16)
767e4c135c build: consolidate packaging on pyproject.toml and correct the dependency set
7384a32cdd docs: add architecture review with findings R1-R8
4d596ce095 docs: rewrite ARCHITECTURE.md around layers and dependency rules
Compare 6 commits »
dtourolle pushed to perf/phase0-harness at dtourolle/KPN 2026-08-08 10:13:18 +00:00
a3f61fcb3c perf: make the benchmark able to answer the question, then ask it
dtourolle created branch perf/phase0-harness in dtourolle/KPN 2026-08-08 10:13:18 +00:00
dtourolle pushed to feature/opencv5 at dtourolle/scene-actor-extraction 2026-08-08 10:08:36 +00:00
24d35cbde3 fix(AR-013): reap tracks on the evidence watermark, not the tracker's clock
dtourolle pushed to master at dtourolle/pyWebLayout 2026-08-06 21:26:29 +00:00
1985163827 fix(functional): form field labels no longer overprint the field above (S15)
dtourolle pushed to master at dtourolle/pyWebLayout 2026-08-06 21:00:01 +00:00
c5c61a3503 fix(functional): centre text vertically in buttons and form fields (S14)
202dacf350 fix(page): separate measurement context from the render canvas (S3)
284d521125 fix(html): keep inline content inside block containers (S1)
Compare 3 commits »
dtourolle pushed to feature/opencv5 at dtourolle/scene-actor-extraction 2026-08-06 20:59:38 +00:00
0e27339ab6 chore: update KPN — unconditional push wake, and the start() lock it exposed
c599e07d4b chore: update KPN — a re-offered sentinel is not data loss
4dcef8d6c5 fix(AR-004): the TransNetV2 window stores the model's input, not the frame
59a2927a15 fix(AR-004): derive the scene join depth instead of pinning it at 256
5e46f52ad2 fix(AR-004): make the channel byte counter measure the payload
Compare 7 commits »
dtourolle pushed to master at dtourolle/KPN 2026-08-06 20:53:04 +00:00
771b9f8593 fix: ThreadPool::start must take the lifecycle lock too
dtourolle pushed to master at dtourolle/pyWebLayout 2026-08-06 20:19:07 +00:00
7bebe08432 Merge layout remediation: pagination dead-end, page padding, text alignment
1262be6a38 fix(text): constant word space for ragged alignment, exact justification (S13)
f18cec2da8 fix(layout): honour horizontal padding and page origin (S2)
a57da8011e fix(ereader): keep resume position when a block spans a page (S11)
583366ae1d docs: add layout remediation spec
Compare 6 commits »
dtourolle pushed to master at dtourolle/KPN 2026-08-06 19:58:19 +00:00
3b67b7e1e9 Merge origin/master into master
433c3b3859 Merge branch 'fix/channel-push-callback-lost-wake'
6802328e97 fix: a push must wake its consumer, even when the ring looked non-empty
Compare 3 commits »
dtourolle pushed to master at dtourolle/KPN 2026-08-06 18:55:59 +00:00
c9aa246322 fix: a re-offered sentinel is not data loss
dtourolle pushed to feature/opencv5 at dtourolle/scene-actor-extraction 2026-08-05 16:28:21 +00:00
1141172b04 chore: update KPN to the wedging-audit fixes
90b44e0975 docs(register): make the status column describe the code
06373817a2 refactor(config): give the tuned constants a real provenance, and make them reachable
88c42573a5 fix(pipeline): finish three changes that had only been half applied
7c7d4934ae refactor(presence): execute the extinction_sec/anneal_sec withdrawal
Compare 13 commits »
dtourolle pushed to master at dtourolle/KPN 2026-08-05 16:24:04 +00:00
27f884496d Merge pull request 'fix/kpn-wedging-audit' (#3) from fix/kpn-wedging-audit into master
00245f5760 fix: Network::set_error_handler must actually deliver the handler
7a3e96cc99 fix: the watchdog must be interruptible, or stop() waits for its next tick
80c2b1fb2f fix: try_push must distinguish delivered from discarded
012b64dd3e fix: the sentinel must not be delivered ahead of a queued value
Compare 21 commits »
dtourolle merged pull request dtourolle/KPN#3 2026-08-05 16:24:02 +00:00
fix/kpn-wedging-audit
dtourolle created pull request dtourolle/KPN#3 2026-08-05 16:23:51 +00:00
fix/kpn-wedging-audit
dtourolle pushed to fix/kpn-wedging-audit at dtourolle/KPN 2026-08-05 16:10:08 +00:00
00245f5760 fix: Network::set_error_handler must actually deliver the handler
7a3e96cc99 fix: the watchdog must be interruptible, or stop() waits for its next tick
80c2b1fb2f fix: try_push must distinguish delivered from discarded
012b64dd3e fix: the sentinel must not be delivered ahead of a queued value
7b7f631e6d fix: a shared resource must be able to release its waiters
Compare 10 commits »