- Header: view toggles (Assets/Preview/Properties/Auto-hide) move to the top bar; progress, the prompt warning and scene actions (rate, upscale, interpolate) move to the row under the toolbar; the timeline head never wraps from 1000px up and never clips its controls. The top bar grows a line instead of spilling when it wraps. - Kit: every literal pixel size in element CSS is a token (the ratchet test is now zero); Composer's text box follows the viewport; the catalogue shows the component sizes. - test:viewport adds a fake ComfyUI queue and socket for the render-running state and asserts the header is one row. - Auto Montage removed (button, window, code, README/docs, tests). Saved projects holding pieces it made still load: the reused flag is kept. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
FunUI documentation
For people who use FunUI, start with How to start generating with FunUI.
For people who write code for it, read in this order:
- How FunUI is built: the idea, the layers, the failure model. Read this first.
- Writing a module: a Python module, step by step, with a tested example.
- Module reference: constants, setting keys, capabilities and helpers, in tables.
- Writing a UI feature: a screen feature in the app, with a tested example.
- UI design guidelines: how the app looks and behaves, and the words it uses.
- UI kit reference: every kit element, and how to add one.
- Testing and verification: running the tests and what counts as proof.
If a page and the code disagree, the code is right. Please fix the page.