-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: omar-azmi/tsignal_ts
base: v0.1.2-c
head repository: omar-azmi/tsignal_ts
compare: v0.2.1
- 14 commits
- 36 files changed
- 2 contributors
Commits on Oct 19, 2023
-
in
context.ts
'sContext
, implement:- `delEdge`: edge deletion - `delId`: signal id deletion, along with updating its dependency and observer signal ids - `swapId`: for swapping two signals (using ids) with each other new code's functionality has not been tested yet
Configuration menu - View commit details
-
Copy full SHA for b4711ac - Browse repository at this point
Copy the full SHA b4711acView commit details
Commits on Oct 20, 2023
-
fix the incorrect implementation of
Context.swapId
with a much simp……ler and quicker implementation call `ids_to_visit_cache_clear` where it ought to be called after a mutation in dependency tree has been made `Context` now also provides a `clearCache` method for clearing the dependency tree visit ids cache add a test for `Context.swapId` and `Context.delEdge` in `./test/context.test.ts` bump patch version to `0.1.3`
Configuration menu - View commit details
-
Copy full SHA for 6a5cab6 - Browse repository at this point
Copy the full SHA 6a5cab6View commit details -
change how `EffectSignal`s react to new observers: - old behavior: rerun effect fn for every new observer - new behavior: only run effect fn if this effect signal itself has never run before, and the observer is a new (not untracked) observer
Configuration menu - View commit details
-
Copy full SHA for f7881b1 - Browse repository at this point
Copy the full SHA f7881b1View commit details
Commits on Oct 26, 2023
-
Context.addEdge
now skips adding edges if any of either ids is zero…… or negative (i.e. untracked) temporary backup the new `primitive_signal.ts` before rehauling
Configuration menu - View commit details
-
Copy full SHA for 4376b9c - Browse repository at this point
Copy the full SHA 4376b9cView commit details
Commits on Feb 16, 2024
-
add test file
simple_signal2.test.ts
, which shows that my current w……ay of traversing in `Context.fireUpdateCycle` and `Context.propagateSignalUpdate` are not ordered topologically. - expected traversal: A, B, D, G, C, E, H, F, I, J - actual traversal: A, B, D, G, C, E, H,I, J, F - reason: F gets skipped in the middle because it is already visited once from either B or D, but its resolution is delayed because of unvisited dependencies C and E. however, when C and E are visited, they propagate forward to H and then I. in I's perspective, F has been resolved, since it has been visited. however, the reality is that while it has been visited, it was awaiting dependency resolution of C and E, and it hasn't been resolved yet. the forward propagation model is indeed problematic. you should either stick backward resolution or forward propagation, but not both at the same time.
Configuration menu - View commit details
-
Copy full SHA for 3eff039 - Browse repository at this point
Copy the full SHA 3eff039View commit details -
fixes update cycle is not topologically ordered #4
changes: - `ids_to_visit_cache_create_new_entry` now generates the list of ids to visit in topological visitation order, while also maintainin that the original source ids are always at the beginning, which is an important piece of info used for a micro-optimization by `fireUpdateCycle` - each cycle we maintain two dynamic book-keeping sets: - `next_to_visit_this_cycle`: which unvisited ids **must** be visited later on (since one of their dependencies have updated) - `not_to_visit_this_cycle`: which ids have been declared as aborted by one of their dependencies. (and therefore must never run) - `fireUpdateCycle`: traverses through the topologically ordered set of ids, executing the signals one-by-one, updating the 2 book-keeping sets, checking of the possiblity of early termination, and then finally running all `postrun`s - `executeSignal`: simply runs the `run` method of the retrived signal, and stores any `postrun` functions it may contain, then returns the update status of the singnal's `run` method - add documentation to a bunch of inner functions of the `Context` improvements: - the cycle also runs MAD faster now, since we are no longer having to retrieve dependencies of each newly visited ids via `rmap_get` hashmap table. - for comparison, the benchmark test 2 and 3 in `/test/simple_signal.test.ts` have decreased their average run time to: - `"test cached performance"`: from 200ms to 70ms - `"test uncached performance"`: from 650ms to 160ms
Configuration menu - View commit details
-
Copy full SHA for 82ce80d - Browse repository at this point
Copy the full SHA 82ce80dView commit details -
- update dependencies: - `kitchensink_ts`: `v0.7.2` -> `v0.7.3` - fix typos across repo
Configuration menu - View commit details
-
Copy full SHA for 6ef4118 - Browse repository at this point
Copy the full SHA 6ef4118View commit details
Commits on Feb 17, 2024
-
add actual content to readme, and a reactivity exmple as well (`/test…
…/rectangle_boundingbox.ts`)
Configuration menu - View commit details
-
Copy full SHA for 78bedfb - Browse repository at this point
Copy the full SHA 78bedfbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c373dd - Browse repository at this point
Copy the full SHA 3c373ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d71b47 - Browse repository at this point
Copy the full SHA 4d71b47View commit details -
Configuration menu - View commit details
-
Copy full SHA for 994bfba - Browse repository at this point
Copy the full SHA 994bfbaView commit details -
add newer github wrokflow files adapted from `kitchensink_ts@v0.7.3`
Configuration menu - View commit details
-
Copy full SHA for be65537 - Browse repository at this point
Copy the full SHA be65537View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e0c60a - Browse repository at this point
Copy the full SHA 1e0c60aView commit details -
add vscode workspace setting config files format all files and organize imports ready for `v0.2.1` release
Configuration menu - View commit details
-
Copy full SHA for de0f8dd - Browse repository at this point
Copy the full SHA de0f8ddView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.1.2-c...v0.2.1