maciejhirsz / kobold

Easy declarative web interfaces.
https://docs.rs/kobold/
Mozilla Public License 2.0
385 stars 7 forks source link

Granular updates via `Tracking<T>` #70

Closed maciejhirsz closed 2 months ago

maciejhirsz commented 1 year ago

This PR adds a new type Tracking<T> that records changes to the underlying Vec<T> in a log, allowing a view to only diff the items that have been updated/removed/inserted.

maciejhirsz commented 2 months ago

After a year (ouch) I'm going to ditch this approach. I wanted to be clever, I've approached this from every possible angle, but no matter how much I try using signals or tracking collections it is always either less ergonomic and/or more opinionated and intrusive than I'd like.

It's time to swallow the KISS pill and just do keyed lists.