web: a fizzy.js to embed fizzy on a page's canvas, without patching globals
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
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- javascript, wasm, zig
Hướng nghiên cứu
Start by reading web/index.html and dvui's web.js to trace how imports, event listeners, plugins, and rendering are handled. The issue proposes a new fizzy.js module and changes to the web build API, but points to a separate build API issue for part of the scope. Done means callers can embed Fizzy on a canvas with scoped imports and listeners that destroy() removes, while index.html delegates to the module and no longer patches the global WebAssembly API.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Feature request from Graphl, which embeds fizzy's wasm on a canvas inside someone else's page. An iframe isn't an option for its users.
Today web/index.html:
- builds the
fizzyandenvimports inline - monkeypatches the global
WebAssembly.instantiateStreaming, which changes every wasm instantiation on the host page - adds
keydown,message,focusandresizelisteners onwindow, andfullscreenchangeondocument, which take the host page's shortcuts
So Graphl carries its own copy of the 12 imports.
Proposal:
- In dvui's
web.js, let callers pass extra import namespaces:dvui(canvas, url, { imports }). - Add a
fizzy.jsmodule,startFizzy({ canvas, wasm, imports, storage, beforeRun, worker })→{ instance, requestRender, destroy }. It owns the fizzy/env imports, plugin loading and input listeners, scoped to the canvas and removed bydestroy().
index.html becomes a thin caller, and the global patch goes. The web build should also let an app add wasm exports and its own page (see the build API issue).
- Ngôn ngữ chính
- Zig
- Star
- 1.5k
- Fork
- 40
- Merge trung bình
- 4 giờ 39 phút
- Pull request đã merge (30 ngày)
- 428
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
-
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
-
sdk
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
fizzyedit/fizzy#530 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
fizzyedit/fizzy#529 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
fizzyedit/fizzy#527 · 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 52/100
fizzyedit/fizzy#523 · 1 bình luận ·
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ự
-
frontend
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Create Asset from a database's asset list opens the upload page without that database selectedĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
awslabs/visual-asset-management-system#542 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
epam/statgpt-admin-frontend#296 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
🐛 bug 🧑💼 conseillers
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
betagouv/conseillers-entreprises#4768 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
reader: reopening a message shows the flags it had when it was first opened (star, read state)Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày