Skip to content

Filters part 5: Grid and Radial Patterns - #94

Merged
1egoman merged 44 commits into
mainfrom
filters-v2
Aug 1, 2026
Merged

1egoman merged 44 commits into
mainfrom
filters-v2

Conversation

@1egoman

@1egoman 1egoman commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

This change adds two new filter types (PatternGridFilter / PatternRadialFilter), which allows a shape to be repeated!

All filters are now out of beta.

Grid

Screenshot 2026-08-01 at 1 08 04 PM

The grid pattern repeats a region. A box marks the region. The shape inside is copied across and down. Two by two is the start. You can ask for more copies in the inspector.

Screenshot 2026-08-01 at 1 08 38 PM

Radial

Screenshot 2026-08-01 at 1 10 12 PM

The radial pattern repeats a slice. Imagine a pie. One slice of it holds the shape. The slice is copied around the center. A circle of copies forms, like a sunburst. Open lines close themselves to join the copies - see the blue shape in the image above for an example of this.

Frame

Screenshot 2026-08-01 at 1 12 24 PM

A new component was added and is included alongside FilterComponent in PatternGridFilters called FrameComponent. A frame is just a box on the sheet. You can drag it. You can resize it by its edges and corners. Alt and shift change the resize rules. This is currently only used by the grid pattern filter but the plan is for it to be used also by future bits of functionality like groups and symbols (#31).

Three new tools were added - "Grid Pattern" and "Radial Pattern" make the respective new filter types. The old tools got new names. Fillet became FilletFilter. Chamfer became ChamferFilter. Mirror became MirrorFilter. The change in name is the change in code: these are filter tools now.

Selection outline

Screenshot 2026-08-01 at 1 14 17 PM

Selection got a new outline. It wraps the render shapes for a geometry, not just the source - see the light blue outline in the above image. Frames draw key point handles on their corners.

Snapping reached the new edges. The grid lines snap. The radial slice edges snap. The mirror line snaps.

Patterns save and load. History tracks their changes. The render code was split into smaller functions. Each filter type handles its own drawing.

Tests grew to cover it all. A pattern test with four hundred lines appeared. A frame test appeared too. The select tool test grew again.

@vercel

vercel Bot commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cad2d Ready Ready Preview Aug 1, 2026 5:35pm

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 4 potential issues.

View 3 additional findings in Devin Review.

Open in Devin Review

Comment thread src/app/components/SelectionInspector.tsx Outdated
Comment thread src/app/components/SelectionInspector.tsx Outdated
Comment thread src/components/FilterRenderer.tsx Outdated
Comment thread src/app/components/ViewportRenderer2D.tsx Outdated
@1egoman
1egoman marked this pull request as ready for review August 1, 2026 17:15
1egoman added 23 commits August 1, 2026 13:26
@1egoman 1egoman changed the title Filters v2 Filters part 5: Grid and Radial Patterns Aug 1, 2026
@1egoman
1egoman merged commit 278d1dd into main Aug 1, 2026
3 checks passed

This branch was successfully deployed

1 active deployment
Preview — c7e26c5c Deployed Aug 1, 2026 by vercel[bot]
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.

1 participant