Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

embedding: fizzy's editor on a host's dvui backend (Blender, Unreal)

Aperta
#529 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
zig
Ambito
desktop, game-dev

Direzione di ricerca

Start by reading src/fizzy.zig and the existing test-integration build, then trace Entry and the global fizzy.entry() and fizzy.editor() assumptions described in the issue. The requested work needs a plan for separating process setup from the editor and defining the embedded API, host services, and window chrome options. Done means a host can build and run the editor on its dvui window with host-provided config, dialogs, and quit behavior.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Feature request from Graphl, which runs inside Blender and Unreal through blender-dvui and unreal-dvui. Each host owns the process and drives a *dvui.Window through dvui's init/frame/deinit. Graphl keeps a second shell of about 1200 lines for those hosts, and would like to run fizzy's editor there instead.

What's in the way:

  1. The build. Native backends are a closed set, and there's no way to get fizzy's editor as a module on a host's dvui and backend. test-integration already builds src/fizzy.zig on dvui's testing backend, so most of the code is ready.
  2. Entry assumes it is the process. It does:
    • crash handlers and root panic/segfault decls
    • Velopack hooks
    • the single-instance lock
    • a chdir to the exe's folder
    • OS window state and chrome
  3. One editor per process. fizzy.entry() and fizzy.editor() are globals.
  4. Window chrome. The editor draws a title-bar strip, caption buttons and drag areas.
  5. Services the host should provide: file dialogs, config storage, what Quit does.

Shape suggested: split Entry into a process part (fizzy's executables only) and an editor part. Expose fizzy.Embedded.init(gpa, win, .{ .chrome = .none, .config, .dialogs, .on_quit }) with frame/deinit, built by fizzy.addEmbedded(dep, .{ .dvui, .backend, .plugins, ... }).

This is a large feature and needs a plan.

Lingua principale
Zig
Stelle
1.5k
Fork
40
Merge medio
4h 56m
PR unite (30g)
346

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di fizzyedit/fizzy

Tutte le issue di fizzyedit/fizzy

Issue simili

Altre issue su Desktop Dev

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.