Python a2ui_core: introduce reactive Signal and ComponentNode primitives and add a text-based layout renderer for testing#1579
Conversation
|
Warning Gemini encountered an error creating the review. You can try again by commenting |
be3ca74 to
2de16a7
Compare
| err_payload["surfaceId"] = self.id | ||
| self.on_error.emit(err_payload) | ||
|
|
||
| def get_or_create_node(self, component_id: str, data_path: str) -> ComponentNode: |
There was a problem hiding this comment.
Does the caller need to call this to lazily kick off node tree creation? I assume it won't work if there are no FunctionImplementations to resolve function values
I'm now wondering if it makes sense for the node tree to be managed by a separate object e.g. NodeGraph which can be instantiated only with a Catalog that has function implementations. If we split it out, it might be easier to iterate on the design, too.
There was a problem hiding this comment.
Interesting! This could be great for tests. Maybe the output of it can be formalized, and we can have YAML files that include examples of what the node graph should be after certain operations.
… dynamic evaluation
…management via protocol messages
…ort reactive stream subscription and cancellation
…ogic in DataContext
…renderer for testing
…ize reference field extraction
2de16a7 to
97eb0b2
Compare
Description
Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.
List which issues are fixed by this PR. For larger changes, raising an issue first helps reduce redundant work.
Pre-launch Checklist
If you need help, consider asking for advice on the discussion board.