Skip to content

Implement Wipe transitions with a 3D blade - #24

Merged
baol merged 3 commits into
masterfrom
codex/feature-wipe
Oct 16, 2026
Merged

baol merged 3 commits into
masterfrom
codex/feature-wipe

Conversation

@baol

@baol baol commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Wipe reveals the destination with a straight, eased sweep in all four cardinal directions. The blade has a rubber contact lip, bowed pressure spine, raised brackets, beveled matte surfaces, metal pivot, contact shadow and subtle deterministic flex. Independently fitted pages and letterboxes stay exact outside the moving edge; endpoints render the exact static pages.

Updates PDF metadata/program dispatch, CLI help, roadmap, README, manual, four diagnostic PDFs, Beamer showcase and rendered contact sheets. The fixed-capacity blade mesh has no per-frame heap allocation. Only visible page regions are shaded, and lighting is computed once per quad instead of per vertex.

1080p profiling on this machine: llvmpipe median 10.4 → 8.1 ms, p95 14.1 → 12.0 ms. RTX 3060 median 0.65 → 0.52 ms in the first comparison; a repeat gave 0.68 → 0.63 ms with worse p95, so GPU tail-latency improvement is not established. Cold PDF preparation remains 190–249 ms. Measurements include glFinish and exclude the compositor; method and repeat variability are documented.

Validation: all 225 regression tests pass; 26 Wipe sanitizer tests pass. Latest full-run 500 ms SLO misses: two Wipe checkpoints 507/527 ms and web recording 596 ms. Twelve sanitizer cases missed the SLO at 519–661 ms. Endpoint, metadata, aspect-ratio, determinism, optional rendering and GL-state checks remain. Existing 10-second hang watchdogs remain.

The Linux CI RSS failure on the preceding head included ASan quarantine retention. The RSS-only replay now disables freed-block quarantine, retaining the existing 4 MiB growth bound, three warmup and five measured cycles. Other frame sanitizer cases keep their ordinary quarantine. CI is rerunning on the optimized head.

@baol baol changed the title Implement physical Wipe transitions and refresh showcase and examples Implement Wipe transitions with a 3D blade Oct 16, 2026
@baol
baol marked this pull request as ready for review October 16, 2026 14:10
@baol
baol merged commit e41806e into master Oct 16, 2026
3 checks passed
@baol
baol deleted the codex/feature-wipe branch October 16, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant