Aria Minaei
0a0c35a7b7
Unify Derivation and Prism 5/n
2023-01-04 20:49:44 +01:00
Aria Minaei
a38d96ec95
Unify Derivation and Prism 4/n
2023-01-04 20:49:43 +01:00
Aria Minaei
06808f99e9
Unify Derivation and Prism 3/n
2023-01-04 20:49:43 +01:00
Aria Minaei
bfba1d4879
Unify Derivation and Prism 2/n
2023-01-04 20:49:43 +01:00
Aria Minaei
12b3f477bc
Unify Derivation and Prism (1/n)
2023-01-04 20:49:43 +01:00
Aria Minaei
e9bbb0ef41
Remove PrismDerivation.map/flatMap()
2023-01-04 20:49:43 +01:00
Aria Minaei
a073984b2f
Mark add/removeDependent()
as internal
2023-01-04 20:49:43 +01:00
Aria Minaei
194de8d833
Simplify Derivation.onChange()
...
It no longer uses `DerivationEmitter`.
2023-01-04 20:49:43 +01:00
Aria Minaei
a24a149a52
Remove Derivation.tapImmediate()
...
This is now just an extra flag on `Derivation.onChange()`
2023-01-04 20:49:43 +01:00
Aria Minaei
f2bb24ef99
Change the signature of Derivation.changes()
to Derivation.onChange()
...
This way, we no longer expose the `Tappable` interface so we can remove it later.
2023-01-04 20:49:43 +01:00
Aria Minaei
f1cb8edc91
Simplify Derivation.onStale()
2023-01-04 20:49:43 +01:00
Aria Minaei
5c1aa1cd50
Remove Derivation.changesWithoutValues()
...
And replace it with `Derivation.onStale()`
2023-01-04 20:49:43 +01:00
Aria Minaei
9094e3041e
Remove AbstractDerivation
...
At this point, the only derivation that we have is `PrismDerivation`.
2023-01-04 20:49:43 +01:00
Aria Minaei
63228fd86a
Simplify prism.state()
2023-01-04 20:49:43 +01:00
Aria Minaei
ee68112867
Implement prism.source()
2023-01-04 20:49:43 +01:00
Aria Minaei
b117ee0aff
Retire DerivationFromSource
(1/2)
...
This is supposed to break the build. In the next commit, I'll implement `HotScope.source()` to fix the build.
2023-01-04 20:49:43 +01:00
Aria Minaei
918dd754a7
Retire ConstantDerivation
2023-01-04 20:49:43 +01:00
Aria Minaei
ed322b66de
Separate the hot path from the cold path in prisms
2023-01-04 20:49:43 +01:00
Aria Minaei
c81fe11e52
Rename Prism.changesWithoutValues()
to onStale()
2023-01-04 20:49:43 +01:00
Aria Minaei
a71fff0c73
Don't expose PrismDerivation as a class
2023-01-04 20:49:43 +01:00
Aria Minaei
e0a61981c9
Have PrismDerivation no longer extend AbstractDerivation
2023-01-04 20:49:43 +01:00
Aria Minaei
0655e5b1c4
Add performance note about prism scopes
2023-01-04 20:49:43 +01:00
Aria Minaei
83832ef85b
Note down that map/flatMap must be removed
2023-01-04 20:49:43 +01:00
Aria Minaei
6d7d461223
Remove all WeakMaps from prism's scope
...
... making it easier to debug prism scopes. Again, there is a perf regression here.
2023-01-04 20:49:43 +01:00
Aria Minaei
1c69cb7055
Save prism effects in the prism scope, rather than a WeakMap
...
... for easier debugging, but there is a perf regression which I
can't yet quantify as the benchmark suit doesn't support comparisons.
2023-01-04 20:49:43 +01:00
Aria Minaei
ae8be59366
Implement a basic benchmark test, and deprecate derivation.map()/flatMap()
...
This starts a new workspace at `packages/benchmarks` where future benchmarks
are going to sit. For now, it only contains a basic profile of a `sequence.play()`
setup.
It also removes all uses of `AbstractDerivation.map()/flatMap()` and uses prisms
instead.
2023-01-04 20:49:35 +01:00
Aria Minaei
45b548660c
0.6.0-dev.3
2023-01-04 20:35:56 +01:00
Aria Minaei
f6361e7905
0.6.0-dev.2
2023-01-02 22:34:50 +01:00
Aria Minaei
438a83d2d4
0.6.0-dev.1
2023-01-02 19:47:23 +01:00
Aria Minaei
95b329b02d
0.5.1
2022-12-31 10:54:27 +01:00
Aria Minaei
fcd3ab7ec5
0.5.1-rc.2
2022-12-07 10:24:50 +01:00
Aria Minaei
a9adc2640c
0.5.1-rc.1
2022-11-25 11:21:28 +01:00
Aria Minaei
6d49e5977c
Remove the warning about SSR mode
...
It's being misunderstood as an error message https://discord.com/channels/870988717190426644/870988717190426647/1020751857024503828
2022-09-27 23:28:23 +02:00
Aria Minaei
87acdbe9ea
0.5.0
2022-09-17 18:54:11 +02:00
Aria Minaei
c97377d868
0.5.0-rc.4
2022-09-17 18:54:11 +02:00
vezwork
fdf268ad43
Add comments and remove extra performance measure
...
Co-authored-by: Cole Lawrence <cole@colelawrence.com>
2022-08-04 13:34:08 -04:00
Cole Lawrence
62def1e883
Add r3f stress + Ticker.__ticks counter
2022-08-04 13:34:08 -04:00
Cole Lawrence
963b03ab6e
dev: Add warning for unbound .tick() call
2022-08-03 11:38:44 -04:00
Cole Lawrence
415e493834
doc: Add doc to Ticker.raf
2022-07-25 12:01:26 -04:00
Aria Minaei
a8176a36f7
0.5.0-rc.3
2022-07-12 18:37:04 +02:00
Aria Minaei
0631d02d31
0.5.0-rc.2
2022-07-07 22:34:51 +02:00
Cole Lawrence
f1844952ea
Add initial tools for managing derivations and React compatibility ( #202 )
...
Co-authored-by: Cole Lawrence <cole@colelawrence.com>
Co-authored-by: Elliot <key.draw@gmail.com>
Co-authored-by: Aria <aria.minaei@gmail.com>
2022-06-09 19:12:40 +02:00
Aria Minaei
f8bb2d7ae6
0.5.0-rc.1
2022-06-01 15:51:33 +02:00
Elliot
564e54c314
Single tween editor for aggregate rows ( #178 )
...
Co-authored-by: Cole Lawrence <cole@colelawrence.com>
Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
2022-05-29 13:12:30 +02:00
Aria
ec18687a98
Re-do bundling, compat tests, and extension API ( #174 )
2022-05-25 00:37:18 +02:00
Fülöp
3d10325873
Add tests for Theatre.js + popular setups in the ecosystem ( #165 )
...
This implements some basic infra for testing Theatre.js with popular setups such as npm/yarn/pnpm, webpack/vite/parcel, js/ts, etc.
So far, the only existing setup has been with create-react-app. Will add more in the future.
Co-authored-by: Fülöp <fulopkovacs@users.noreply.github.com>
Co-authored-by: Aria Minaei <aria.minaei@gmail.com>
2022-05-17 20:53:01 +02:00
Cole Lawrence
2324218453
Implement inline keyframe editing ( #135 )
...
* refactor: improve idents near DeterminePropEditor
* fix: Allow `MouseEvent` for `usePopover` `OpenFn`
* Anticipate to be used with `useDrag` (which is written using `MouseEvent`s)
* refactor: rename local variable depth to visualIndentation
* fix: Hide out of bounds LengthIndicator
* pointer: Fix type errors with `getPointerParts` using generics
* Fix param type for `getPointerMeta`
* Inline keyframe editor + popover nesting
* Complete inline editor,
* add reason for close popover, &
* enable popover nesting
* enable inline keyframe editing with splitting of DeterminePropEditor
* usePopover has PopoverAutoCloseLock helper
Co-authored-by: Elliot <key.draw@gmail.com>
Co-authored-by: Aria <aria.minaei@gmail.com>
* prop editor: Reorganize prop-editors & improve documentation
Co-authored-by: Cole Lawrence <cole@colelawrence.com>
Co-authored-by: Elliot <key.draw@gmail.com>
Co-authored-by: Elliot <key.draw@gmail.com>
Co-authored-by: Aria <aria.minaei@gmail.com>
2022-05-16 14:14:47 +02:00
Cole Lawrence
abd79b197f
doc + optimize: prism.ts (use Map
s)
2022-05-05 07:58:44 -04:00
Cole Lawrence
1387ce62d2
refactor: Add working Nominal types, clarify identifiers
...
* Use more Nominal types to help with internal code id usage consistency
* Broke apart StudioHistoricState type
Co-authored-by: Aria <aria.minaei@gmail.com>
2022-05-05 07:58:44 -04:00
Elliot
4b5f7adf21
Add hotness details to dataverse docs ( #138 )
...
* Add hotness details to dataverse docs
* Add reference for hot observables
2022-04-29 19:04:21 +02:00