Windowing foundation: one model, decided once a frame, tested without a screen
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Start with docs/WINDOWING_FOUNDATION_PLAN.md, which contains the review findings and breaks the work into separate PRs; note the stated dependencies on #237, #238, and #242. Choose one step and follow its named scope, such as running the app module tests in step 1 or measuring Objective-C messages in step 4. Done means completing that step while preserving today's behaviour; this issue describes a broad, multi-step plan rather than a single newcomer-sized change.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The plan is docs/WINDOWING_FOUNDATION_PLAN.md (#246). Every step keeps today's behaviour. They make the windowing (floats, menus, dialogs, view drags, drop zones) testable without a screen and cheap in native calls, share one model across platforms, and leave the backend usable by any dvui app. It builds on NATIVE_WINDOWS_PLAN.md and WINDOWS_LINUX_GLASS_PLAN.md, and doesn't repeat them.
Findings from the 2026-10-08 review are in the doc. In short:
- one
Viewportstruct serves five kinds of window; - Popout re-decides every window by hand each frame, through five near-copies of fill-and-present;
- there are seven coordinate spaces and two different band thresholds;
- drag hit tests repeat once per region per frame;
- macOS makes about 20 Objective-C messages per float per frame, changed or not;
- glass looks are mirrored four deep and the shader is hand-synced three ways;
- 32 layout tests never ran;
- nothing popped out is tested.
Steps, each its own PR:
- 1. Run the
appmodule's own tests (32 that never ran): #244 - 2. Menus and dialogs stay auxiliary windows on macOS: #245
- 3. Typed coordinate spaces and one
bandOfinviewport_map, after #237 and #238 - 4.
OsWindow: kinds as a union, native handles cached, dressing applied only on change, per-kind budgets (measure Objective-C messages per frame before and after) - 5. The frame's windows as a pure plan the backend reconciles, plus a fake backend and the first integration tests that pop a float out
- 6. One
fillfor every OS window, with a target pool - 7. A drag model computed once a frame, with tests, and the release rules in one table
- 8. Float, window and drag lifecycles as explicit states
- 9. Glass: published capabilities, one look record end to end, shader parity (after #242)
- 10. Full-screen transitions driven by Core Animation, if release builds don't hold 8.3 ms
- 11. dvui changes on the fork (subwindow render redirection, a screens hook, subwindow kind and parent), the backend as a package, and dvui's example app as the acceptance test
- 12. Remove the dead viewport API, along with steps 3–5
- Lingua principale
- Zig
- Stelle
- 1.5k
- Fork
- 40
- Merge medio
- 5h 35m
- PR unite (30g)
- 151
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di fizzyedit/fizzy
-
replay: bench-replay no longer compiles, and nothing in CI builds itForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
fizzyedit/fizzy#306 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 8/100
fizzyedit/fizzy#336 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 12/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di fizzyedit/fizzy
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
cmlarsen/writemorebetter#158 ·
I maintainer di solito rispondono entro 1 giorno
-
Notifications pagination accepts NaN and negative LIMIT/OFFSETForse già presa @Senthil455 l’ha presa oggi. ApertaBUGS MEDIUM
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
elixpo/blogs.elixpo#419 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: agent_final_response still returns the abandoned branch's answer after navigate moves HEAD backForse già presa @enyst l’ha presa oggi. Apertabug priority:low ready-for-dev
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OpenHands/software-agent-sdk#5822 ·
I maintainer di solito rispondono entro 1 giorno
-
area: server enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
scs0209/laya-guard#52 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno