ui/phase-9: revert premature done-mark, reuse minScaleNoWrap
Previous Phase 9 commit pre-marked PLAN.md with "Status: done" before the local-ci gate ran green. Project rule (galaxy/CLAUDE.md "Per-stage CI gate") allows the marker only after the run is success; revert to "Status: pending". Also folds the inline minScale formula in the playground page into a call to map/no-wrap.ts:minScaleNoWrap so the playground and the renderer share one source of truth for the floor. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
import { page } from "$app/state";
|
||||
import {
|
||||
createRenderer,
|
||||
minScaleNoWrap,
|
||||
sampleWorld,
|
||||
type RendererHandle,
|
||||
type RendererPreference,
|
||||
@@ -60,12 +61,13 @@
|
||||
}
|
||||
backend = handle.getBackend();
|
||||
|
||||
// Initial camera: place world centre.
|
||||
// Initial camera: world centre, zoomed slightly past the
|
||||
// fits-the-viewport floor so neighbouring torus copies are
|
||||
// visible too.
|
||||
handle.viewport.moveCenter(world.width / 2, world.height / 2);
|
||||
// Initial zoom: fit-ish (slight zoom-in from minScale).
|
||||
const minScale = Math.max(
|
||||
containerEl.clientWidth / world.width,
|
||||
containerEl.clientHeight / world.height,
|
||||
const minScale = minScaleNoWrap(
|
||||
{ widthPx: containerEl.clientWidth, heightPx: containerEl.clientHeight },
|
||||
world,
|
||||
);
|
||||
handle.viewport.setZoom(minScale * 1.2, true);
|
||||
if (mode === "no-wrap") handle.setMode("no-wrap"); // re-clamp post zoom
|
||||
|
||||
Reference in New Issue
Block a user