Repository navigation
Example repos that move with fizzy, and a dvui app on fizzy's backend #281
Copy link
Copy link
Open
Description
Fizzy's examples become two repos that move with fizzy, and the app one grows a plain dvui app on fizzy's backend. That dvui app is the proof that the windowing work belongs in dvui (#243).
- fizzyedit/example-app: fizzy as a library.
zig build run-fizzy -Dshape=minimal|studio|endlessis a whole fizzy app in that shape.zig build run-dvuiwill be dvui's own widgets on fizzy's backend: floats, menus and dialogs as OS windows, Liquid Glass on macOS.
- fizzyedit/example-plugin: the smallest plugin, the template to copy.
Moving with fizzy.
- Fizzy's CI builds both repos against each PR's own tree (
scripts/check-examples.sh), fetched as a URL dependency would be. - An SDK release asks example-plugin to repin, as it asks the store plugins.
Steps
- Both repos created, with the shapes, the hello plugin (now example-plugin) and the shader plugin (example-app's own).
- build: fizzy builds when fetched as a URL dependency #279: fizzy builds when fetched as a URL dependency.
VERSION,app/andweb/were missing from.paths. - examples: moved to fizzyedit/example-app and example-plugin #282: fizzy's
examples/removed, with CI building the two repos instead (stacked on build: fizzy builds when fetched as a URL dependency #279). - example-app repinned from build: fizzy builds when fetched as a URL dependency #279's commit to
mainonce build: fizzy builds when fetched as a URL dependency #279 merges (replay: the replay app moves here; fizzy pinned at main with the cold-cache fix example-app#2), and again tomainwith the backend package and SDK 0.2.20 (build: pin fizzy at main with its backend package, SDK 0.2.20 example-app#3). -
PLUGIN_DISPATCH_TOKENscoped to example-plugin too, so the SDK release's repin request reaches it (a repo setting). At 0.2.20 every repin request, to the store plugins too, got HTTP 403: the token reaches none of them. - example-app follows fizzy
mainon its own: a workflow that repins it when fizzy releases. - backend: fizzy's native backend is a package of its own #312: fizzy's backend as a package of its own (Windowing foundation: one model, decided once a frame, tested without a screen #243's "On fizzy's side"):
SDLBackend,GpuRenderer,platform/**,viewport_map, the SDL pin. - Popout's generic half moves into it: subwindows, dialogs and menus into OS windows, driven by dvui's
drawRetainedandscreensSet(popout: dialogs drawn through dvui's drawRetained, not drawEarly #278).- backend: the viewports API is the backend package's, with a stand-in #324: the
viewportsAPI is the package's, with a stand-in (viewports_none) for backends without OS windows; build: fizzy builds on dvui's SDL3 backend again, and CI keeps it #328 makes-Dnative-backend=sdl3build again. - backend: viewports.Picture, fizzy.addDvui, the pointer over OS windows #326: one way to draw a viewport's picture,
viewports.Picture(stacked on backend: the viewports API is the backend package's, with a stand-in #324). - build: a dvui app of its own on fizzy's backend (fizzy.addDvui) #329:
fizzy.addDvui, a dvui app of its own on fizzy's backend or dvui's (stacked on backend: viewports.Picture, fizzy.addDvui, the pointer over OS windows #326). - popout: a demo's pointer shows over float, menu and dialog windows #330: a demo's pointer shows over float, menu and dialog windows (stacked on backend: viewports.Picture, fizzy.addDvui, the pointer over OS windows #326).
- backend: the viewports API is the backend package's, with a stand-in #324: the
- core: floats' screens are dvui's (dvui.screensSet) #325: fizzy adopts
dvui.screensSetin place ofcore.screens' dvui-data plumbing. - example-app's
run-dvui: a plain dvui app on that backend. Its floating windows are OS windows (dvui: run-dvui, dvui's demo and floating windows as OS windows example-app#4, draft until build: a dvui app of its own on fizzy's backend (fizzy.addDvui) #329 lands); menus and dialogs later, once the app can say which subwindows are menus. - The two dvui changes proposed upstream (
foxnne/dvui-devbrancheswindow-draw-retained,screens-set), withrun-dvuias the demonstration.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
build: fizzy builds when fetched as a URL dependency (#279)
examples: moved to fizzyedit/example-app and example-plugin (#282)
sdk: release 0.2.19 (#288)
build: an app built on fizzy configures on a cold cache (#297)
backend: fizzy's native backend is a package of its own (#312)
sdk: release 0.2.20 (#322)
examples: replay-app moved to fizzyedit/example-app (#301)
backend: the viewports API is the backend package's, with a stand-in (#…
core: floats' screens are dvui's (dvui.screensSet) (#325)
build: a dvui app of its own on fizzy's backend (fizzy.addDvui) (#329)
backend: one way to draw a viewport's picture (viewports.Picture) (#326)
backend: viewport windows framed by the app (viewports.Frame) (#338)
ci: the example builds include example-app's dvui app, on both backen…
backend: a dvui.osWindow is an OS window of its own, from the one fra…