Skip to content

Replace Table<Table<Graphic>> with Table<Artboard> where Artboard is a type boundary newtype#4093

Merged
Keavon merged 1 commit intomasterfrom
add-artboard-type-boundary
May 2, 2026
Merged

Replace Table<Table<Graphic>> with Table<Artboard> where Artboard is a type boundary newtype#4093
Keavon merged 1 commit intomasterfrom
add-artboard-type-boundary

Conversation

@Keavon
Copy link
Copy Markdown
Member

@Keavon Keavon commented May 2, 2026

This follows the same approach taken by the Graphic struct which is an enum over multiple wrapped types acting as a boundary for the boundless type explosion from infinite nestings of Table<Table<...<all graphical types>>>. Now, Artboard is a newtype script that wraps Table<Graphic> just as Graphic has arms that wrap Table<all graphical types>. This represents an explicit loss of data purity that takes the form of a new named base type, not simply an extra nesting level of the base type.

Followup to #4077. Partly closes #3779.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

No issues found across 16 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a nominal Artboard struct as a wrapper around Table, replacing the previous nested Table<Table> type throughout the codebase. This architectural change improves type safety and clarity by establishing a clear boundary for artboard content. The modifications span the node registry, rendering logic, serialization, and various node implementations to support the new Table type. I have no feedback to provide as there were no review comments to assess.

@Keavon Keavon changed the title Replace Table<Table<Graphic>> with Table<Artboard> with Artboard as a type boundary newtype Replace Table<Table<Graphic>> with Table<Artboard> where Artboard is a type boundary newtype May 2, 2026
@Keavon Keavon merged commit a0d5f41 into master May 2, 2026
11 checks passed
@Keavon Keavon deleted the add-artboard-type-boundary branch May 2, 2026 04:57
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.

Data trees

1 participant