demo mode: omit attack envelopes too

Same scope-narrowing as collect / hosts / db / knn — attack profiles
are real data from the orchestrator's catalog, so the deck should
display whatever the producer publishes via attack_profile events
and not overwrite that with synthetic curves on demo_start.

Removed both demo_start (synthesize) and demo_stop (clearAll)
handlers; the syntheticProfiles helper is left in place for
reference but is no longer wired to anything.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Max Gorog 2026-05-08 16:29:38 -05:00
parent 7e7fb52d32
commit 9e7d9999a3
2 changed files with 5 additions and 3 deletions

View file

@ -1706,8 +1706,10 @@ def train_nn(*, model, X_train, y_train, X_val, y_val,
curve: gen(6, (t, r) => 0.08 + (Math.sin(t * 22) > 0.7 ? 0.5 : 0) + 0.03 * r()) },
];
}
on('demo_start', () => syntheticProfiles().forEach(render));
on('demo_stop', () => clearAll());
// Attack envelopes show real `attack_profile` events only — no
// demo synthesis. The producer side has the canonical envelopes
// from the orchestrator's profile catalog; demo mode shouldn't
// overwrite that with hand-tuned curves.
on('attack_profile', m => {
if (!m.name || !Array.isArray(m.curve)) return;
render({ name: m.name, shape: m.shape || '', curve: m.curve });

View file

@ -1314,6 +1314,6 @@
</article>
</div>
<script src="/static/dashboard.js?v=7f41d957"></script>
<script src="/static/dashboard.js?v=eb69e920"></script>
</body>
</html>