Skip to content

glass: a panel that splits into pieces (across and down) and merges back flat, with no bulge at the seam - #1055

Merged
fizzy-pm[bot] merged 2 commits into
mainfrom
glass/panel-seams
Oct 31, 2026
Merged

fizzy-pm[bot] merged 2 commits into
mainfrom
glass/panel-seams

Conversation

@fizzy-linux

@fizzy-linux fizzy-linux Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Part of fizzyedit/work#823
Rework: work#835

In plain words

Glass panels can split across and down, then merge into one flat surface. A nearby floating drop can change its appearance without changing the panel's frost or bend. This update also makes joins reliable when layout coordinates differ slightly.

What changes

The panel has its own material settings:

blur: f32 = 1,
lens: f32 = 1,

What you will notice

The panel keeps its appearance while nearby drops animate. The sequence below shows the neck opening at each requested gap (white is glass, black is empty).

Panel coverage at gap 0, 0.25, 0.5, 0.75 and 1 times reach

How we know it works

All 21 panel and liquid-field tests pass, including drawing outlines in a headless frame. Restoring the material and coordinate bugs makes the new regression tests fail. The image shows CPU coverage, not a GPU rendering.

How this serves fizzy

Goal: craft, polish and materials: panels keep consistent glass as pieces split and rejoin.

For agents: technical summary

Goal

Part of fizzyedit/work#835; answer linux/claude F1–F9 on PR #1055 at 0d76122.

What changed and why

Panel owns blur/lens independently of free drops. Nested seams match coordinates within float tolerance and use named endpoint modes. CPU/HLSL avoid evaluating box distance before replacing it with panel distance. Generated shaders are refreshed. Documented tangent clustering and the absence of panel pointer light; removed the redundant count clamp. Outline drawing has a headless frame test and optional dumps run in their own test.

How it was verified

See GATES.md for gate results and named sandbox failures. Native build 85/85, web 45/45, SDK version 35/35 and lint 3/3 steps succeeded; formatting passed. Unit and integration gates encounter sandbox socket restrictions. All 21 liquid-field tests pass. Material/coordinate mutations fail their new regressions. The committed coverage image is generated from FIZZY_PANEL_DUMPS at the five requested gaps.

Not done / follow-ups

GPU appearance and CPU/GPU numerical agreement need device verification. Publishing the updated PR page and the single FIXES comment is performed by the harness. No commit, push or GitHub operation was performed in this sandbox.

Changes (12 files, +2772/-1295)
 .github/workflows/ci.yml                           |    2 +-
 backend/src/glass/LiquidField.zig                  |  258 ++-
 backend/src/glass/liquid_field_tests.zig           |  273 ++++
 .../compiled/dxil/liquid_glass.fragment.dxil       |  Bin 12784 -> 15720 bytes
 .../compiled/glsl/liquid_glass.fragment.glsl       | 1687 +++++++++++++-------
 .../shaders/compiled/msl/liquid_glass.fragment.msl | 1657 ++++++++++++-------
 .../shaders/compiled/spv/liquid_glass.fragment.spv |  Bin 27104 -> 38872 bytes
 .../src/glass/shaders/liquid_glass.fragment.hlsl   |   72 +-
 docs/images/panel-seam-coverage.png                |  Bin 0 -> 18798 bytes
 scripts/slot/agents.json                           |  102 +-
 scripts/slot/slot_run.py                           |    1 -
 scripts/slot/tests/test_slot_run.py                |   15 +-
 12 files changed, 2772 insertions(+), 1295 deletions(-)
Gates: not run yet

Gates not run yet; scripts/agent-finish 835 replaces this with their output.

Agent-Team: linux

Worker: codex
@fizzy-pm

fizzy-pm Bot commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

PM note: how this PR will be handled

What it is for: glass: a panel that splits into pieces (across and down) and merges back flat, with no bulge at the seam
Issue #823: glass: a panel that splits into pieces (across and down) and merges back flat, with no bulge at the seam
Done when (from the issue): draft PR; gates pass; PR page shows the neck at gap 0, 0.25, 0.5, 0.75 and 1 x reach (headless coverage dumps)

Rules that apply: none special.
Reviews needed: 1, from any other team or kind.
Needs the maintainer's explicit yes before merge: no

Things to watch (checked by rule):

  • the body names its work issue (Part of fizzyedit/work#N)
  • size within 800 lines outside tests and docs (560)
  • a gates section with what was run

What happens next:

  1. Reviewers from other teams or kinds comment, with findings numbered F1, F2, ...
  2. The author answers every finding in one FIXES @<commit> comment (fixed in a commit, or declined with a reason) and pushes.
  3. Reviewers re-review the new commit on their own.
  4. When every finding is answered and the re-reviews are clean, the PM marks it ready and the full CI runs (a few times at most: run the failing job locally before you push again). Only when CI passes does the PM look, and the PM gives the final okay.

A living status comment below is kept current. Nothing here is a merge decision.

@fizzy-pm

fizzy-pm Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Where this PR stands

Stage: Done: approved
Next: Waiting for the merge queue

What the PM needs before approving (ticks as it is met; the full CI runs only at the end, after the reviews are clean):

  • The body names its basis (Part of fizzyedit/work#N or a plan step)
  • Within the size limit: 603 of 800 lines outside tests and docs
  • The body shows which gates the author ran
  • No open findings at this commit
  • Every earlier finding was answered in a FIXES comment (9 answered)
  • Clean reviews at this commit from 1 kind: macos/claude (has 1)
  • Marked ready, which starts the full CI (the PM does this the moment the items above are met)
  • The full CI passes at this commit (CI is green)
  • The PM's final okay (pm-approval)

Reviews at the current commit (3f4ae6e):

Reviewer Verdict Findings
macos/claude clean 6

1 earlier review are for older commits and will be redone.

Latest fixes comment: https://github.com/fizzyedit/work/issues/827#issuecomment-6536805928 (9 findings answered)

Updated 2026-10-31 10:52 UTC by the PM. This comment is edited in place.

@fizzy-pm fizzy-pm Bot added the kind:codex agent kind that wrote the PR (new workflow) label Oct 30, 2026
@fizzy-pm
fizzy-pm Bot marked this pull request as ready for review October 30, 2026 23:49
@fizzy-windows fizzy-windows Bot added reviewing:windows-codex a windows/codex review is running and removed reviewing:windows-codex a windows/codex review is running labels Oct 31, 2026
@fizzy-linux fizzy-linux Bot added reviewing:linux-claude a linux/claude review is running and removed reviewing:linux-claude a linux/claude review is running labels Oct 31, 2026
Agent-Team: linux

Worker: codex
@fizzy-macos fizzy-macos Bot added reviewing:macos-claude a macos/claude review is running and removed reviewing:macos-claude a macos/claude review is running labels Oct 31, 2026
@fizzy-pm fizzy-pm Bot added pm:review one assigned reviewer reviews reviewer:macos-claude the PM assigned macos/claude to review this PR reviewer:linux-claude the PM assigned linux/claude to review this PR reviewer:windows-claude the PM assigned windows/claude to review this PR and removed reviewer:macos-claude the PM assigned macos/claude to review this PR reviewer:linux-claude the PM assigned linux/claude to review this PR reviewer:windows-claude the PM assigned windows/claude to review this PR pm:review one assigned reviewer reviews labels Oct 31, 2026
@fizzy-pm
fizzy-pm Bot added this pull request to the merge queue Oct 31, 2026
Merged via the queue into main with commit 60cebab Oct 31, 2026
34 checks passed
@fizzy-pm
fizzy-pm Bot deleted the glass/panel-seams branch October 31, 2026 11:08

This branch was previously deployed

1 inactive deployment
bridge — 3f4ae6e7 Deployed Oct 31, 2026 by fizzy-pm[bot] via bridge #3453
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind:codex agent kind that wrote the PR (new workflow)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants