Will Holt
banner
william.land
Will Holt
@william.land
Building an open-source infinite canvas
$3.3 trillion is enough to give all 258 million US adults $106 per month for 10 years!
July 8, 2025 at 5:46 PM
enhance... enhance... there are some weird artifacts when you zoom in too much.
July 7, 2025 at 3:31 PM
The remedy for each of the problems is to make the commands the same as diffs. Diffs are quick, deterministic, and reversable. Using diffs for history/syncing turns out to be a much simpler mental model.
July 4, 2025 at 3:22 PM
3. Tricky architecture implications: each command needs to be 100% reversable, so when the command changes the state, each change needs to be tracked.
July 4, 2025 at 3:22 PM
2. It's less deterministic: if the clients are out of sync in some way then a command might have different effects on different clients.
July 4, 2025 at 3:22 PM
The problems I ran into with command-based history/syncing:
1. It's slower: each client has to execute each command, this is bad if the command involves a lengthy calculation.
July 4, 2025 at 3:22 PM
It's tricky to get undo/redo to work with multiplayer. I started with a command-based history/syncing system, ran into some problems, then decided to move to diff-based system.
July 4, 2025 at 3:22 PM
If you're travelling close to the speed of light then Lorentz contraction will make it flat in your reference frame.

<some random internet person>
June 24, 2025 at 7:11 PM
But before they let me delete my account they make me create a password. And before I can create a password I have to input a pin from 2 factor authentication. It's happened a few times now...
May 23, 2025 at 8:05 PM