You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Final gate after #54, #55, #56, #57, #58, #34 and #40. Replace the current compatibility preview with a qualified working macOS Native AOT app. Existing --verify intentionally fails when required media capabilities are absent; do not relax it to API presence or rendered-scene count.
Implementation and acceptance harness
Pin original application/source hashes and bundled demo assets; preserve application JS/WGSL and third-party notices. Build a repeatable acceptance harness with real UI gestures plus inspected app state, runtime/GPU error collection and independent pixel/audio/export checks.
Startup: await app.ready and app.booted, WebGPU renderer, seven-clip demo and actual decoded visible content. No console/JS/device errors, blank viewer or silently skipped external video layers.
Editorial: source/project view, play/pause/J-K-L, frame step, repeated seek across cuts/dissolves, trim/split/reorder, undo/redo, transforms/color/crop, editable title overlays, timeline zoom/pan and window/sidebar resizing. Check project state and output frames, not only handler calls.
Media/files: import video/audio/still, waveform generation, source in/out, audio gain/fade/mute, restart recovery, portable save/open and reference relink. Qualify PNG, SRT/EDL, recorded movie and export cancellation with independent file decode/validation. Native select popup gaps are tracked by Implement real popup selection for collapsed HTML select controls #44; link any additional blocking UI gaps rather than patching the sample.
Compare Chrome using identical assets, viewport, scale, resolution and hardware. Measure input-to-present latency, present intervals, missed vsyncs, decode/JS/layout/paint/GPU submission/completion and retained-image queues separately. A 24 fps clip may repeat frames on a 60 Hz display; do not count those intended repeats as stalled UI or claim CPU submission time is measured FPS.
Proposed macOS 60 Hz gate: warmed 1080p preview with timeline/sidebar drag and playback, >=99% of measured interaction frames meeting the 16.67 ms presentation deadline over a repeatable 30-second trace; publish p50/p95/p99 and missed-vsync counts. Investigate any sustained drops or material Chrome gap before passing, and record agreed workload/threshold revisions. No per-frame CPU readback, unbounded queue or stale-frame stretching as a performance workaround.
Run repeated create/close, playback/seek/resize, device loss and export/cancel stress; verify memory/decoder/texture/worker counts return to bounded baselines.
Publish Native AOT with warning gate, retain main Avalonia 11 regressions and sample Avalonia 12 cooperative resize. Package matching V8 snapshots, Dawn, codecs and assets; validate dependencies from a clean bundle, real process name Frameforge and clean shutdown. State signing/notarization, native library/static-link layout and platform coverage honestly.
Completion checklist
Original full workflow above passes with screenshots, traces and decoded output evidence.
WPT/CTS project profile names, exact commands and pass/skip/fail counts attached; no unsupported path counted as success.
60 Hz interaction and bounded-resource gates pass on declared hardware, compared with Chrome.
Downloadable macOS AOT app/ZIP runs without .NET, Node or developer SDK search paths.
Windows/Linux parity remains separately tracked until tested; no cross-platform qualification implied.
Parent: #53. Baseline: PR #43 / ce56d49; sample experiments/WebScene.Frameforge.
Reference application: https://github.com/wieslawsoltes/Frameforge (pin f414cd44896b659a5c6da2e4fc596a2ded055f2a, includes demo media and THIRD_PARTY_NOTICES.md).
Implement in WebScene, leaving original application JavaScript/WGSL unchanged. No fake capability objects, synthetic successful events or swallowed errors. Keep public contracts cross-platform with isolated backend implementations; qualify macOS arm64 first and explicitly track Windows/Linux follow-up. Production Avalonia 11 must remain supported; only samples opt into Avalonia 12. Native AOT/trim safety is mandatory.
Add focused native/managed regression coverage and a pinned WPT subset or clearly labeled project-owned contract for non-WebGPU behavior. Applicable WebGPU CTS cases belong with GPU work. Record exact revisions, test commands, negative cases and reproducible evidence in the implementation PR. Unsupported functionality cannot be marked passed; distinguish app coverage from standards conformance. Review existing implementation before adding overlapping infrastructure.
Native file acceptance clarification
Qualify Open/Import and Save/Save As through the actual Avalonia and Uno backend picker services from #57. For portable projects, PNG, SRT/EDL and movies, verify native dialog ownership, suggested name/type, chosen destination, overwrite/cancel/error behavior and saved bytes. Browser download UI or silently writing to Downloads does not satisfy this gate. macOS-first runtime qualification remains valid, but an unavailable Uno/platform test must be recorded as unverified until exercised.
Dependencies and outcome
Final gate after #54, #55, #56, #57, #58, #34 and #40. Replace the current compatibility preview with a qualified working macOS Native AOT app. Existing --verify intentionally fails when required media capabilities are absent; do not relax it to API presence or rendered-scene count.
Implementation and acceptance harness
Completion checklist
Original application references
Shared delivery requirements
Parent: #53. Baseline: PR #43 / ce56d49; sample
experiments/WebScene.Frameforge.Reference application: https://github.com/wieslawsoltes/Frameforge (pin f414cd44896b659a5c6da2e4fc596a2ded055f2a, includes demo media and THIRD_PARTY_NOTICES.md).
Implement in WebScene, leaving original application JavaScript/WGSL unchanged. No fake capability objects, synthetic successful events or swallowed errors. Keep public contracts cross-platform with isolated backend implementations; qualify macOS arm64 first and explicitly track Windows/Linux follow-up. Production Avalonia 11 must remain supported; only samples opt into Avalonia 12. Native AOT/trim safety is mandatory.
Add focused native/managed regression coverage and a pinned WPT subset or clearly labeled project-owned contract for non-WebGPU behavior. Applicable WebGPU CTS cases belong with GPU work. Record exact revisions, test commands, negative cases and reproducible evidence in the implementation PR. Unsupported functionality cannot be marked passed; distinguish app coverage from standards conformance. Review existing implementation before adding overlapping infrastructure.
Native file acceptance clarification
Qualify Open/Import and Save/Save As through the actual Avalonia and Uno backend picker services from #57. For portable projects, PNG, SRT/EDL and movies, verify native dialog ownership, suggested name/type, chosen destination, overwrite/cancel/error behavior and saved bytes. Browser download UI or silently writing to Downloads does not satisfy this gate. macOS-first runtime qualification remains valid, but an unavailable Uno/platform test must be recorded as unverified until exercised.