## Export decoder fix — 10 October 2026

The shared exporter uses sequential frame reading with lookahead for variable-frame-rate and late-start recordings. The former 1.067s failure was reproduced in Chromium, then the fixed worker produced WebM exports with audio, including trims, speed changes, gaps and repeated footage. Decoded file timing and pixels were checked. Extension build 0.1.3 includes the fix. Installed-extension and MP4 verification remain pending. See EXPORT-FIX.md for deployment instructions and full test scope.

# Feature status — Glidelo 0.1.0

This is a development implementation, not full product completion. A tested shared function does not mean its entire platform journey was tested. Original full requirements remain in docs/BUILD_BRIEF.md.

| Capability | Web | Extension | Windows | macOS | Verification evidence | Remaining dependency |
|---|---|---|---|---|---|---|
| Local no-account import/edit/save | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Core save/reopen tests | Browser and platform runs |
| Approved screen/tab/window capture | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Capture adapters authored | Actual permission and device checks |
| Microphone/camera setup and preview | implemented but unverified | not started | implemented but unverified | implemented but unverified | Shared browser setup | Extension integrated device setup; real devices |
| Source audio availability detection | implemented but unverified | implemented but unverified | implemented but unverified | not started | Missing-track notices | OS-specific verification; macOS adapter |
| Countdown, timer, pause/resume, stop | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Recorder state implementations | Pause synchronization checks |
| Desktop tray recording control | unsupported on this surface | unsupported on this surface | not started | not started | None | Native tray lifecycle |
| Persistent extension offscreen recording | unsupported on this surface | implemented but unverified | unsupported on this surface | unsupported on this surface | Offscreen recorder source | Installed extension test |
| Pointer events on permitted pages | unsupported on this surface | implemented but unverified | unsupported on this surface | unsupported on this surface | Normalized event metadata | Navigation and permissions tests |
| Global pointer/window/DPI metadata | unsupported on this surface | unsupported on this surface | not started | not started | None | Native capture/input adapters |
| Incremental chunks and recovery | implemented and tested | implemented and tested | implemented but unverified | implemented but unverified | Recovery ordering test | Browser crash and quota checks |
| Automatic per-click focus draft | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Algorithm tests | Real-recording visual tuning |
| Fixed/follow focus and crop bounds | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Coordinate/easing tests | Preview/export parity |
| Sensitivity presets and authored edits | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Every-click/calm presets; regeneration test | Continuous sensitivity control absent |
| Trim, split, delete and gap choice | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Time mapping tests | UI verification |
| Speed .25x–10x and dependent timing | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Effect/subtitle mapping tests | Real audio/camera sync |
| Pitch-preserving retiming | not started | not started | not started | not started | Pitch limitation displayed | Local DSP integration |
| Timeline thumbnails, zoom, snapping, multiselect | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | UI implemented | Pointer/keyboard testing |
| Audio waveforms | not started | not started | not started | not started | None | Bounded waveform analysis |
| Undo/redo and numeric segment controls | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | UI implemented | Interaction testing |
| Global/timed crop and manual focus | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Core crop bounds tested | Export UI parity |
| Source-coordinate solid masks | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Pixel/encoded-frame checks | Browser worker export verification |
| Blur/pixelation masks | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Shared renderer code | Saved browser output inspection |
| Gradients, image background, padding/frame | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Shared renderer encoded sample | Browser controls and custom images |
| Output ratios and safe crop bounds | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Landscape/portrait/square dimension tests | All ratios actual export |
| Click rings/pulse/ripple | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Event-time shared renderer | Actual event alignment |
| Cursor capture-mode declaration | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Schema validation | Native separate cursor integration |
| Cursor replacement, shape, hotspot, smoothing | unsupported on this surface | unsupported on this surface | not started | not started | Disabled for baked/unknown cursor | Cursor-free native video and metadata |
| Cursor tilt/sway/shadow/motion blur | unsupported on this surface | unsupported on this surface | not started | not started | None | Native pointer effects |
| Camera shapes/placement/timed visibility | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Shared compositor | Real synchronized capture/export |
| Camera adjustable border/shadow | not started | not started | not started | not started | Fixed border only | Expose compositor settings |
| Separate gains, mute and fades | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Worker mixing implementation | Audio quality/sync inspection |
| Basic microphone noise suppression | implemented but unverified | not started | implemented but unverified | implemented but unverified | Browser capture constraint | Real noise samples |
| Advanced local denoiser | not started | not started | not started | not started | Explicitly unavailable | Local DSP and quality verification |
| Local speech download/progress/cancel/cache | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Whisper Tiny worker | Model download, offline and accuracy tests |
| English/Malayalam subtitle text rendering | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Unicode and composition tests | Speech accuracy separate |
| Caption text/timing/style and SRT/VTT | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Serialization/retiming tests | UI integration verification |
| Caption merge/split and line-length control | not started | not started | not started | not started | None | Editor operations |
| Local list/rename/duplicate/delete | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Storage duplicate/delete tested | UI verification |
| Portable self-contained .glidelo bundle | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Embedded bytes/reference remap tests | Large project browser test |
| Missing media relink | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Matching dimensions/duration; new asset id | Browser relink test |
| Real MP4/WebM WebCodecs mux/export | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Production compiled workers | End-to-end browser playback |
| 720/1080/1440/2160 settings and device codec checks | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | Dimension checks; native renderer test at 720/1080/2160 | Device codec/performance checks |
| Bounded frames, OPFS, progress/cancel | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | One-frame pool; half-second audio blocks | Long-job memory and cancellation tests |
| Native heavy encoder | unsupported on this surface | unsupported on this surface | not started | not started | None | Native encoding adapter |
| Windows native capture and separate cursor | unsupported on this surface | unsupported on this surface | blocked | unsupported on this surface | Electron source shell only | Windows runner and missing native adapter |
| macOS native capture and separate cursor | unsupported on this surface | unsupported on this surface | unsupported on this surface | blocked | Electron source shell only | macOS runner and missing native adapter |
| Reproducible desktop packaging config | unsupported on this surface | unsupported on this surface | implemented but unverified | implemented but unverified | Pinned Electron/builder lockfile | Platform build/sign/notarize |
| Signed desktop installers and updates | unsupported on this surface | unsupported on this surface | blocked | blocked | No installer advertised | Native completion, runners and signing |
| Optional authorized sharing service | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Local API authorization/quota/range tests | Deployment and browser UI unconfigured |
| Private/org/unlisted revoke/delete/expiry | implemented and tested | implemented and tested | implemented and tested | implemented and tested | Service permission tests | Production operations and account UI |
| Website/help/privacy/real downloads | implemented but unverified | implemented but unverified | unsupported on this surface | unsupported on this surface | Routes and packages built | Browser review |
| Chrome/Edge/Brave compatibility | implemented but unverified | implemented but unverified | implemented but unverified | implemented but unverified | No real-browser run | Independent platform matrix |
| Firefox/native Linux release | unsupported on this surface | unsupported on this surface | unsupported on this surface | unsupported on this surface | Not advertised | Separate compatibility implementation |
