60 people: 30 alone, 30 in 15 group projects of two, 45 projects of the
largest example. Each has the document and the room open, moves a pointer
every 2 s, pings every 6 s; in a group both move a device every 10 s. A
line a minute: the rooms' lag (M3's probe), a change's way to the
partner, what got lost, and /healthz.
Against an F a dashboard reconciles, M9_DASHBOARD/M9_SESSION/M9_USER make
the projects through the dashboard and sign everybody in as that person —
otherwise the next reconciliation ends every session (measured: all 120
sockets in the second minute).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Who started the simulation, "Pakete verwerfen" and the dropped packets move
from the toolbar into a properties sheet beside the surface. New in it: restart
the simulation, after asking. The room learns a restart message: stopped as by
stop, every capture, dropped frame and program window emptied, started anew
and named after who restarted; refused for readers and frozen projects, logged,
and waiting for asked blobs like a start.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A tap on a device in the simulation now only chooses it; its three-dot
button (or a long press) opens what Java's click opened: the desktop, and
newly a switch's SAT table and a home router's NAT table, beside each
card's data exchange.
The desktop, the tables and the data exchange are no windows in the
window any more but the simulation's sheet (SimulationSheet), after the
dashboard's AppSheet: below the toolbar to the bottom, a head with icon,
title, who else has it open, see-through and close. One at a time — it
covers the surface. It stays over a return to the design with the program
open on a desktop; a sheet whose device was removed closes. See-through
fades the body (0.55) and keeps the head; the choice is kept in the
browser. Java opens these as movable windows, several at once, with a
click; named in CHANGES.md.
Tests open through the menu (showFromMenu, showDesktop in editorPage.ts).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
test-filius refused every ticket as from the future: its clock was 886 ms
behind the dashboard's machine, with NTP still 8 ms (one ticket in 125, as a
ticket carries whole seconds). F now takes a ticket signed up to 5 s ahead
(TICKET_AHEAD_SECONDS); itsdangerous refuses one second, and the oracle
keeps that on record.
tools/live measures and accepts on a live F, with fresh projects each run:
m3 (200 rooms of the largest example with pings: probe p95 37 ms), m4 (63 KB
document; dragging makes an update per pointer move, 59/s), m5 (an hour
through the proxy), acceptance (two browsers, 14 checks, passed three times)
and clock (F's clock against ours).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>