Skip to content

Modularize Editor#186

Open
foxnne wants to merge 49 commits into
mainfrom
push-nvyuxknzqxmr
Open

Modularize Editor#186
foxnne wants to merge 49 commits into
mainfrom
push-nvyuxknzqxmr

Conversation

@foxnne

@foxnne foxnne commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

This PR is a large work in progress to discern information about the future of modularizing the editor.

This is the largest change to fizzy since rewriting in DVUI.

As of now, the proof of concept already works, with pending edits to DVUI to add a proxy backend, allowing us to compile individual libraries (plugins) which can be runtime loadable.

Currently, the app is now split into the following:

The editor itself is now often referred to as a shell, as it just reads plugins and renders their contributions to the correct regions.

  • Workbench plugin:
    - Handles rendering tabs and splits
  • Pixelart plugin:
    - Basically all the functionality of fizzy originally, but contained to a plugin
    - Support image loading and editing, adding supported docs to tabs/splits
  • Code plugin:
    - Basic text editing and syntax highlighting
Screenshot 2026-06-22 at 11 46 08 AM

The strategy here is to essentially statically link ALL builtin plugins for the web build. For the native build, we vendor a plugins folder containing the dylibs the editor will read at runtime. We also look for plugins at the config location, so hopefully we can support 3rd party plugins sooner rather than later.

Goals

  • Open door for plugin "store"/3rd party plugins
  • Example of multiple plugins contributing to editor tabs
  • Ability to update individual plugins

@foxnne foxnne changed the title Fix workbench tabs Modularize Editor Jun 22, 2026
@foxnne foxnne force-pushed the push-nvyuxknzqxmr branch 8 times, most recently from acd5067 to 40af769 Compare June 25, 2026 18:46
Allow ABI-version mismatches to reject loading plugin

Handle loading config area plugins

excersize 3rd party plugin

Update build files for sdk

simplify creating plugin

work on rough edges


Remove pixel art specific vtable hooks


make pixel art specific hooks commands instead


finish removing pixel art specifics in EditorAPI


begin refining sdk


unify builtin and 3rd party plugins


split root


refine plugin structure across all


fix web build


fix tab bar on bottom panel


make core.gpa not have to be set by plugin authors


Fix sprites panel

small visual fixes, refresh api

refine build.zig's in plugins
@foxnne foxnne force-pushed the push-nvyuxknzqxmr branch from 40af769 to a416ec3 Compare June 25, 2026 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant