Priority P1; F2/F7 and remaining F8. Reuse #139's live grid option and preserve scientific sums/counts; this issue addresses the legacy point-cloud paths and transport choices.
Enforce point and byte budgets for cumulative, per-frame and post-scan modes before flattening/converting/concatenating. Sample intensity and Q with identical indices directly from shape-aware arrays. Reject inconsistent inputs; cap cumulative allocation even when frame-slot count exceeds point budget. Keep preparation off the GUI and preflight all staging buffers.
Make reduced preview products explicit. Full Q transport stays an opt-in scientific product where required; geometry references must be versioned and resolvable by late subscribers. Cache keys include detector shape, ROI/binning, units, energy, UB, axis ordering and calibration. Do not retain full scientific histories just to draw a bounded preview.
Acceptance: C/F nonsquare parity, strict allocation bounds, moving geometry and late-subscriber tests, and measured wire bytes. Sampling must not feed quantitative ROI/grid/storage work; document narrow-peak sampling limitations. Coordinate #109/#144. Depends on #150/#151.
Work already implemented
Local sampling helpers already cap all three legacy HKL modes and avoid full-scan concatenation. Full-image flattening before sampling, lifecycle handling and byte/worker budgets remain.
The local performance implementation passed 14 focused tests and Ruff during the 8 September review; this is not proof of complete issue acceptance. No code from those uncommitted changes has been published as part of this planning batch.
Completion policy
Use Refs for partial PRs. Close only when all acceptance criteria have linked merged code and verification; keep hardware-dependent criteria open until exact-SHA results exist. Retain the closed issue history.
Priority P1; F2/F7 and remaining F8. Reuse #139's live grid option and preserve scientific sums/counts; this issue addresses the legacy point-cloud paths and transport choices.
Enforce point and byte budgets for cumulative, per-frame and post-scan modes before flattening/converting/concatenating. Sample intensity and Q with identical indices directly from shape-aware arrays. Reject inconsistent inputs; cap cumulative allocation even when frame-slot count exceeds point budget. Keep preparation off the GUI and preflight all staging buffers.
Make reduced preview products explicit. Full Q transport stays an opt-in scientific product where required; geometry references must be versioned and resolvable by late subscribers. Cache keys include detector shape, ROI/binning, units, energy, UB, axis ordering and calibration. Do not retain full scientific histories just to draw a bounded preview.
Acceptance: C/F nonsquare parity, strict allocation bounds, moving geometry and late-subscriber tests, and measured wire bytes. Sampling must not feed quantitative ROI/grid/storage work; document narrow-peak sampling limitations. Coordinate #109/#144. Depends on #150/#151.
Work already implemented
Local sampling helpers already cap all three legacy HKL modes and avoid full-scan concatenation. Full-image flattening before sampling, lifecycle handling and byte/worker budgets remain.
The local performance implementation passed 14 focused tests and Ruff during the 8 September review; this is not proof of complete issue acceptance. No code from those uncommitted changes has been published as part of this planning batch.
Completion policy
Use Refs for partial PRs. Close only when all acceptance criteria have linked merged code and verification; keep hardware-dependent criteria open until exact-SHA results exist. Retain the closed issue history.