3 ms·
You can get a surprisingly long way by just saying each field has atomic and independent changes. That's what Figma does. For structured data it seems to map we
by iudqnolq 3y ago
You can get a surprisingly long way by just saying each field has atomic and independent changes. That's what Figma does. For structured data it seems to map well to what the user expects. If Bob drags something five pixels right and Jane drags it ten pixels then they find it reasonable if the state is five or ten; fifteen or 7.5 would be surprising.
You can also implement what you want at read time. "notStarted = !state.completionDate && !state.started".
Edit: Figma does this with their own server and client that intelligently handle invalid states like the parent pointers forming a loop. So it's not quite fair to say it's "just" that simple.
- jitl 3y agoThis is fine for everything except text