Repository navigation
Conversation
Enable opt-in Electron capture through electronPath, reuse deterministic frame preparation and source sampling, and encode ordered shared textures with WebCodecs before FFmpeg muxing. Close request-owned HTTP connections and file streams after capture. Validated type checking, 82 existing tests, alpha fixtures with explicit browser paths, 600-frame MG sequencing, source sampling, cancellation, limits, fractional rates, and packed-code export on Apple Silicon. Windows and Linux hardware validation remains pending.
Reuse browser video decoders and bounded sample caches for forward, reverse, held, and looping sources. Composite VideoSamples through Canvas layers before shared-texture encoding. Preserve source color metadata for planar alpha samples. Validated the 600-frame video project with independent timeline and source-frame barcodes, transparent media composition, tiny-cache reverse sampling, existing provider checks, and an unpacked package render.
Snapshot completed surfaces before ordered encoding, reserve queue capacity for the next required frame, and reuse one decoder scene for video exports while keeping pure motion graphics parallel. Dispose source decoders explicitly and align decoder selection with browser capability checks. Verify macOS frame synchronization, source sampling, alpha, cancellation, limits, and packed exports.
Keep the exiting owner alive until signaled descendants stop, accepting zombies awaiting reaping. Bound the synchronous wait and preserve cleanup diagnostics. Validated with the existing 15 process lifecycle checks and the provider regression suite on macOS.
SanHsien
added a commit
to SanHsien/hypit
that referenced
this pull request
Oct 26, 2026
…full set collect_new_tickets asked `gh pr|issue list` for --limit 50 and kept the items above the watermark. The listing is newest-first, so when more than 50 tickets had appeared since the last review the oldest unreviewed ones were dropped without a trace: the report said "N new items" for a larger N, and raising `reviewed_*_through` afterwards then marked the dropped ones as triaged. This fork reviews a whole release at a time (63 commits, PRs hypit-ai#375-hypit-ai#437 in the last one), so a long gap between reviews is the normal case, not a corner. The limit is now 1000, and a listing that fills the limit while still entirely above the watermark returns None ("not checked", exit 2) like every other case where gh cannot give a complete answer. Reproduction: tools/tests/test_check_upstream_updates.py (test_a_listing_cut_off_above_the_watermark_is_reported_as_not_checked failed before this change: 50 of 4900 new items were returned as the full set). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
HTML video export currently captures PNGs and extracts source frames through FFmpeg. This adds an opt-in Electron path that decodes source video in Chromium, transfers composed GPU textures and encodes H.264 with WebCodecs.
DRAFT — DO NOT MERGE. The user requires this PR to remain Draft. Do not mark it ready, enable auto-merge or merge it.
Implementation
renderer: "electron". Runtime preparation installs pinned Electron 45.0.0 for the host platform, checks the official archive SHA-256, stages extraction, checks the executable version and publishes the installation under a shared cache lock. Healthy installations are reused. Explicit executables must match the pinned release.LSUIElement=true, set accessory activation before readiness and probe the version in Node mode. Explicit macOS executables must also use background bundles.Completed macOS validation
Apple M1 Pro, 32 GiB RAM, macOS 27.0, Electron 45.0.0. The renderer implementation and dependencies were verified unchanged between the interrupted and resumed measurement sessions. The completed observations span those sessions with normal desktop applications open.
feefcbb9. The39753c21Linux check exhausted its 20-minute deadline while the Azure Ubuntu mirror was still downloading FFmpeg dependencies, before tests started. Both Linux installation steps now use the official Ubuntu archive with required FFmpeg dependencies. All final-head checks at2ed24dbdpassed, including both full platform checks, independent package verification, release build and CodeQL: CI run. Linux FFmpeg installation completed in 21 seconds.Export times include Provider preparation, capture, encoding, muxing, full output decode validation and storage. Independent frame-ID checks run afterward. Memory is sampled every 250 ms across the export host and its descendants, including independent Electron process groups.
Source and queue configuration, eight staggered layers
600 frames, 1080p. Each configuration has five completed observations.
The current default median is 22.8% lower than the previous 1 GiB / 256 MiB configuration. The 2.25/3/4 GiB cases each used 14 iterator starts. These measurements support retaining the selected defaults; overlapping timing ranges and desktop-load variation prevent a universal-optimum claim.
Pending-frame queue, 1080p MG with four workers
MG workers
Automatic selection used eight scenes on this host. Finalists were selected from screening observations; the table preserves the single-observation counts for the other configurations. Retain automatic selection. Two/four workers for the staggered video case took 28.974/48.136 seconds, supporting its existing one-scene automatic strategy.
Additional output and concurrency cases
The 4K video control composes 1080p sources into 300 output frames. Scaled 4K MG exports 600 frames and retains authored Canvas raster resolutions. Injected cancellation and termination are expected failures; the peer export and recovery matched every source/timeline identifier.
Full results: benchmark report. Raw logs, case inputs, environment snapshots and memory samples remain local under ignored
dist/autonomous-gpu-benchmark-v2/.Earlier validation retained for review
Review limits
Keep this PR Draft and do not merge.