Split the object inspector, and sweep out the section banners

objectSection.ts had grown to 559 lines around three separable parts: the
queries, the vector rows and the parent row. Four object commands repeated the
same capture/restore preamble – applyCommands stays out, its five carry extra
undo state whose restore order matters.

58 dashed banner comments are gone. The nine labels in nodes/index.ts stay:
they are the only structure a flat 90-entry array has.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
rootandClaude Opus 5 committed 2026-09-10 07:14:45 +02:00
1 parent 11981b40d0
commit 3b3f374e10
11 files changed
+258 -244

No files matched your search

-6
View File
@@ -143,8 +143,6 @@ export class TextureCanvas extends Widget {
return { x: origin.x + local.x, y: origin.y + local.y };
}
// --- model ------------------------------------------------------------------------------
private asset(): TextureAsset | null {
const asset = this.assetId ? findAsset(this.state.project, this.assetId) : undefined;
return asset && asset.type === 'texture' ? asset : null;
@@ -159,8 +157,6 @@ export class TextureCanvas extends Widget {
return this.asset()?.frames.find((f) => f.id === frameId);
}
// --- pointer ----------------------------------------------------------------------------
private onPointerDown(e: FederatedPointerEvent): void {
const asset = this.asset();
// Without a known picture size `normalizeFrameRect` has no bounds, and would keep a frame
@@ -312,8 +308,6 @@ export class TextureCanvas extends Widget {
this.cursor = over ? 'move' : 'crosshair';
}
// --- drawing ----------------------------------------------------------------------------
override redraw(): void {
this.bg.clear().rect(0, 0, this.w, this.h).fill(Theme.colors.viewport);
this.clip.clear().rect(0, 0, this.w, this.h).fill(0xffffff);