Windowing foundation: one model, decided once a frame, tested without a screen
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Zig
- Star
- 1.5k
- Fork
- 40
- Merge trung bình
- 5 giờ 35 phút
- Pull request đã merge (30 ngày)
- 151
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của fizzyedit/fizzy
-
replay: bench-replay no longer compiles, and nothing in CI builds itCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
fizzyedit/fizzy#306 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 8/100
fizzyedit/fizzy#336 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 12/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của fizzyedit/fizzy
Issue tương tự
-
Notifications pagination accepts NaN and negative LIMIT/OFFSETCó thể đã có người làm @Senthil455 đã nhận hôm nay. Đang mởBUGS MEDIUM
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
elixpo/blogs.elixpo#419 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: agent_final_response still returns the abandoned branch's answer after navigate moves HEAD backCó thể đã có người làm @enyst đã nhận hôm nay. Đang mởbug priority:low ready-for-dev
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
OpenHands/software-agent-sdk#5822 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: server enhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
scs0209/laya-guard#52 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
priority:high
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100