100 Commits

Author SHA1 Message Date
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
29838e2113 Modify graph 2024-10-29 14:18:53 -04:00
67ddf2f254 More tests 2024-10-29 11:10:13 -04:00
b7d0271f4e Consolidate external inputs with rules 2024-10-29 11:02:34 -04:00
3b943cb828 Core graph structure 2024-10-28 22:17:58 -04:00
4dfe4f8aa4 Add new Doctor Who 2024-06-29 10:53:36 -07:00
5b8262fc33 Add Discovery S5 2024-06-01 22:02:51 -07:00
60948118da Fix typo 2024-05-22 19:24:59 -04:00
3916a6f3cf Add Parsing HTML Slower 2024-05-22 19:00:31 -04:00
372b6c3d80 Better match n-gate style 2024-04-18 22:50:33 -04:00
684ce0b47c Fix typos 2024-04-18 22:36:59 -04:00
23f447bfa8 Hero Transition corrections 2024-01-16 15:58:18 -05:00
c54a5c273d Fix typo 2024-01-01 16:39:25 -05:00
78cbdb100c Add Parsing HTML Fast 2023-12-27 19:01:39 -05:00
3f2d67fd04 Add Passkey Sign In with Elixir and Phoenix 2023-10-18 21:55:50 -04:00
3123052237 Fix boolean literals not being highlighted 2023-10-18 21:55:32 -04:00