Repository navigation
glass: the rim thins per shape, not per cluster - #1208
Merged
Merged
Conversation
Signed-off-by: fizzy pop-os-claude-1 <slot+pop-os-claude-1@fizzy.invalid>
|
TRIAGE @05b4b134 auto: mechanical rules met (fizzy-* app author, names work#1167, 66 non-test lines <= 400, no risky path). Labelled |
Contributor
Where this PR standsStage: Author's turn What the PM needs before approving (ticks as it is met; the full CI runs only at the end, after the reviews are clean):
Reviews at the current commit (
1 earlier review are for older commits and will be redone. Updated 2026-11-12 16:59 UTC by the PM. This comment is edited in place. |
Signed-off-by: fizzy foxnne-desktop-claude-1 <slot+foxnne-desktop-claude-1@fizzy.invalid>
Contributor
|
Rework published. |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
glass: a small drop no longer thins every rim in its glass
In plain words
Fizzy's liquid glass gives every piece a curved, light-catching rim, sized to the piece: a tooltip gets a small rim, a bar a big one. Until now the whole glass took the rim of its smallest piece, so a small bead of glass appearing anywhere (a drop leaving a bar, say) made the bar's rim shrink to a sliver while the bead was there. Now each piece keeps a rim its own size, and where two run together the rim blends between them.
What changes
What you will notice
A bar of glass (the console's header, for one) keeps its full rim while a small bead of glass appears beside it or leaves it; before, its rim flattened for as long as the bead was there. A small drop on its own looks as it did.
How we know it works
How this serves fizzy
Glass whose rims hold steady while pieces come and go is the materials and polish fizzy is made of.
For agents: technical summary
Goal
LiquidField.rimScalefitted the field's one rim (softness, refraction depth, light depth, outward pull) to the smallest shape in the field, so a 12 pt bead anywhere cut a 44 pt bar's rim to its own. Fit per shape instead.What changed and why
LiquidField.zig:rimScaledeleted;fitHalf(half, depth_px)=clamp(half / (room * depth_px), 0, 1)(1 whendepth_px <= 0), the program'sfitTo.packsendsdepthsandrim.xat the field's scales, unfitted.sampleWithfitssoft_kper shape from its shorter half, tracksh1/h2besidem1/m2(the edge slot copiesh1), andsteep = exp(-soft / (depth * fitHalf(lerp(h1, h2, wm), depth))).liquid_glass.fragment.hlsl:ROOM 3.0(liquid_glass.room),fitTo(clamped at 0.0001, since it divides); the loop passesg1.y * fitTo(hs, g1.z)tosoftBox/panelDistance; after ithr = lerp(h1, h2, wm),steepR/steepLover the fitted depths, and the earlier glass's outward pull isg2.x * fitR * lens * steepR.W) already blendedh1/h2, so a published look changes only in the softness, the light's steepness and the earlier glass's pull. Nothing else was tuned.How it was verified
zig build test: 223/223 steps; the three new tests inliquid_field_tests.zigred on main 38dc20d (0.223 vs 0.629 / 0.655), green after.zig build test-integration110/110,zig build85/85,zig build web55/55,zig fmt --check backendclean.Not done / follow-ups
compiled/{spv,dxil,msl,glsl}/liquid_glass.fragment.*) were not regenerated in this session: the sandbox refused to run shadercross. RunPATH=/opt/fizzy-shadercross/bin:$PATH scripts/compile-shaders.sh <tmp>and copy the four in before merging, orshaders.ymlfails.🤖 Generated with Claude Code
Part of fizzyedit/work#1167