Skip to content

core: the orb, one glass control drawn one way, glass or not - #633

Merged
foxnne merged 9 commits into
mainfrom
core/orb
Oct 19, 2026
Merged

foxnne merged 9 commits into
mainfrom
core/orb

Conversation

@foxnne

@foxnne foxnne commented Oct 19, 2026

Copy link
Copy Markdown
Collaborator

Part of fizzyedit/plans#29 (plans/LIQUID_EDGE_PLAN.md, "The orb system")

Stacked on #583 (edge glass) and #607 (orb geometry); the diff here shows #607's file until it lands.

What changes

core.widgets.orb: one control of glass drawn one way wherever it is — the drop zones' glass and rim, one soft radial shadow outside it, cut by the place it lies in (LiquidField.Edge), and without the glass program the same shape filled as a polygon cut the same way. Its shape is orb_geometry's, so a state becomes the next by geometry alone: the material never changes mid-way. A round shape is drawn as a drop (its edge bending along its outline, the bright rim), not a box. It is what a place's arrange corner and the history's vial are drawn with (the PRs stacked on this one).

SDK impact

  • None
  • Core-only or additive: reaches plugins at the next SDK release
  • Fingerprint moved: recorded in sdk/src/version.zig, sdk_version untouched, PR labelled sdk
  • SDK release: bumps sdk_version, lists the sdk PRs since the last sdk-v* tag

Verified

  • macOS: in the arrange corner and history vial built on it, sandbox and captured frames; zig build test, test-integration, check-web on the whole stack
  • Windows:
  • Linux:
  • Web: zig build check-web (builds; not looked at)

Follow-ups

  • Drop zones and the tape's dome on the orb (plan steps after this one).

🤖 Generated with Claude Code

foxnne and others added 5 commits October 18, 2026 16:03
`LiquidField.edge`: a place's outline (rect and corner radii). Its outside is one
more shape the field's shapes run into, so a shape near the outline joins the edge
by a neck, metaball-like, and the outline cuts the glass's coverage, so none of it
crosses. The rim and bend come from the joined shape, so there is no rim along the
cut. The edge takes the program's last shape slot, flagged 2, so the uniforms keep
their layout. `glassBubbles` takes it as `.edge`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The shapes a control of glass is made of (circles, capsules, panels as rounded
boxes), the cut of one by its place's outline as a polygon, and shape
interpolation: the geometry the orb system builds on, std-only and tested.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rom the top right

`LiquidField.Edge.cut` cuts glass by its place's outline with a bevel and lens band of its own along
the cut, rather than joining the place's outside: a piece of glass laid in a corner, bending the
border and ring it lies along. `light_across` turns a drop's rim light a quarter, for glass whose
edges that show face across the usual light (a place's top-right or bottom-right corner). Both reach
`core.dialogs.glassBubbles` as options.
@foxnne
foxnne force-pushed the core/orb branch 2 times, most recently from b3c2536 to 29ab06e Compare October 19, 2026 15:03
Base automatically changed from core/glass-edge to main October 19, 2026 16:13
@foxnne
foxnne marked this pull request as ready for review October 19, 2026 16:44
@foxnne
foxnne added this pull request to the merge queue Oct 19, 2026
Merged via the queue into main with commit 360f5d8 Oct 19, 2026
11 of 20 checks passed
@foxnne
foxnne deleted the core/orb branch October 19, 2026 17:05
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