Add a decimals option, fix dropdown overflow and the texture filter

- NumberField takes a decimals option (default 3); frame rects and the
  slice dialog use 0, matching their integer model.
- Button truncates its label to the drawn width; Dropdown reserves the
  chevron slot. NodeView reuses the shared truncate().
- Setting scaleMode leaves the style's shared resource id in place, so
  the old GPU sampler stayed in use until a reload. Call style.update().
- Graph gets a header bar like the Texture tab: GraphEditor is now the
  frame, the former editor is GraphCanvas. A selection the tab does not
  concern no longer unloads the behavior.
- New e2e step 14 guards text overflow across all widgets.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
rootandClaude Opus 5 committed 2026-09-08 15:05:28 +02:00
1 parent 35a1a23af8
commit f16801aef3
22 files changed
+874 -493

No files matched your search

+8 -1
View File
@@ -42,7 +42,14 @@ export class TextureLibrary {
return null;
}
const mode = ref.smooth ? 'linear' : 'nearest';
if (texture.source.scaleMode !== mode) texture.source.scaleMode = mode;
if (texture.source.scaleMode !== mode) {
texture.source.scaleMode = mode;
// Assigning the mode alone is not enough, and the difference is invisible until a reload:
// Pixi's `scaleMode` setter only writes mag/min/mipmapFilter and leaves the style's cached
// `_sharedResourceId` in place – but that id is the key the GPU sampler is looked up under,
// so the old sampler keeps being used. `update()` drops the id and announces the change.
texture.source.style.update();
}
return texture;
}