feat: F4.7 the data exchange window, measured against Java's
One row per frame (its highest layer's), Java's detail tree, the table as Java's text file, "Tabellen löschen" for every card (clearCapture in the room), a tab per card with Java's title, Java's layer colours as tokens, the chosen frame and autoscroll per tab. New oracle ExchangeWindowRun. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -389,6 +389,21 @@ export class SimulationRoom {
|
||||
else this.dropping.delete(client);
|
||||
this.engine.setGlobalPacketLossEnabled(this.dropping.size > 0);
|
||||
return;
|
||||
case 'clearCapture':
|
||||
// Java's data exchange window is there only while the simulation runs.
|
||||
if (this.mode !== 'simulation') {
|
||||
client.send(message({ kind: 'error', code: 'notRunning' }));
|
||||
return;
|
||||
}
|
||||
// Lauscher.reset: every card's list and the dropped frames; each watcher gets its lists anew, numbered from 1.
|
||||
this.engine.clearCapture();
|
||||
this.framesSeen.clear();
|
||||
for (const each of this.clients.values()) {
|
||||
each.traceSent.clear();
|
||||
each.droppedSent = undefined;
|
||||
}
|
||||
this.flush([...this.clients.values()], false);
|
||||
return;
|
||||
case 'speed':
|
||||
this.speed = Math.min(100, Math.max(1, Math.trunc(input.value)));
|
||||
this.engine.setSimulationSpeed(this.speed);
|
||||
|
||||
Reference in New Issue
Block a user