diff --git a/tests/perf-budget.test.js b/tests/perf-budget.test.js index 23db968..25ab162 100644 --- a/tests/perf-budget.test.js +++ b/tests/perf-budget.test.js @@ -59,3 +59,16 @@ test("compile remains under baseline perf budget for large synthetic model", () assert.equal(typeof result.layout_metrics.overlap_edges, "number"); assert.ok(elapsedMs < 5_000, `compile exceeded baseline budget: ${elapsedMs.toFixed(1)}ms`); }); + +test("compile handles 500+ instances and 1000+ net nodes within budget", () => { + const model = createLargeModel(520); + const totalNodes = model.nets.reduce((sum, net) => sum + (net.nodes?.length ?? 0), 0); + const started = performance.now(); + const result = compile(model); + const elapsedMs = performance.now() - started; + + assert.equal(result.ok, true); + assert.ok(model.instances.length >= 500); + assert.ok(totalNodes >= 1000); + assert.ok(elapsedMs < 10_000, `compile exceeded large-scene budget: ${elapsedMs.toFixed(1)}ms`); +});