CLAUDE: item-4 R2 - GPU LoG + gated subtract-avg in the RT loop; render ARM pre-loop; enqueue shave
R2 (rulings 3.1/3.3/3.4): CuasPoseRT arms the LoG+subtract-average stage with
the render - taps from the static getLoGKenel (psf_radius/n_sigma, the same
params detection uses); curt.det_avg_file (prior-run raw-domain average)
LoG'd in Java DOUBLE at arm = the post-LoG base; gated EMA refresh
(det_ema_rate 0.02 / det_ema_gate 10.0 placeholder dial, ungated = loud
warning); detection frame (LoG - avg) stays GPU-resident. Post-loop saves
-CUAS-RT-AVG (NaN-aware run average + count = the next run's prior file,
skipped if the stage disabled mid-run) and the -CUAS-RT-LOG debug stack
(det_log_save, ruling 3.4 test-only). New saved params det_log/det_log_save/
det_avg_file/det_avg_save/det_ema_rate/det_ema_gate (all 5 touch-points).
Fold-in 1 (Session-54 close): the whole render ARM (renderSetup allocs +
template + reference camera + R2 arm) hoisted PRE-LOOP next to
renderProcPrepare - the scene-0 101/108 ms alloc-class outlier is gone;
content-neutral (cv static per sequence; pXpYD_center + setReferenceGPU
precede the arm). In-loop lazy arm removed (armed assertion, same fail-safe).
Fold-in 2: GpuQuadJna.renderCameras static-table latch - first scene uploads
radial/rByRDist once, then per-scene calls pass null and the native fast
path sends meta+ERS pinned+async (renderSetup resets the latch per sequence).
GpuQuad/GpuQuadJna/TpJna: renderLogSetup/renderLogGet surface. Stage0
EXPECTED_KERNELS 42 -> 45 (42 was stale - the render_dp bump to 43 was
missed) and Stage0 passes 45/45. mvn package + test PASS; native gates in
tile_processor_gpu 8840db8 (case log_pipe ALL PASS, sanitizer 0).
Co-Authored-By:
Claude Fable 5 <noreply@anthropic.com>
Showing
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment