fix: hide Tile size outside the grid view; tour and wizard point at the real Help menu and ComfyUI chip

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
digital-garbage
2026-10-15 13:13:56 +03:00
co-authored by Claude Sonnet 5.5
parent 41a75c3cd6
commit 6a3be949d9
3 changed files with 5 additions and 3 deletions
+3 -1
View File
@@ -99,6 +99,7 @@ export default {
note.setText("");
} });
const seg = (label, options, key) => c.segmented.sm({ label, options, value: show[key], onChange: (v) => { show[key] = v; draw(true); } });
const tileSize = seg("Tile size", DENSITY, "cols"); // only the grid has columns
const sort = c.select.sm({ label: "Sort", options: SORTS, value: show.sort, onChange: (v) => { show.sort = v; draw(true); } });
const selectBtn = c.button.sm({ label: "Select", tone: "ghost", title: "Pick several files, then delete them together", onClick: () => { selecting = !selecting; chosen.clear(); draw(true); } });
const bulk = c.button.sm({ label: "Delete (0)", tone: "danger", onClick: async () => {
@@ -109,7 +110,7 @@ export default {
bulk.node.hidden = true;
const clearRefs = c.button.sm({ label: "Clear references", tone: "ghost", title: "Stop using every reference picture in the selected scene", onClick: () => p.selected && p.setScene(p.selected.id, "references", []) });
host.append(c.toolbar.default({ items: [c.text.sm({ text: "Media" })], trailing: [clearRefs, selectBtn, bulk] }).node, drop.node, note.node, seg("Show", FILTERS, "filter").node, sort.node,
seg("View", VIEWS, "view").node, seg("Tile size", DENSITY, "cols").node, shelf.node);
seg("View", VIEWS, "view").node, tileSize.node, shelf.node);
let drawn = "";
function draw(force) {
@@ -125,6 +126,7 @@ export default {
const g = galleries[show.view];
shelf.set([g]);
if (g.setCols) g.setCols(Number(show.cols));
tileSize.node.hidden = !g.setCols;
// what the selected scene uses is marked on its tile, so a reference can be told from the rest
const flags = (m) => [sc && sc.source_image === m.id ? { text: "◐", title: "The selected scene's aspect ratio source" } : null,
refs.includes(m.id) ? { text: `${plan.pins[m.id] ? "📌" : ""}R${nums[refs.indexOf(m.id)]}`, title: `Reference slot ${nums[refs.indexOf(m.id)]} for the selected scene${plan.pins[m.id] ? ", pinned to every scene" : ""}` } : null].filter(Boolean);
+1 -1
View File
@@ -12,7 +12,7 @@ const STEPS = [
{ at: zone(3), side: "top", title: "Timeline", text: "One clip per scene. Drag the edges to trim, press S to split, Space to play. Lanes below carry separated sound." },
{ at: button("◆ Composer"), side: "top", title: "Composer", text: "Write the whole story in one box, cut at the cut word; keep templates, $variables and shortcuts; chat with the prompt enhancer." },
{ at: button("▶ Generate"), side: "top", title: "Generate", text: "Makes every scene on the timeline, except left-out scenes and video clips; an earlier render of a scene stays as a take. “Generate this scene” in Properties makes just the picked one; rate a result so FunPack learns your taste." },
{ at: () => document.querySelector(".cx-frame-main"), side: "bottom", title: "FAQ", text: "Nothing happens? Check the ComfyUI chip in the status bar and the Log window. Wrong look? Settings ▸ Appearance. Lost a layout? View ▸ Reset Layout. Lost a project? File ▸ Open recent. That is the tour: Help ▸ Restart tour runs it again." },
{ at: () => document.querySelector(".cx-frame-main"), side: "bottom", title: "FAQ", text: "Nothing happens? Check the ComfyUI chip at the top right and the Log window. Wrong look? Settings ▸ Appearance. Lost a layout? View ▸ Reset Layout. Lost a project? File ▸ Open recent. That is the tour: Help ▸ Start tour runs it again." },
];
export default {
+1 -1
View File
@@ -18,7 +18,7 @@ export default {
c.field.default({ label: "Start from", hint: "A model's own pipeline, ready to fill with files. “Keep the current pipeline” leaves Models & Pipeline as it is.",
control: c.select.md({ label: "Start from", value: ctx.preset, onChange: (v) => { ctx.preset = v; },
options: [{ value: "", label: "Keep the current pipeline" }, ...presets.map((p) => ({ value: p.id, label: p.title }))] }) })] }) },
{ title: "Want the guided tour?", sub: "A walk through the screen, one part at a time. It changes nothing; Help ▸ Restart tour runs it again.", body: () => c.toggle.default({ label: "Show me around when I finish", checked: ctx.tour, onChange: (v) => { ctx.tour = v; } }) },
{ title: "Want the guided tour?", sub: "A walk through the screen, one part at a time. It changes nothing; Help ▸ Start tour runs it again.", body: () => c.toggle.default({ label: "Show me around when I finish", checked: ctx.tour, onChange: (v) => { ctx.tour = v; } }) },
];
let busy = false;