diff --git a/examples/tests/mount-pivot.ts b/examples/tests/mount-pivot.ts index ce5d596..68014f5 100644 --- a/examples/tests/mount-pivot.ts +++ b/examples/tests/mount-pivot.ts @@ -55,7 +55,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { colorBottom: randomColor() * 0xffffffaa, colorTop: randomColor() * 0xffffffaa, parent: testRoot, - shader: renderer.createShader('RoundedRectangle', { + shader: renderer.createShader('Rounded', { radius: rnd(10, 50), }), mountX, @@ -71,7 +71,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { h: 20, color: 0xffffffff, parent: node, - shader: renderer.createShader('RoundedRectangle', { + shader: renderer.createShader('Rounded', { radius: 10, }), scale: 1, diff --git a/examples/tests/scaling-animations.ts b/examples/tests/scaling-animations.ts index 89b9c51..81b6f7d 100644 --- a/examples/tests/scaling-animations.ts +++ b/examples/tests/scaling-animations.ts @@ -23,7 +23,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { colorBottom: randomColor(), colorTop: randomColor(), parent: testRoot, - shader: renderer.createShader('RoundedRectangle', { + shader: renderer.createShader('Rounded', { radius: rnd(10, 50), }), scale: 1, @@ -37,7 +37,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { h: 20, color: 0xffffff55, parent: node, - // shader: renderer.createShader('RoundedRectangle', { + // shader: renderer.createShader('Rounded', { // radius: 5, // }), scale: 1, @@ -50,7 +50,7 @@ export default async function ({ renderer, testRoot }: ExampleSettings) { h: 16, color: 0x000000ff, parent: pivotPoint, - // shader: renderer.createShader('RoundedRectangle', { + // shader: renderer.createShader('Rounded', { // radius: 3, // }), }); diff --git a/examples/tests/stress-tv.ts b/examples/tests/stress-tv.ts index a3a5f4b..eb3e1cc 100644 --- a/examples/tests/stress-tv.ts +++ b/examples/tests/stress-tv.ts @@ -1,5 +1,6 @@ import { type INode } from '@lightningjs/renderer'; import type { ExampleSettings } from '../common/ExampleSettings.js'; +import { waitUntilIdle } from '../common/utils.js'; import lightning from '../assets/lightning.png'; import rocko from '../assets/rocko.png'; import testscreen from '../assets/testscreen.png'; @@ -118,7 +119,16 @@ const measureFps = (frames: number): Promise => requestAnimationFrame(tick); }); -export default async function ({ +export async function automation(settings: ExampleSettings) { + // No autosweep/key driving in automation — `test` builds the default scene + // (tier 4, 200 cards: rounded cards + images + SDF text). Wait for textures + // and text layout to settle so the snapshot is the stable final frame. + await test(settings); + await waitUntilIdle(settings.renderer); + await settings.snapshot(); +} + +export default async function test({ renderer, testRoot, perfMultiplier, diff --git a/examples/tests/text-events.ts b/examples/tests/text-events.ts index 36cf8c8..6dd70e8 100644 --- a/examples/tests/text-events.ts +++ b/examples/tests/text-events.ts @@ -179,7 +179,7 @@ class BoxedText extends EventEmitter implements BoxedTextProps { color: 0xff0000ff, // colorTop: props.boxColor1, // colorBottom: props.boxColor2, - shader: renderer.createShader('RoundedRectangle', { + shader: renderer.createShader('Rounded', { radius: 10, }), parent: props.parent, diff --git a/examples/tests/viewport-memory.ts b/examples/tests/viewport-memory.ts index 0acb9d7..5d7fcfb 100644 --- a/examples/tests/viewport-memory.ts +++ b/examples/tests/viewport-memory.ts @@ -1,4 +1,13 @@ import type { ExampleSettings } from '../common/ExampleSettings.js'; +import { waitUntilIdle } from '../common/utils.js'; + +export async function automation(settings: ExampleSettings) { + await test(settings); + // The scene streams in async (SDF text layout + rounded-rect shaders); + // wait for the renderer to settle so the snapshot is the stable final frame. + await waitUntilIdle(settings.renderer); + await settings.snapshot(); +} function getRandomTitle(length = 10) { const characters = @@ -29,7 +38,7 @@ export default async function test(settings: ExampleSettings) { w: 100, h: 100, color: 0xff0000ff, - shader: renderer.createShader('RoundedRectangle', { + shader: renderer.createShader('Rounded', { radius: 50, }), parent: testRoot, @@ -41,7 +50,7 @@ export default async function test(settings: ExampleSettings) { w: 100, h: 100, color: 0x0000ffff, - shader: renderer.createShader('RoundedRectangle', { + shader: renderer.createShader('Rounded', { radius: 50, }), parent: testRoot, @@ -53,7 +62,7 @@ export default async function test(settings: ExampleSettings) { w: 100, h: 100, color: 0xffff00ff, - shader: renderer.createShader('RoundedRectangle', { + shader: renderer.createShader('Rounded', { radius: 50, }), parent: testRoot, @@ -98,7 +107,7 @@ export default async function test(settings: ExampleSettings) { h: 90, // Slightly smaller height color: 0x00ff00ff, // Green parent: borderNode, - shader: renderer.createShader('RoundedRectangle', { + shader: renderer.createShader('Rounded', { radius: 10, }), }); diff --git a/visual-regression/certified-snapshots/chromium-ci/stress-tv-1.png b/visual-regression/certified-snapshots/chromium-ci/stress-tv-1.png new file mode 100644 index 0000000..9749b50 Binary files /dev/null and b/visual-regression/certified-snapshots/chromium-ci/stress-tv-1.png differ diff --git a/visual-regression/certified-snapshots/chromium-ci/viewport-memory-1.png b/visual-regression/certified-snapshots/chromium-ci/viewport-memory-1.png new file mode 100644 index 0000000..e5686b3 Binary files /dev/null and b/visual-regression/certified-snapshots/chromium-ci/viewport-memory-1.png differ