Skip to content

Allow loading "foreign" plugins for UI/TUI/Serde - #7347

Merged
gatesn merged 5 commits into
developfrom
ngates/foreign
Apr 9, 2026
Merged

gatesn merged 5 commits into
developfrom
ngates/foreign

Conversation

@gatesn

@gatesn gatesn commented Apr 8, 2026 •

Copy link
Copy Markdown
Contributor

This allows us to enable deserialization and re-serialization of unknown plugins by preserving their serialized metadata.

We cannot necessarily execute them in-memory, but it should be sufficient to traverse the expression trees. For arrays/layouts, we cannot construct the child trees without the vtable logic that derives the child dtypes, therefore a foreign encoding becomes a leaf node.

gatesn added 5 commits April 8, 2026 13:31
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn gatesn added the changelog/feature A new feature label Apr 8, 2026
@codspeed

codspeed Bot commented Apr 8, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 15.22%

❌ 1 regressed benchmark
✅ 1121 untouched benchmarks
⏩ 1530 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ Simulation chunked_bool_canonical_into[(1000, 10)] 49.7 µs 58.6 µs -15.22%

Comparing ngates/foreign (1f67281) with develop (ff21366)

Open in CodSpeed

Footnotes

  1. 1530 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@gatesn
gatesn enabled auto-merge (squash) April 8, 2026 18:23
@gatesn
gatesn requested a review from robert3005 April 8, 2026 18:23

@robert3005 robert3005 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

my only hesitation are foreign layouts but you can still traverse what you can from the layout

@gatesn
gatesn merged commit 1d8f307 into develop Apr 9, 2026
63 of 65 checks passed
@gatesn
gatesn deleted the ngates/foreign branch April 9, 2026 13:11

This branch was previously deployed

1 inactive deployment
github-pages — 1f672814 Deployed Apr 8, 2026 by gatesn via Deploy to Cloudflare Pages #884
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants