| drag | pan the city |
| scroll / pinch | zoom |
| click | building story |
| โโโโ | pan |
| + / โ | zoom in / out |
| space | pause / resume the simulation |
| T | guided tour |
| G | trace one query, step by step |
| P | data-page anatomy |
| D | day / night theme |
| ? | this help |
| Esc | close overlays |
Every table lives on data pages inside the single database file. Record descriptors grow from the top, record data grows from the bottom, and free space sits in between โ and every record carries its transaction of origin plus a pointer to its previous version.
A reader walks down the chain until it finds the version its transaction snapshot is allowed to see. Versions below the Oldest Interesting Transaction are demolished by cooperative GC or the sweep. Back versions are stored as deltas, usually on the same page โ this is Firebird's multi-generational architecture, and why it needs no rollback segment and no WAL.