Skip to content

feat(widget): add runtime window visibility control - #204

Draft
doodlewind wants to merge 1 commit into
mainfrom
creative-education
Draft

feat(widget): add runtime window visibility control#204
doodlewind wants to merge 1 commit into
mainfrom
creative-education

Conversation

@doodlewind

@doodlewind doodlewind commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add a coalesced runtime Show/Hide request to both 3D and flat widget products
  • keep fixed ticks alive while a native widget window is hidden
  • suppress presentation while hidden and arm one fresh frame when the window is shown again
  • cover visibility coalescing and the hidden-to-shown repaint latch with focused unit tests

Scope

This PR intentionally contains only the reusable pocket-widget capability needed by long-lived tray/MCP-controlled products. Persona-specific rendering, catalog, bridge, MCP, acceptance tooling, benchmark code, and documentation live in the companion Pocket Character Draft PR:

The earlier Persona vertical slice was moved out of this branch. The benchmark-only render_when_occluded option was also removed rather than becoming framework API.

Platform boundary

Visibility is best-effort and inherits winit platform support. Product simulation remains deterministic because fixed ticks continue even when presentation is hidden.

Validation

  • cargo test --manifest-path engine/Cargo.toml -p pocket-widget — 14 passed
  • cargo clippy --manifest-path engine/Cargo.toml -p pocket-widget --all-targets -- -D warnings
  • cargo check --manifest-path engine/Cargo.toml --workspace --all-targets
  • live macOS Pocket Persona bridge smoke: Hide → hidden health → Show → render recovery
  • git diff --check

@doodlewind
doodlewind force-pushed the creative-education branch from e6f0463 to 581aa35 Compare July 30, 2026 12:17
@doodlewind doodlewind changed the title feat(persona): add Pocket-native parity POC feat(widget): add runtime window visibility control Jul 30, 2026
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