49 Commits

Author SHA1 Message Date
ff3541ef68 Avoid MakeWritePosts depending on every post node 2025-02-21 15:19:11 -05:00
62c484e590 Handle the possibility that dynamic rules have more dynamic rules as children 2025-02-21 11:59:40 -05:00
c53dd56d0f Misc changes 2025-02-17 00:51:13 -05:00
6f6e1453f7 Use pyftsubset for font subsetting 2025-02-11 14:36:09 -05:00
22cbe75dc2 Add modding tutorials 2025-01-13 16:45:35 -05:00
64332a137b Add rss feed 2025-01-11 23:34:07 -05:00
1279a1755d Improve InputVisitable derive macro 2025-01-05 00:07:13 -04:00
1253999961 More compute_graph changes 2025-01-01 18:00:49 -05:00
f467025569 Don't print qualified self in node type names 2025-01-01 17:04:42 -05:00
640c0ab620 Allow dynamic nodes to add invalidatable rules 2024-12-31 18:49:00 -05:00
f44f525c2c Actually make removing dynamic node children work 2024-12-31 18:21:17 -05:00
6bb51638cc Output stuff 2024-12-31 14:29:11 -05:00
9ff658f719 Start on the graph generator implementation 2024-12-30 18:35:07 -05:00
d92ebf11b2 Dynamic rules 2024-12-29 13:37:54 -05:00
8f0fe08ecc Pretty type names in graphviz dump, bring back PartialEq/NodeValue impl 2024-11-05 11:32:01 -05:00
b8ad929d0b Fix derive macro with generics 2024-11-03 15:02:18 -05:00
e69014d98d Assorted graph tweaks 2024-11-03 14:42:45 -05:00
712b528ca8 Add graphviz dump 2024-11-03 13:13:51 -05:00
dd1143aa9b Better cycle error 2024-11-03 10:50:05 -05:00
04bd5cf8c4 Fix async fn in trait warning 2024-11-03 01:30:49 -04:00
08a4bf87dc Derive macro 2024-11-03 01:27:51 -04:00
36bcbe3c9c Simplify Synchronicity trait 2024-11-02 23:56:51 -04:00
6d1e505590 Don't borrow_mut excessively 2024-11-02 19:29:29 -04:00
8c761fe0d4 Use Input for ValueInvalidationSignal 2024-11-02 19:21:30 -04:00
b79edeef0a Add with_output and into_builder 2024-11-02 19:19:15 -04:00
365d2db571 Make InvalidationSignal not generic over synchronicity 2024-11-02 19:08:15 -04:00
a556b14188 Add GraphBuilder::add_async_value 2024-11-02 18:49:29 -04:00
88dfef75fd Document all the things 2024-11-02 18:39:07 -04:00
c1c594d4f7 Move input to rule.rs 2024-11-02 12:10:00 -04:00
b73d205456 Rename crate 2024-11-02 11:31:38 -04:00
02b5226a90 Add invalidatable value node 2024-11-02 11:15:04 -04:00
05348a5dbc Move rules to rule.rs 2024-11-02 10:56:32 -04:00
c18c1ced59 Change modify to take ownership of the graph
If the modify fails, the graph is left in a bad state, so the client
shouldn't be able to continue using it
2024-11-01 11:43:35 -04:00
1d1673e5ee Only update downstream nodes if an input changes 2024-11-01 11:35:17 -04:00
de025dc138 Walk topological sort to update nodes 2024-11-01 11:11:27 -04:00
a6e94340ee Split graph crate into multiple files 2024-10-31 23:30:07 -04:00
6de1999b8d Rename things 2024-10-31 23:13:09 -04:00
7dbcd4963f Don't require Clone for node values 2024-10-31 23:10:42 -04:00
1ac8f4ead4 Use structs not enums for Synchronicity types 2024-10-31 22:46:36 -04:00
5998bbe116 Remove unused nightly features 2024-10-31 11:50:12 -04:00
e034f30455 Self doesn't need to be mutable when visting rule inputs 2024-10-31 11:35:43 -04:00
ca0b77349a Use associated types for rule outputs 2024-10-31 11:19:16 -04:00
d8f2a393ba Use a struct for NodeGraph 2024-10-31 11:03:58 -04:00
7c554f731a Remove Synchronicity::AnyStorage indirection 2024-10-31 11:01:11 -04:00
1530933464 Make the graph generic over whether it's sync/async 2024-10-30 23:32:45 -04:00
81cd986f77 Invalidate necessary parts of the graph after modification 2024-10-30 00:10:50 -04:00
67fb9db461 Cleanup 2024-10-29 16:20:45 -04:00
140c6a67fd Remove parts of the graph unused by the output node 2024-10-29 15:00:23 -04:00
bd2cdba5bc Move graph to separate crate 2024-10-29 15:00:23 -04:00