Skip to content

feat: bounded native webview window presentation - #194

Merged
zackees merged 2 commits into
mainfrom
feat/webview-options
Sep 13, 2026
Merged

zackees merged 2 commits into
mainfrom
feat/webview-options

Conversation

@zackees

@zackees zackees commented Sep 13, 2026 •

Copy link
Copy Markdown
Owner

Refs #193. Coordinated with FastLED/cli#242. Stacked on #191; merge its dependencies first.

Adds facade-owned WebviewWindowOptions (title <=1024 UTF-8 bytes, no control characters, logical dimensions 1..16384) with typed validation errors and private validated fields. New open_webview_with_options composes existing permissions and delegates to the same resource lifecycle and native builder. Existing methods retain defaults. No scripts, IPC, backend handles, extra runtime, crate, or dependency introduced.

The native close smoke now opens a configured window and verifies actual title and scale-adjusted logical client area before closing; all other lifecycle scenarios retain the original opening route. Test-only observation clones the dispatcher before synchronous queries, avoiding a backing-table lock across UI dispatch.

Verified locally: RED unresolved API -> GREEN two contract tests; GUI feature full suite (180 library tests plus integration/doc tests); strict GUI all-target Clippy; dependency isolation; formatting; single-agent review. Real Linux Xvfb close/isolation/title/800x600-size/teardown smoke passes. Windows MSVC x86-64 and macOS ARM64 crosschecks pass; native Windows CI required. Input bounds are not a GPU memory quota, and window managers may constrain sizes.

This closes the presentation gap, not complete FastLED GUI adoption. Product pre-page scripts/reload behavior, Windows zoom policy, native media/render/capture parity, and exact published release adoption remain outstanding.

@zackees
zackees changed the base branch from feat/process-target to main September 13, 2026 10:42
@zackees
zackees marked this pull request as ready for review September 13, 2026 10:44
@zackees
zackees merged commit 1a8c40a into main Sep 13, 2026
49 checks passed
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