rfcs icon indicating copy to clipboard operation
rfcs copied to clipboard

Reactivity: an early draft of *everything* we've learned since Octane

Open NullVoxPopuli opened this issue 2 years ago • 0 comments

wip, no looking, shhh

Rendered

What finally motivated me to get this going:

  • https://twitter.com/sveltejs/status/1704496039468605842
    • Svelte announcing Runes, a runtime reactivity system that wraps Signals (allegedly)
  • https://twitter.com/Rich_Harris/status/1704545067640177000
    • Svelte folks confused by the lack of magic, but explained well in brief, eliminating the confusion

TODO:

  • propose primitives

    • [ ] reactive values with cleanup (aka resources)
    • [ ] tracked promises
    • [ ] localCopy
    • [ ] tracked object / array / map / set
    • [ ] deep
    • the libraries to merge (as separate imports as to not force the need for tree-shaking)
      • https://github.com/tracked-tools/tracked-toolbox
        • ${}/local-copy
        • ${}/dedupe-tracked
        • ${}/tracked-reset
      • https://github.com/NullVoxPopuli/ember-deep-tracked
        • ${}/deep
      • https://github.com/tracked-tools/tracked-maps-and-sets
        • ${}/map
        • ${}/weak-map
        • ${}/set
        • ${}/weak-set
      • https://github.com/tracked-tools/tracked-built-ins
        • ${}/object
        • ${}/array
      • https://github.com/tracked-tools/ember-async-data
        • ${}/async
      • https://github.com/NullVoxPopuli/ember-resources/
        • ${}/resource
  • propose flexibility

    • [ ] value-based equality checking (as opt-in, can can cost performance (but this is for situations where reference based invalidation is less performant))

NullVoxPopuli avatar Sep 21 '23 04:09 NullVoxPopuli