- 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>
23 lines
945 B
JavaScript
23 lines
945 B
JavaScript
// "Auto-hide": the button that makes the timeline show only while the pointer is on it. The behaviour is the frame's (shell/peek.js).
|
|
// A preference of this screen, kept in this browser.
|
|
import { composer as c } from "../../composer/composer.js";
|
|
|
|
const KEY = "funui_timeline_peek";
|
|
|
|
export default {
|
|
id: "peek",
|
|
mount: "menubar.right",
|
|
needs: ["peek"],
|
|
setup({ host, app }) {
|
|
let on = false;
|
|
try { on = localStorage.getItem(KEY) === "1"; } catch { /* the plain layout */ }
|
|
app.peek.set(on);
|
|
const tab = c.button.sm({ label: "Auto-hide", tone: "neutral", pressed: on, title: "Show the timeline only while the pointer is on it", onClick: () => {
|
|
on = !on; app.peek.set(on); tab.setPressed(on);
|
|
try { on ? localStorage.setItem(KEY, "1") : localStorage.removeItem(KEY); } catch { /* lasts until reload */ }
|
|
} });
|
|
host.append(tab.node);
|
|
return () => { app.peek.set(false); tab.destroy(); };
|
|
},
|
|
};
|