Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions technical-documentation/testing/manual-e2e-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -841,3 +841,5 @@ On macOS 15.2+ it opens at launch, until it has been closed once, while one of i
| 2026-09-26 | worktree `fix-3d-cameras-left-right-02603d`, `claude/fix-3d-cameras-left-right-02603d` on `cbf85dc7` + this change; `compositor_view.node` rebuilt from this tree by `npm run build:native:compositor`, the rest of `bin/win32-x64` copied from the installed `v1.13.0-rc.6` (ffmpeg DLLs hash-identical to the vendored SDK); renderer rebuilt with `npm run build-vite`. Reference: installed `v1.13.0-rc.6` (= v1.13.0) through its own CLI | Windows 11 26200, NVENC export | Partial — no defect | **3D cameras against v1.13.0, `openscreen export` on both builds**, same synthetic 14 s 1080p grid and cursor sidecar (three held positions), zoom depth 2, `hideCursor`, motion blur 0. During the hold (2.5, 3.5, 7.5, 11.5 s), `left` here and `iso` in v1.13.0 differ only in a ~50×65 px box around the cursor sprite (0.05–0.09 % of pixels > 24; the cursor size changed since); same for `follow-cursor`. `iso` here renders byte-identical to `left`. `right` is the mirror of `left`: screen edge 1–2 px apart, row by row. With motion blur 0.35 the orbit differs while the camera moves (mean abs diff 9, 9 % of pixels): the mode-8 trail added on 25/09, kept on purpose. Not covered: editor preview, GUI, macOS and Linux, zoom ramps (their pacing changed with #683). |
| 2026-09-26 | worktree `openscreen-screen-mask-zoom-e21ce9`, `claude/openscreen-screen-mask-zoom-e21ce9` on `1d67754c` (`integration/demo-never-ugly`) + the frame-container change; `compositor_view.node` rebuilt from this tree by `npm run build:native:compositor`, baseline addon and renderer built from `1d67754c` in a scratch worktree; ffmpeg DLLs hash-identical to the vendored SDK; renderer rebuilt with `vite build` | Windows 11 26200, h264 export | Partial — no defect | **Block layouts under a window or device frame: the frame is the fixed container, the footage zooms and tilts inside it, and the block lays the frame out beside the camera. Through the app's real export (`electron . export <project> -o <mp4>`).** Source: synthetic 1920×1080 `testsrc2` screen and 1280×720 `mandelbrot` webcam, 8 s. Legacy projects, default padding, a depth-4 zoom at focus (0.3, 0.6) on [1.5 s, 3.5 s] and a depth-3 `iso` zoom on [5.5 s, 7.8 s], frames at 0.2, 2.8 and 7.0 s. `dual-frame` (16:9) and `vertical-stack` (9:16) under window, laptop, phone and monitor. Baseline: the whole frame zooms and tilts over the camera, and at rest the laptop's deck and the monitor's stand run under it. New: the frame stays at rest, lined up with the camera on its body, deck and stand clear of it; the flat zoom and the `iso` tilt stay inside the aperture, over the device's black glass or the window chrome's fill, with square top corners under the title bar. `picture-in-picture` with and without a laptop, `no-webcam` with a laptop, and both block layouts without a frame: every decoded frame identical to the baseline (framemd5, 480 video frames plus audio). **Not covered:** the GUI editor preview (same `plan_frame` and `computeCompositeLayout`, not driven), `follow-cursor` inside a frame (unit-tested only), the Auto format with a frame in a block layout (its resting shape ignores the frame, so the camera is not exactly square there), macOS and Linux rendering (WGSL validated with naga, Metal not compiled). |
| 2026-09-27 | worktree `camera-size-zoom-balance-7e14d7`, `claude/camera-size-zoom-balance-7e14d7` on `7aa00935` (`integration/demo-never-ugly`) + the camera size change; `compositor_view.node` built from this tree (`cargo build -p compositor-view-napi --release`), baseline addon built the same way with the old `1/zoom` curve; renderer built with `vite build` for each side, the baseline with the old 10–35 bounds; rest of `bin/win32-x64` copied from a 26/09 build, ffmpeg DLLs hash-identical to the vendored SDK | Windows 11 26200, NVENC export | Partial — no defect | **Camera size range and shrink on zoom, through the app's real export (`electron . export <project> -o <mp4>`).** Source: a real 1920×1080 recording with its 640×480 webcam; legacy 16:9 projects, picture-in-picture bottom right, shrink on zoom on, a depth-3 (1.8×) zoom on [4 s, 10 s]; frames at 2.5 s and 7 s, camera boxes measured by difference with a camera-less export. During the zoom: default 25 %, 150×113 → **210×158** px; minimum 10 → 15 %, 60×45 → **126×95**; maximum 35 → 50 %, 210×158 → **420×315**, each equal to the computed rect. At rest: 378 and 540 px wide at 35 and 50 %. **Not covered:** the GUI editor preview and the slider (unit-tested: `min` 15, `max` 50), the square camera, macOS and Linux rendering (same `plan_frame`, not compiled here). |
| 2026-09-30 | installed `v2.0.0-rc.1` (CI artifact, sha512 matched `latest.yml`), installed over 1.10.0 | Windows 11 26200, 1920×1080 @ 125 %, AMD Radeon iGPU | Partial — 2 defects | Launch/HUD, source selector (window and full screen), record with pause/resume, stop→editor ~0.65 s, transport, seek, zoom/speed/trim/full-camera regions with undo/redo, autosave, imported audio track (mixed at the right place and gain), voiceover take, Rec mode, MP4 export (duration = source video stream − trim − speed gain, exact), GIF export (ffmpeg and Pillow decode byte-identical). **Defects:** HUD walks up on a vertical→horizontal flip (#951, fixed in rc.5 by #953); transcript word times VAD-compressed, ~−14 s (fixed for rc.3, #948). GIF export ~3 frames/s vs MP4 ~84 fps (#952). **Not defects, re-triaged:** the Whisper Vulkan boot crash came from a helper staged from an unrelated branch (409cf4d7); "HUD not topmost" is computer-use's own doing (a `screenshot` clears `WS_EX_TOPMOST` on the HUD); the 98 % progress stop was the Windows audio tail (#942). Not covered: installer UI (ran `/S`), updater, tray, cancel/restart, notes, reopen from library, AI chat, macOS/Linux. |
| 2026-10-01 | installed `v2.0.0-rc.6` (CI artifact, sha512 matched `latest.yml`), installed over rc.1 | Windows 11 26200, 1920×1080 @ 125 %, AMD Radeon iGPU | Partial — 1 defect (transcript) | Targeted at the Windows changes since rc.1. **#951:** two vertical↔horizontal round trips with real clicks, state read after each, HUD back at the same bounds (`302,149`). **Recording** (full screen + mic + system audio + webcam, instant pause/resume mid-take): screen and webcam H.264 **High**, BT.709 primaries/transfer/matrix, TV range; audio runs 28 ms past video (rc.1: 0.87 s); stop→editor ~1 s. Screen at 57.2 fps average — 181 missed 60 Hz ticks over 52 s, timestamps stay on the clock (video 52.17 s vs audio 52.20 s) — known, #945. **STT:** helper boots on Vulkan, VAD on CPU, no crash; on a ground-truth clip (12.12 s silence then speech), first word at 12.10 s and every sentence boundary within 0.12 s; the "en" CTC aligner downloads in the background and only applies from the next transcription. **Defect:** the last word before one pause ("happened.") lands after it as a 20 ms word, its audio given to the previous word; without the aligner the display order also inverts ("nothing The happened."). Reported to #948. **Export:** 3-clip MP4 720p30, progress reaches 100 % (4200/4203), 4200 frames, video 139.97 s / audio 140.00 s, each clip's speech at the expected offset, decodes clean. **Mixer (#911, instant resume):** a second take with system audio only (mic off) while a 26 s TTS WAV played at 76 % volume (output peak meter 0.985 during the take). No punched hole anywhere in the voice: an alignment-free scan for 2–12 ms dips below 5 % between loud neighbours found none, and the same scan finds 10 ms holes injected into the take. Instant pause/resume (0.32 s button to button) skips 0.330 s of the source, so no voice before the pause is lost (the bug was 80–90 ms). Take is +3 dB over the source, peak −0.1 dBFS, 0 full-scale samples. The first take of this pass had the speakers muted at 0 %, which silences WASAPI loopback, so its audio was not usable. **Not covered:** preview limiter; MCP server; keep-awake; tray; GIF; macOS/Linux. |
Loading