Width, height and length belong to the PROJECT, not to a scene: a scene cropped on the timeline and regenerated comes back at the project's size, because the crop was a timeline decision and a regenerate is a new scene. They sit in the Constructor beside the prompt -- the two things settled in one sitting -- and travel to the graph on the path the prompt already uses. No new mechanism: the pipeline declares roles at `project.video` the same way it declares the prompt, so core still names no node and no setting. A role whose value is a number gets a number control instead of a box; that is the whole of the UI change. What the pipeline does not offer is not shown, so a graph with no length input simply has no Length. Bounds are the NODE's and stay there -- it already refuses a value outside them with a reason, beside Generate. A project file is the one thing here that outlives the code that wrote it, so everything read back out of one is checked: a whole positive number, or gone. Also, four faults the browser suite was already red with before this: * Six tests still clicked a rail toggle that moved into the timeline head. * At 420px the panel OVERLAYS the centre -- and the named toggles are in the centre, so the panel covered the control that closes it. That is the v4 trap this project forbids. They are not offered at that width now; the View menu, which nothing can cover, is the way in and out. * A 768px window laid out 860px wide and scrolled sideways. Root cause, and it was never about one component: a flex item's automatic minimum is its CONTENT, so every stack, split, panel body and frame region in the app handed its content's width upward. A scroller that cannot shrink below what it holds is not a scroller -- the strip of scenes made the WINDOW as wide as the strip. Floored at the five places every layout routes through. * A bin test counted `.cx-cell-glyph` across the whole page, so the timeline drawing cells with the same glyph in them broke a test about the bin.
28 lines
1.1 KiB
HTML
28 lines
1.1 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>FunPack</title>
|
|
<script src="/funpack/app/shell/theme.js"></script>
|
|
<link rel="stylesheet" href="/funpack/app/composer/composer.css">
|
|
<style>
|
|
/* The app frame itself: the only rule outside the kit, and it sets no
|
|
colours, sizes or type -- just the shape of the page. A DEFINITE height,
|
|
because the kit's frame fills what it is given and "100% of auto" is
|
|
auto: with min-height here the whole app rendered as a strip at the top
|
|
of an empty window. */
|
|
html, body { block-size: 100%; }
|
|
body { display: flex; margin: 0; }
|
|
/* No padding: the frame's own bands run edge to edge, and the space
|
|
around the content is the gutter the kit applies inside them. */
|
|
#app { flex: 1; display: flex; min-block-size: 0; min-inline-size: 0; }
|
|
#app > * { flex: 1; min-inline-size: 0; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
<script type="module" src="/funpack/app/boot.js"></script>
|
|
</body>
|
|
</html>
|