Skip to content

Python a2ui_core: introduce reactive Signal and ComponentNode primitives and add a text-based layout renderer for testing#1579

Open
nan-yu wants to merge 9 commits into
a2ui-project:mainfrom
nan-yu:re-arch-6-node-layer
Open

Python a2ui_core: introduce reactive Signal and ComponentNode primitives and add a text-based layout renderer for testing#1579
nan-yu wants to merge 9 commits into
a2ui-project:mainfrom
nan-yu:re-arch-6-node-layer

Conversation

@nan-yu

@nan-yu nan-yu commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

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.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

Gemini encountered an error creating the review. You can try again by commenting /gemini review.

@nan-yu nan-yu requested a review from jacobsimionato June 9, 2026 18:16
@nan-yu nan-yu force-pushed the re-arch-6-node-layer branch 4 times, most recently from be3ca74 to 2de16a7 Compare June 11, 2026 06:15
err_payload["surfaceId"] = self.id
self.on_error.emit(err_payload)

def get_or_create_node(self, component_id: str, data_path: str) -> ComponentNode:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@nan-yu nan-yu force-pushed the re-arch-6-node-layer branch from 2de16a7 to 97eb0b2 Compare June 11, 2026 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants