Skip to content

Add iPhone Duo Book Pose and Laptop Pose - #14

Open
frankschlegel wants to merge 6 commits into
viticci:mainfrom
frankschlegel:codex/duo-folded-frames
Open

frankschlegel wants to merge 6 commits into
viticci:mainfrom
frankschlegel:codex/duo-folded-frames

Conversation

@frankschlegel

Copy link
Copy Markdown

This adds support for framing inner-display screenshots in the iPhone Duo’s partially open poses.

image

Use --device "iPhone Duo Book Pose" for landscape screenshots and --device "iPhone Duo Laptop Pose" for portrait screenshots. Both support Star White and Night Sky.

  • Screenshots bend around the hinge using geometry from Apple’s Photoshop templates, with reflections and camera overlays.
  • The pack builder extracts the folded assets from Apple’s mounted artwork download. ImageMagick is required only to build the pack. Screenshot framing uses Pillow.
  • The current frames setup download predates these assets. Use --assets with a locally built pack to try them before an updated pack is published.

Acceptance criteria

  • Both aliases frame still screenshots in the correct orientation and in both finishes. Check alignment at the hinge and along the screen edges.
  • The standard pack still frames flat Duo screenshots, and video framing rejects the folded poses.

Validation

All nine Duo tests passed. Both poses were rendered with real simulator captures and checked against Photoshop grid exports. Laptop Pose’s upper panel differs by about 2 px at 1320 × 1000. The lower panel aligns within 0.4 px.

frankschlegel and others added 6 commits November 10, 2026 16:00
Project screenshots onto the three display regions and composite the display mask, camera artwork, and optional reflection. Reject warped frames in the video path.

Co-authored-by: Codex <codex@openai.com>
Extract the landscape warp, artwork, and reflection for both finishes. Document the pack build workflow and preserve warped canvas coordinates when trimming packs.

Co-authored-by: Codex <codex@openai.com>
Accept the short device name when the folded frame is installed and keep reporting the canonical frame name.

Co-authored-by: Codex <codex@openai.com>
Accept the Laptop Pose alias and use the pack's per-finish mask, normal blending, and vertical reflection for partially open portrait screenshots.

Co-authored-by: Codex <codex@openai.com>
Extract both finishes from the partially open portrait templates and document how to build a pack and select either folded pose.

Co-authored-by: Codex <codex@openai.com>
Preserve the screenshot under the camera and reduce the overlay opacity to match the faint outline in the Photoshop reference.

Co-authored-by: Codex <codex@openai.com>
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