From 48a4e21e4616d56aa23e24d05a38104ef7faa652 Mon Sep 17 00:00:00 2001 From: NotAlexNoyle Date: Mon, 26 Oct 2026 03:24:12 -0400 Subject: [PATCH] PICKUP and tracking: T-527 done; the three decisions for the owner; the device on the packaged head Co-Authored-By: Claude Opus 5.5 --- context/impl/impl-gpu-rendering.md | 1 + context/impl/loop-log.md | 1 + docs/PICKUP.md | 32 +++++++++++++++++++++++++++--- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/context/impl/impl-gpu-rendering.md b/context/impl/impl-gpu-rendering.md index 1c43fe6..2717aad 100644 --- a/context/impl/impl-gpu-rendering.md +++ b/context/impl/impl-gpu-rendering.md @@ -28,3 +28,4 @@ Build site: context/plans/build-site.md | T-527 | PARTIAL | 2026-10-25 night: the zoom's sharp frame. `render/goanna/GoannaRenderPage.{h,cpp}` (`SetGpuDpCritical`, `GpuResolutionFor`/`GpuResolutionChanges`/`GpuResolutionNow`, `JIHAD_GPU_CRIT_MARGIN`), `render/goanna/BrowserPageGoanna.{h,cpp}` (`gpuCriticalEnd`, the express lane publishing a main-lane frame composed while the main thread is away, the express thread kicked by a main-lane post, the hold ended at the express post, `mXTreeRes`: no frame drawing the tiles at under half their size, `JIHAD_GPU_ZOOM_DUMP_SEQ`), engine 0062 (`63c20e39`: the root's displayport base kept by the paint), `tools/device/t502/finger-zoom.sh`. First painted frame at a new zoom 513-669 ms (was 746-2212); pans unchanged or better; verify 0 structurally wrong. `docs/rounds/t527-2026-10-25/notes.txt` | | T-527 | PARTIAL | 2026-10-25 later: R8 met. `render/browserserver/Src/JihadFrameWindow.h` (the dirty words), `render/goanna/BrowserPageGoanna.{h,cpp}` (`pubDirtyAdd`/`pubDirtyTake`, `publishWindow` writes the rect changed since the frame before or none; `jihadXNote`: the express lane's idle reasons on the timeline), `render/adapter/BrowserOffscreen.{h,cpp}` (`frameSeq`, `dirtyRect`), `render/adapter/BrowserAdapter.{h,cpp}` (msgPainted invalidates only the rect when it shows the base frame at the same geometry, zoom and scroll), `render/browserserver/Yap/YapProxy.{h,cpp}` (the PDK build: no member initializer), engine 0063 (`bda31412`: the tall band surface), `tools/host/gap-trace.py`, `tools/device/t502/default-check.sh` (the log rotation), `gpu-spike-collect.sh` (dumps removed). The 480 px cube 25.3-28.0 fps on the card | | T-527 | PARTIAL | 2026-10-26: the review's fixes (`623dc1ac`: XUL layout height per document, `xUnderHalf`, rootless per document, the fling lead's speed window and cap, the adoption's bookkeeping (`mGpuLostN`, `adopted`), `gpuCriticalEnd` and a held zoom, the frame lock in zoom release/critical end, `pubDirtyTake`'s page height, the displayport at a new window size); engine 0064 (PuppetWidget::JihadPaintLayers skips with nothing pending; `jihad_layout_set_displayport2` schedules a paint on a moved base), 0065 (CompositorOGL `mJihadBandFailW`); the zoom-back frame (`zoomBackKeep`/`zoomBackPublish`, `JIHAD_GPU_NO_ZOOM_BACK`, `JIHAD_GPU_ZOOM_BACK_DUMP`). Device: dtap out first frame 0 ms (was 573-771); pans 33.1 / 23.6 fps; verify 0 wrong. Measured and not kept: a region read of the change; the own slot with stuck layers. Open: R3 (Wikipedia ≥ 24 fps), R6 (dtap out after a pan), review #13 | +| T-527 | DONE | 2026-10-26: the second review's fixes (`zoomBackKeep(newZoom)` from either lane, `zoomBackPublish` clear of reads in flight and superseding old-zoom frames, dropped at input and once the tree is at 1; `mXAdoptedZoom` for the hold; the world offset for a rooted document; `mLoadWasDone` atomic; jihadPersonas.js the search filter observed, the detail length rule); engine 0066 (PuppetWidget skip: the resolution and the child chain; CompositorOGL band retry after 30 s). Done: R3 crit 1 on the owner's bench, R8, R6's first frames except T-504's and T-516's cases. | diff --git a/context/impl/loop-log.md b/context/impl/loop-log.md index 0ac32f2..a7b506b 100644 --- a/context/impl/loop-log.md +++ b/context/impl/loop-log.md @@ -301,3 +301,4 @@ Build site: context/plans/build-site.md ### Iteration 20 — 2026-10-25 (late) to 2026-10-26 - T-527: flick prediction (express frames composed where the card will be), T-543 (about:addons' lists pan: the list length on the XUL root, the window that tall, the world offset for rootless pages), the inspector's review of the night's changes — 14 of 15 fixed (daemon `623dc1ac`; engine 0064 the paint skip + moved base's paint, 0065 a failed band surface not retried), the double tap out's frame at once (the frame kept at the zoom in), two compositor-job levers measured and not kept (region read; own slot with stuck layers). Files: render/goanna/{BrowserPageGoanna,GoannaRenderPage}.{h,cpp}, render/goanna/components/jihadPersonas.js, engine widget/PuppetWidget, layout/base/nsLayoutUtils, gfx/layers/opengl/CompositorOGL; tools/device/finger/prefs-finger-walk.sh, packaging/prefsui/content/preferences.js. Build P (engine, daemon, adapter, three packages), patch-queue --check P (65), check-engine-pins P, pans 33.1 / 23.6 fps, verify 0 wrong, default-check P in all three. Still PARTIAL: R3 (Wikipedia ≥ 24 fps, the compositor job's floor), R6 (double tap out after a pan). Next: T-527. - Finger items: about:settings in Enyo (57 rows, the Browser pane's controls, a pane reset) — FINGER-TESTS item stays [~] for the Fonts box, proxy/certificate sections, Forget, Update, Mochi/Mojo; about:addons' lists in Mochi and Mojo ticked. Device restored: the packages of this head, no dev copies, Palefill only, Default look, No proxy (Mochi's and Mojo's leftover manual proxy cleared). +- (2026-10-26, later) The second inspector review: 14 findings, all fixed (daemon `31fce614`, engine 0066 `2f7898f0`); double taps by finger in runs of ten (out 0-3 ms every time; in 52-108 ms, one in ten 251-276: the GPU's ramp after a pause); packages of the head installed in all three, default-check P. T-527 DONE, T-515 DONE, T-517 DONE; T-504/T-505/T-516 BLOCKED on the owner's calls (a fit-zoom page overview; the card composing over its frame; a GPU clock floor). Registry: 309 complete, 19 blocked (all the owner's). diff --git a/docs/PICKUP.md b/docs/PICKUP.md index c999fb7..1e39ddc 100644 --- a/docs/PICKUP.md +++ b/docs/PICKUP.md @@ -52,7 +52,34 @@ Jihad Browser, and it starts when Jihad Browser is finished. Memory: `global-jihad-project.md`. The workspace `CLAUDE.md` carries the pointer and the corrected target line (both webOS 3.0.5 and CE 3.1.0). -## 2026-10-26 — T-527: the review's fixes, engine 0064/0065, a double tap out's frame at once; about:settings and about:addons by finger (READ FIRST) +## 2026-10-26 (end) — T-527 DONE; three decisions for the owner; the device on the packaged head (READ FIRST) + +**T-527 is done** (and T-515, T-517 with it): the sensor bench (R3's 24 fps met with sensord/atlas-sensord stopped: +desktop Wikipedia 24.6/24.2, the long page 34.2; with them 22.7-23.6), engine 0062-0066, R8 met, the zoom's frames +(first frames 52-108 ms in, 0-3 ms out), and two inspector reviews of the work, every finding fixed (the second: +`31fce614` and engine 0066 `2f7898f0` — the zoom-back frame kept by whichever lane sees the zoom first and published +clear of reads in flight, about:addons repainted at its resolution after a zoom, the search filter re-measured). +Records: `docs/rounds/t527-2026-10-25/notes.txt` (its last sections). + +**Three tasks wait on the owner** (build site Status says why): +- **T-504**: a double tap out after a pan while zoomed in has no early frame (the kept frame no longer covers the + view). Covering it means keeping a picture of the whole page at the fit zoom — memory per card; your call. +- **T-505**: the pan's remaining 56 ms+ gaps are the compositor job itself (copy from the base 10-14 ms, read 7-12, + compose ~8, on one thread). The next lever is the card composing the new band over the frame it holds (no copy a + frame): an adapter change and a new meaning for the frame trailer; your call. +- **T-516**: one double tap in ten takes 251-276 ms — the GPU's clock ramp after an idle pause (a 230 ms composite + with both CPUs at full clock). A GPU clock floor (kgsl) would remove it; a device power lever you have not + authorized. + +**Device state:** the three packages of this head (daemon `cbf72474`, libxul `420e0d27` stripped from engine +`2f7898f0`, adapters unchanged), no dev copies or `.orig`; Palefill only, Default look, No proxy in every profile; +the sensors running; default-check passes in all three. (A Mochi install dropped the USB link once mid-transfer — +the known long-transfer drop — and went through on the retry.) + +**Pushes:** the owner's — `bash .cavekit/handoff-2026-10-24/push.sh` pushes the engine fork's branch (now `2f7898f0`, +patches through 0066) and main. + +## 2026-10-26 — T-527: the review's fixes, engine 0064/0065, a double tap out's frame at once; about:settings and about:addons by finger Records: `docs/rounds/t527-2026-10-25/notes.txt` (its last five sections), `docs/FINGER-TESTS.md`. @@ -97,8 +124,7 @@ Records: `docs/rounds/t527-2026-10-25/notes.txt` (its last five sections), `docs lane, 0 faults). Every profile: Palefill only (the twelve test pads removed), Default look, No proxy — Mochi's and Mojo's manual proxy to `192.168.1.245:3129` left by the 2026-10-25 proxy round was put back (nothing listened there). -**Pushes:** the owner's — `bash .cavekit/handoff-2026-10-24/push.sh` pushes the engine fork's branch (now `f4fefca0`, -patches through 0065) and main. +**Pushes:** superseded by the delta above (the branch is now `2f7898f0`). **Next:** T-527's open criteria (R3: the gaps' floor in the compositor job; R6: the double tap out after a pan); WebOne needs a machine (the owner).