Add the True Duo style: the desktop standing in space - #1
Open
BrodySalvucci wants to merge 5 commits into
Open
BrodySalvucci wants to merge 5 commits into
BrodySalvucci wants to merge 5 commits into
Conversation
The screen itself becomes the folding phone. The lower half stays put and pixel-sharp; the upper half hangs from a crease across the middle and folds toward the viewer by however far the lid has closed. It is cast from the same fixed eye back onto the panel, so it foreshortens toward the crease and its far edge comes down, widening a touch with the keystone. Its glass frosts over evenly within the first 15° with a hard edge at the crease, darkens toward the far edge with the Shadow slider, and fades before it turns edge-on. Past the far edge the panel goes black. - BendOptics (glass, duo, trueDuo) replaces the useDuoOptics flag; custom mixes persist the optics they started from, migrating the old key. - BendMath gains the crease geometry, the leaf's edge-on limit and a shared maximumTilt used by the controller and the shader uniforms. - New style card (settings window widened to fit five), menu bar item, creased thumbnail artwork. - render-test: optics parameter, True Duo cases, and checks that the lower leaf is untouched, the crease is hard, and the panel is dark past the leaf. - README and CHANGELOG describe the style. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017MiEAsEoPQmBEi1Uu4NkDh
… edges The first attempt creased the screen across the middle and folded only the top half. That is not the effect: True Duo is the existing Duo profile, drawn with the perspective exact, so the desktop stops filling the panel edge to edge and reads as a rectangle standing in space. As the lid comes down its sides pull in and its top leans away, and where the glass no longer covers content the picture dissolves into black over a soft band instead of smearing the edge pixels outward. No hard black border: it melts into the dark. - The crease model, its leaf geometry and its own frost ramp are gone. True Duo shares Duo's block in the shader and differs only in the edge treatment. - BendOptics carries a fixed keystone of 1 for True Duo, so the narrowing that makes the panel read as 3D is always drawn exactly. The keystone tuning knob still governs the other styles. - render-test: True Duo's corners go black, the dissolve spans at least 26 pixels, the panel's centre line matches Duo pixel for pixel, the hinge stays anchored, and Duo still fills the panel. - Style card artwork, README and CHANGELOG follow. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The fade ran across samples taken past the desktop's edge, where the texture clamps. It was dissolving a stretched copy of the edge column, which reads as the content ghosting outward rather than as the picture meeting black. The falloff is now measured from inside the picture: beyond the desktop's edge the panel is exactly black, and the last of the real content dissolves into it. The band is capped by how far the panel actually reaches past the desktop at that row, so an edge still lined up with the panel's own edge is left alone — the hinge stays anchored, and a barely folded lid meets its edges cleanly. Half a texel of slack keeps that coincident edge on the lit side. render-test: the dissolve now spans 37 pixels inside a wedge up to 153 wide. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The projection was a window pane: each panel pixel cast a ray onto a frozen plane, so closing the lid cropped the desktop and magnified what was left. At 35° you were looking at the bottom half of the desktop blown up, which is why it read as an aperture focusing something behind it rather than as a screen. The desktop is now a rigid rectangle, hinged where the MacBook hinges, that lies back into space as the lid comes down. The whole picture stays on the panel and foreshortens as one object: the top edge recedes with black opening above it, the sides draw in toward the top, and the bottom stays anchored at the hinge. The edge dissolve rides on the same overshoot, so it still measures from inside the picture and never ghosts. The keystone knob is no longer part of True Duo — the lean supplies the perspective — so the optics-specific override is gone again. render-test: the screen's top edge stands clear in the black with the whole desktop on the panel, where Duo has cropped its top away. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The screen was tipping away from the viewer, so closing the lid read as the picture falling over backwards — the opposite of the lid's own motion. It now stays standing while the lid falls in front of it. The cast is Duo's again, but fitted to the panel instead of cropped by it: the panel's top edge is where the standing screen's top edge sits, so the picture keeps its full height and only compresses toward the top as that edge leans away. The sides still draw in with the exact perspective, and what the panel reaches past dissolves into black. The hinge keeps its full width. render-test: the panel's top row shows the desktop's own top edge, where Duo shows the middle of the desktop magnified. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Adds a True Duo style: Duo's optics drawn with the perspective exact, so the desktop stops filling the panel edge to edge and reads as a rectangle standing in space while the lid falls in front of it.
What it does
keystonetuning knob does not apply to True Duo.Changes
BendOptics(glass,duo,trueDuo) replaces theuseDuoOpticsflag. A custom mix persists the optics it started from asoptics; the old key is migrated.make render-test:opticsparameter, True Duo cases, and checks that the hinge stays anchored, the top corners go black, the dissolve is gradual, and the panel's top row shows the desktop's own top edge where Duo shows the magnified middle.🤖 Generated with Claude Code
https://claude.ai/code/session_017MiEAsEoPQmBEi1Uu4NkDh