Skip to content

Signals-based implementation - #19

Merged
soxtoby merged 83 commits into
masterfrom
signals
Jun 27, 2026
Merged

Signals-based implementation#19
soxtoby merged 83 commits into
masterfrom
signals

Conversation

@soxtoby

@soxtoby soxtoby commented Jun 26, 2026

Copy link
Copy Markdown
Owner

No description provided.

Simplified event type creation
Made skipUpdate a protected method on SourceBase
Reduction actually uses the initialValue
Better naming
Throwing for loose Reductions
Unowned objects disposed at end of transition
Moving some things around to get around circular module dependencies
Every ISource is Disposable
Removed SourceObserverBase
Effect correctly detects it's stale even when detached
Fixed events firing a reference to the inner function instead of the proper event function
Legacy @State decorator is bound to correct instance
Model prototype factories inherited from base prototype
Added createModel function for top-level model
Graph nodes in state properties are tracked
SourceBase checks if value is allowed as state
Events are not allowed as state
Reworked event scoping
Using new BoundSource instead of Derivation for map/filter/filterMap
Setting displayName for model properties
Added extendReduce for extending super class reductions
Derivations run once when subscribed to collect sources
Added createModel helper for creating loose model objects
Caching getter sources during construction to avoid creating multiple sources
Properly cleaning up sources overridden in sub models
Moved Reduction's setValue out of its source tracking scope so child nodes can access it without throwing
Add paths to logs and generally cleaning them up
Implemented testing helpers
Exposed detach on Derivation
Exposed setValue on SourceBase
RenderEffect attaches immediately
useReactive uses trigger info as external state
Removed setState feature
Model toJSON picks up properties from base classes
StateProperty toJSON returns state of value
soxtoby added 28 commits April 5, 2026 12:16
Properties register themselves with the model when accessed
Only the outer-most @model constructor initializes properties
Fast-track for invalidatingSource
Looping for early exit and avoiding array allocations
Fast-tracks for scalar <-> graph node changes
Removing redundant checks
Fixing LegacyState test
Removing remaining semicolons
Re-enabling commented-out tests
React tests clean up rendered output
@soxtoby
soxtoby merged commit 1b839c4 into master Jun 27, 2026
2 checks passed
@soxtoby
soxtoby deleted the signals branch June 27, 2026 00:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant