Commit graph

109 commits

Author SHA1 Message Date
ernisto
eb75693a36 perf: we dont need check if update_id is higher than higher_parent_update_id 2025-04-11 13:35:32 -03:00
ernisto
b282a02bfe perf: no longer store needs_queue_children, queue directly on evaluate_node 2025-04-11 12:57:38 -03:00
ernisto
ecbdae6389 revert: fix(graph): avoid repeatedly child of the same parent (#21ed76f)
- we had performance issues on benchmark `update 500->1 graph`
2025-04-11 12:52:55 -03:00
ernisto
3478640636 fix: mark node validity before effect
- still is possible recursive effects if bump update id (expected)
- fix some edge cases of undesirable queuing evaluating nodes
2025-04-11 00:56:24 -03:00
ernisto
f510fdf690 fix: no longer bump update id when a map updates 2025-04-11 00:55:02 -03:00
ernisto
36eb9b0433 fix(maps/values): modify directly next input cache instead of defer to end
- solves test `destruction of active scope in values` without twice runs
2025-04-11 00:54:14 -03:00
ernisto
fb30f84596 feat: derive no longer run twice 2025-04-11 00:53:43 -03:00
ernisto
7350cf1c54 fix(graph): update children if the output is the same, but is a un-frozen table 2025-04-08 21:35:19 -03:00
ernisto
54abda629b refactor: move parameter root_update_id to a new function bump_update_id 2025-03-24 18:35:48 -03:00
ernisto
21ed76f9e0 fix(graph): avoid repeatedly child of the same parent 2025-03-23 23:11:09 -03:00
ernisto
c078bd8022 fix: dont bump update_id if batch are enabled 2025-03-23 23:10:22 -03:00
ernisto
d8149f0648 fix: make springs and maps update descendants as root update 2025-03-16 17:58:28 -03:00
ernisto
26b5be7edf fix: make nodes before any update be invalid 2025-03-15 20:45:19 -03:00
ernisto
5eb8b3db0d refactor: reuse flush_update_queue on update_descendants 2025-03-15 11:48:10 -03:00
ernisto
a37d5fb0df style: improve index var names, keep indentation 2025-03-15 11:47:19 -03:00
ernisto
da154877da perf: little adjustments on queue_children_for_update 2025-03-15 11:43:16 -03:00
ernisto
37c2dd9a5b fix: consider updated if update_id is the latest in your dependency tree, not in entire application 2025-03-15 11:34:38 -03:00
ernisto
121b30393c draft fix approach 2 2025-03-15 11:25:03 -03:00
EwDev
37e8e05206
Support nesting Parent (#48)
* allow nesting parent property

* update changelog

* fix mock instances Parent property not being a proxy

* add tests

Closes #47
2025-02-23 21:31:26 +00:00
aaron
b7878753bd Update untrack() type to allow no return 2025-01-07 00:06:39 +00:00
aaron
a383c4ce69 Fix show() edge case 2025-01-06 23:56:49 +00:00
aaron
46a2043356 Ignore false passed as a child 2025-01-04 00:45:55 +00:00
aaron
c796e48173 Add source to show() callback 2025-01-04 00:40:51 +00:00
aaron
58a31a1b32 Try improve error reporting 2024-12-27 22:43:01 +00:00
aaron
3b22f6ccf9 Add spring setter 2024-12-27 02:34:31 +00:00
aaron
b44b9ef2ba Add implicit effects recursively creating more implicit effects for children 2024-12-27 01:00:45 +00:00
aaron
4c639f8388 Add flag to disable deferral of nested properties 2024-12-26 22:36:58 +00:00
aaron
ccaeb030f3 Remove aggregate construction 2024-12-26 21:17:14 +00:00
richard
3b8d9098c0
Use vector.max to check spring activity (#44)
* Use `vector.max` to check spring activity

* Revert unnecessary changes
2024-12-05 02:00:37 +00:00
aaron
caa9eaf733 Add thread cleanup helper 2024-11-28 01:00:11 +00:00
aaron
e60aa57ca2 Fix edge case with map functions 2024-11-27 19:43:51 +00:00
11poe
44fe65ee5e
Add create(a, { props }) syntax (#42)
* Add new create syntax

* Add new create syntax to changelog

* Fix new create syntax test
2024-11-16 20:20:49 +00:00
aaron
fdb4a137a8 Fix test require 2024-11-16 18:41:27 +00:00
aaron
f7e9961911 Fix library require 2024-11-16 18:38:23 +00:00
aaron
49cc551493 Switch from mock Vector3 to native vector lib 2024-11-13 22:35:16 +00:00
aaron
5abd5eee91 Update require paths to relative string 2024-11-13 22:19:20 +00:00
aaron
0897821e1f Add check for destruction of active scope 2024-11-13 21:56:22 +00:00
aaron
f7dac3f63a Bump version to 0.3.1 2024-10-09 02:23:06 +01:00
aaron
6ead93088a Make context functions return result 2024-10-09 02:12:25 +01:00
aaron
1d565262e1 Bump version to 0.3.0 2024-10-06 18:16:31 +01:00
aaron
93a2a2c631 Make root() destroy scope if error occurs 2024-10-06 18:14:53 +01:00
aaron
82eec61c45 Make root() return destructor automatically 2024-10-06 15:37:05 +01:00
aaron
8142acd1c1 Add context() 2024-10-06 15:20:04 +01:00
EwDev
83db00a073
allow changing the current value of a spring (similar to sources) (#36)
* allow changing the current value of a spring (similar to sources)

* use spaces instead of tabs for identing
2024-09-11 10:11:47 +01:00
alicesaidhi
fbe2f01bb9
fix recursive queue flush (#28)
* fix recursive queue flush

* remove print from test

* swap order of flush

* simplified test case and remove error

* write more in-depth tests

* change approach flush_update_queue

* double diamond test case

* fix indent

* change naming of function

* subsequent updates do not batch test case

* simplify test case
2024-08-20 12:44:56 +01:00
alicesaidhi
b85419088c
allow fragments in implicit effects for children (#29)
* fix fragments in effects

* add test case

* more descriptive test
2024-08-20 12:40:29 +01:00
richard
72e5fbb6fe
Round UDim offset values (#30) 2024-08-19 14:56:00 +01:00
aaron
31da86c30b Allow indexes() and values() to return functions 2024-07-20 18:08:04 +01:00
aaron
2dc2814d76 Fix regression with derived sources 2024-07-19 11:21:49 +01:00
aaron
4f3fccd3bb Fix root() not showing full error trace 2024-07-17 23:28:43 +01:00