Duo Fitting Room

Accuracy, dimensions and reconstruction

Model snapshot: October 22, 2026, after the photo-matched overhaul, the Night Sky phone color, the six case colorways and the Mous, Thinborne and Nomad cases with their review fixes, all recorded in REVIEW.md. Product links and image navigation are in PRODUCTS.md; commands and file ownership are in WORKFLOW.md. Every number below was checked against measurements.json, the root calibration reports or the source scripts, except the Night Sky photograph ratios, which come from that calibration run (its camera and tools are not in the project). The Mous, Thinborne and Nomad numbers come from their brand builds after the review fixes; their matched-view metrics were re-measured with reference_metrics.py on those final renders.

Read this page before using any number for a buying or fit decision. Most of the model is an informed reconstruction from marketing images, not manufacturer CAD.

Basis of each value

Label Meaning
Published Stated by the manufacturer or a retailer listing.
Apple asset Measured on Apple's unmodified Star White USDZ, which keeps Apple's metric scale.
Photo estimate Measured in manufacturer images through a fitted camera or a calibrated scale, then authored. Typical error is a few tenths of a millimetre, more for depth.
Reconstruction Inferred from shading, construction logic or several partial views; no image measures it directly.
Calibration A material value tuned so a photo-matched render reproduces a photograph under this project's studio. It is not a measured optical property.

Dimension summary

Item Value used Basis Source
iPhone Duo, closed 84.1 × 117.8 × 11.3 mm Published Apple specifications
84.78 (with hinge cover) × 117.95 × 11.0 mm frame Apple asset, kept unscaled Apple USDZ
iPhone Duo, open 164.6 × 117.8 × 5.2 mm Published Same
164.91 mm frame span about the hinge axis X = -41.08 mm Apple asset (Landscape pose) Apple USDZ
Latercase MagLock, all five colorways 1 mm shell, 20 g Published Latercase listing: Midnight, Classic, Coffee, Crimson, Willy Blue
83.35 × 119.7 mm outline, 1.8 / 2.7 mm rolls, bead, openings Photo estimate Official Midnight and same-mould images
PITAKA Edge Midnight / Sunset 1.3 ± 0.1 mm wall; back case 19.1 / 20.13 g, suite 35.66 / 36.7 g Published Midnight rear, Midnight suite, Sunset rear, Sunset suite
PITAKA Edge California Dream / 600D Black/Grey 1.3 ± 0.1 mm / 1.0 ± 0.1 mm wall; suite 35.71 / 32.13 g; back-only weights not published Published California Dream, 600D
84.0 × 120.25 mm outline, cap, edges, openings; one 1.3 mm shell for all four designs Photo estimate PITAKA end, side and flat views
Mous Ultra Thin, Aramid Fibre 1.65 mm back, 0.7 mm side walls; with the phone 85.70 × 119.9 × 18.15 mm closed and 166.53 × 119.9 × 12.65 mm open; weight not published Published Mous, Duo variant
85.57 × 119.82 × 18.15 mm closed, 166.51 × 119.82 × 11.92 mm open; surround, cutouts, front window Photo estimate (closed depth by construction; the published depths conflict) Mous render 06 and 08, real photos Lifestyle-3 and -4
Thinborne Super Thin, all three colorways 0.90 mm wall; 21.3 g (spec table; the headline says 21.5 g) Published Thinborne: Black, Crimson, Navy
Envelope 0.93 mm outside Apple's frame; camera bezel crest Y 11.0 mm; openings; 1.0 / 1.5 mm weave cells Photo estimate Thinborne's CGI open views and real photographs of the bare pieces
Nomad Mag Leather Back, all three colorways 2.2 mm plate; weight not published Published (Nomad's generic help article says 2.05 mm) Nomad: Black, Rustic Brown, Saddle; help article
81.99 × 116.69 mm outline, notch, ring opening; ring crest 0.72 mm above the lens covers Photo estimate (ring section: reconstruction) Nomad's 3840 px straight backs, side-profile video
ohsnap Snap Grip Ø58.0 × 3.0 mm Published ohsnap product and FAQ
ohsnap Grip Stand 59.4 × 85.1 × 3.4 mm; 350° hinge Published ohsnap (thickness, hinge); NFM lists 2.340 × 3.350 in, converted and rounded
Radial layout, cap, 19.0 mm arm, hinge position Photo estimate Official renders through fitted cameras
MOFT Snap Fold, both finishes 67.0 × 88.9 × 7.5 mm, about ±0.7 mm Photo estimate (thickness: reconstruction) MOFT three-view calibrated by Apple's lens rings; MOFT publishes no dimensions
Magnet centre, bare phone, Latercase, Mous, Thinborne and Nomad 55.5 mm above the phone bottom, centred Photo estimate Spigen's published Duo ring image; Nomad's MagSafe-charger photograph (54.85 mm)
Magnet centre, PITAKA 56.6 mm above the phone bottom, centred Photo estimate PITAKA interior ring image

Apple's AR mesh differs slightly from the published dimensions and has protruding controls. It was kept unscaled instead of being deformed to match the published box. All accessories use the same metric scene scale.

Phone

Source, construction and articulation

The phone is Apple's official Star White USDZ, linked from Apple's iPhone Duo page. Its exterior vertices and metric scale are preserved and the USDZ file is unchanged. Every change to Apple's parts is a visibility, material or object-transform change, or a separate derived object.

The file has two variant sets, Pose (Closed, Landscape) and Color (Night_Sky, Star_White). The build imports Star White; Night Sky is applied from data on the same geometry (see Phone colors). Its rear is a layered AR stack: an outer frosted shell flush with the frame (Y = 5.50 mm, camera-plateau top 9.141 mm) over an inner backing (5.00 / 8.69 mm), a matte logo underlayer and coplanar overlays. Before this overhaul the model showed the inner backing, which caused the broken ring, gray bar and notches around the plateau and the floating logo. Derived parts, all built from Apple's meshes:

Articulation (Apple asset plus reconstruction). Apple's Closed pose is the closed state and its Landscape pose is the ground truth at 180°. That pose turns the front half 180° about X = -41.08 mm, Y = 0, so the frames abut with a 164.91 mm span (published 164.6 mm), and places the hinge cover 1.573 mm further out. The motion between the two poses is reconstructed:

Apple's only intermediate-angle photograph (the hinge-side durability view) fits best near 75° once a front-half landmark is used; at that opening the frame, hinge-cover and bezel widths match it within a few pixels. This is a visual articulation, not Apple hinge CAD or a mechanical simulation.

Phone materials and calibration

All values are linear base colours unless marked. They were tuned against Apple's photographs in the fitted cameras ref_apple_display, ref_apple_hinge_open and ref_apple_rear34, and are calibrations, not measurements.

Part Value Note
Star White rear glass (1.0, 0.99, 0.96), roughness 0.42, Specular IOR Level 0.25 Apple's authored (1.0, 0.98, 0.94) read warmer and 2-8 levels darker than both photographs
Logo Opaque polished ink (0.88, 0.87, 0.83), roughness 0.06 Flush in the shell's logo opening
Titanium frame, buttons, lens rings (0.88, 0.855, 0.815), roughness 0.05 Apple's mirror roughness; Apple's authored tint reads yellower than its photographs
Hinge cover Metallic satin, roughness 0.28, 0.04 mm albedo grain at 5 % rms Matched satin field p50 199 against 202
Lens covers Clear sapphire, 125 nm MgF2 film, roughness 0.07 Faint blue residual reflection
Interior blacks Specular IOR Level 0.1 Removes most caustic crackle in the lenses
Displays Emission only, strength 1.2 Apple's 1.75 suits AR Quick Look and rendered 1.3-1.5 × Apple's photograph here
Switched-off display Black cover glass, roughness 0.03 Assumption about glass; Apple supplies none

Matched results (sRGB luma, photograph / model, 2048 px). The display, flash, logo and lens regions are the phone owner's last-round measurements; the switched-off front, hinge cover and rear glass are confirmed in the final renders:

The remaining phone differences come from the shared studio, not the materials: the rear lenses and front-camera hole mirror dark parts of the studio and read darker and more neutral than Apple's indigo; the polished frames' mirror structure differs; the Star White glass has no top-to-bottom sheen. MOFT's own render of the Duo conflicts with Apple's photographs (back 196 against the model's 233, hinge strip 138 against 80); Apple's photographs govern the phone.

Phone colors

Basis: Apple asset plus calibration. Both of Apple's colors, Star White and Night Sky, use the same geometry, and Apple's USDZ already carries both as its Color variant set. Switching the variant changes 34 shader inputs across 20 materials and swaps both wallpapers and the speaker and microphone grilles. Night Sky is therefore Apple's own variant, recalibrated where Apple's photograph disagrees with it. It is not an invented recolor.

How it is applied: scripts/phone_colors.json overrides 12 materials and 5 textures by exact material name. Star White has no overrides, because the build is Star White. The same file drives configure_study(phone_color='night-sky'), render_view.py --phone night-sky and the viewer (p=night-sky). scripts/phone_colors.py writes the textures:

Calibration. The reference is Apple's newsroom image of both colors (source, local copy references/incoming/phone/Apple-iPhone-Duo-colors-260909_big.jpg.large_2x.jpg). It shows the two colors in identical layouts 821 px apart, so the Star White phone shows the light each Night Sky pixel received. A perspective camera was fitted to the Night Sky rear phone (silhouette IoU 0.972, both lens centres as landmarks, front phone masked). Each calibrated value is the Star White calibration times the photograph's linear Night Sky / Star White ratio.

Part Night Sky (linear) Apple's Night_Sky value Basis
Rear glass and camera plateau (0.0238, 0.0359, 0.0538); Star White's surface (roughness 0.42, Specular IOR Level 0.25, no coat) (0.012, 0.036, 0.06), metallic 0.2, clear coat 1 Ratio in the photograph's least-sheen region: photo (0.0288, 0.0413, 0.061), model (0.0289, 0.0412, 0.0611)
Logo (0.0046, 0.0108, 0.019) None; underlayer (0, 0.012, 0.028) Ratio: photo (0.0067, 0.0137, 0.0242), model (0.0065, 0.0134, 0.0242)
Titanium frame, buttons, lens rings (0.0257, 0.0361, 0.0538), roughness 0.05 (0.05, 0.071, 0.1) Star White × frame ratio (0.029, 0.042, 0.066), steady across Star White levels 140 to 240
Hinge cover (0.0619, 0.0788, 0.1234), metallic 1, roughness 0.28 (0.028, 0.043, 0.07), metallic 0.8 Star White × hinge ratio (0.070, 0.092, 0.154)
Lens-ring walls (0.0143, 0.0232, 0.0357) (0.028, 0.0455, 0.07) Apple's value × the frame's photo / Apple ratio (about 0.5)
Bottom port surround Frame value Not set (would render 0.18 gray) Inference
Side-button inserts, interior chassis, antenna strips, port, flash and microphone surrounds Apple's Night_Sky values Same Too small to measure. The side-button overlay keeps metallic 1: Apple's metallic 0, with the importer's 0.6 transmission, rendered it as a bright window

Apple's authored values are about 2× too bright for the frame and about 2× too dark for the hinge cover compared with the photograph, so the photograph governs those parts. The metal ratios are reliable: the same mirror or satin surface under the same light, and the frame ratio stays steady across brightness levels, which also supports reading the photograph's sRGB values as standard sRGB-encoded light.

Limits.

Mount positions and fit analysis

Magnet centres

Treat ±3 mm as a sensitivity check, not a measured tolerance. The viewer's Mount height slider (under Fit details) allows ±5 mm. Moving the centre tests the consequence of not knowing the magnet location; it does not mean an attached grip can slide.

Method

scripts/fit_analysis.py runs inside the build and measures the built meshes:

  1. It ray-casts each configuration's outer rear surface from behind into a field of height above that configuration's accessory seating plane, on a grid of X = -36 to 36 mm (0.5 mm steps) by Z = 70 to 118 mm (0.25 mm steps). Seating planes: bare phone Y = 5.532 mm, Thinborne 6.48 mm, Latercase 6.58 mm, PITAKA 6.86 mm, Mous 7.21 mm, Nomad 7.76 mm; each is the outer face plus 0.03 mm, and the build fails unless the median rise within 10 mm of the magnet centre is -0.03 ± 0.05 mm. Case shells are cast with the phone visible through their openings; for Nomad's back-only plate the field is the plate's face plus the phone wherever the plate is absent (its camera window and the margin round it). Colorways of one mould share a shell_geometry and one field (Latercase Midnight's for all five Latercase colorways, PITAKA Midnight's for all four PITAKA designs, Thinborne Black's and Nomad Black's for their three); the build fails if their shells, seating planes or magnet centres differ. Printed decals marked fit_ignore (the 600D, Mous and Thinborne wordmarks) are left out, so they change no fit value.
  2. It traces each accessory's closed outline and the profile of its rounded top and bottom edges from the magnet centre.
  3. For each case and accessory, including the Grip Stand flipped tail-up, it reports the rise under the top edge, the clearance to the 1 mm and 2 mm rise contours, how far the rounded edge would stand proud (edge lift), the bottom clearance, and the same values over the ±3 mm band and, for the wallet, over its ±0.7 mm size uncertainty.

The results are stored in measurements.json (fit_analysis) and as glTF extras, so the viewer reads the same data and its selfCheck() compares its live port of the metrics with the build report (the bare phone and each shell geometry with every accessory, worst difference 0.006 mm when last checked) and checks that every colorway of a shell reads identical live fit.

States follow the rise under the accessory's top edge:

State Rise Meaning
Flat back up to 0.05 mm The field's own scatter is about 0.03 mm
Toe of the ramp up to 0.3 mm Ramp under about 20°; within case tolerance and accessory compliance
On the camera ramp up to 2 mm The edge lifts or the accessory tilts slightly
Steep shoulder above 2 mm Under every top edge the ramp passes 45° between the 1 and 2 mm contours

Results at the default centres

Values in mm. "1 mm line" is how far the 1 mm rise contour lies above the top edge (negative: the edge is already past it). Bottom clearance is to the phone bottom.

Configuration Snap Grip Grip Stand (tail down) Grip Stand flipped MOFT wallet
Bare phone, 55.5 Flat; 1 mm line 5.2 above; bottom 26.5 Flat; 1 mm line 4.5 above; tail 0.1 above the phone bottom Steep, 5.5 rise Ramp, 1.1 rise, edge lift 0.9 (about 0.6° tilt)
Latercase (all five colorways), 55.5 Flat; 1 mm line 4.8 above; bottom 26.5 (27.4 to the case bottom) Flat; 1 mm line 4.1 above; tail 0.1 above the phone bottom, 1.0 above the case bottom Steep, 4.9 rise Ramp, 1.4 rise, edge lift 1.2 (about 0.7° tilt)
PITAKA (all four designs), 56.6 Toe, 0.06 rise; 1 mm line 2.1 above; bottom 27.6 Toe, 0.25 rise; 1 mm line 1.4 above; tail 1.2 above the phone bottom Steep, 2.3 rise (5.2 seating interference) Steep, 5.3 rise
Mous Ultra Thin, 55.5 Flat; 1 mm line 4.7 above; bottom 26.5 (27.5 to the case bottom) Flat; 1 mm line 4.0 above; tail 0.1 above the phone bottom, 1.05 above the case bottom Steep, 3.8 rise Steep, 4.3 rise, edge lift 3.0 (meets the camera surround)
Thinborne (all three colorways), 55.5 Flat; 1 mm line 4.5 above; bottom 26.5 (26.9 to the case bottom) Flat; 1 mm line 3.8 above; tail 0.1 above the phone bottom, 0.5 above the case bottom Steep, 4.6 rise Steep, 4.5 rise (meets the bezel's vertical wall)
Nomad (all three colorways), 55.5 Flat; 1 mm line 4.0 above; bottom 26.5 (the plate leaves the phone bottom bare) Toe, 0.27 rise, edge lift 0.12; 1 mm line 3.3 above; tail 0.1 above the phone bottom Steep, 3.3 rise Steep, 3.0 rise, edge lift 2.6 (meets the ring's fillet and flange)

Over the ±3 mm band, the Snap Grip stays flat or at the toe on bare, Latercase, Mous and Thinborne (rise up to 0.2 mm), reaches the start of the ramp on Nomad (0.38 mm) and can reach the ramp on PITAKA (up to 1.8 mm). The Grip Stand reaches the ramp on bare, Latercase, Mous and Thinborne (up to 0.4 mm), on Nomad (up to 0.72 mm), and can reach the steep shoulder on PITAKA (up to 2.6 mm). The wallet spans toe to steep on bare (0.05-3.6 mm), Latercase (0.07-3.8 mm), Mous (0.08-4.7 mm), Thinborne (0.06-4.5 mm) and Nomad (0.27-4.2 mm), and ramp to steep on PITAKA (1.2-5.4 mm). Over its ±0.7 mm size uncertainty the wallet's rise is 0.7-1.6 mm bare, 0.8-2.1 mm on Latercase, 0.9-4.7 mm on Mous, 2.3-4.5 mm on Thinborne, 1.8-4.0 mm on Nomad and 4.4-5.3 mm on PITAKA.

Interpretation:

These are reconstruction-based comparisons between configurations. They do not establish physical fit, magnetic holding force, opening clearance or stand stability.

Case colorways

Sixteen case designs sit on five shells: Latercase MagLock (5), Mous Ultra Thin (1), Nomad Mag Leather Back (3), PITAKA Edge (4) and Thinborne Super Thin (3). Each added colorway clones its brand's first design (Latercase and PITAKA Midnight, Thinborne Black, Nomad Black) and changes only materials, so its shell is identical by construction (equal coordinate, shape and UV hashes in scene_fingerprint.py) and its fit equals that brand's. The few geometric differences are cosmetic: the Classic and 600D front frames mirror their cloth UVs, California Dream and 600D add a second PitaTap material slot, and 600D adds a printed wordmark decal that the fit ignores. The Mous, Thinborne and Nomad cases have their own sections below (Mous, Thinborne, Nomad).

Design Surface model Basis Main limit
Latercase Midnight Plain weave, 1.5 mm cells, 2048 px maps Photo estimate and calibration (Latercase MagLock) The checker's dependence on light direction is only weakly modelled
Latercase Classic 2/2 twill of the same 1.5 mm cell, own maps Fitted to the official 4096 px Classic back The official twill fades lower on the back; the model keeps its contrast
Latercase Coffee, Crimson, Willy Blue Midnight's plain weave with an own two-yarn albedo (1024 px) Fitted per channel to each official back: mean and relative checker within 1 % Plain-weave row/column balance inherited from Midnight
PITAKA Midnight, Sunset Row-sampled plain weave, about 1.5 mm cells Photo estimate and calibration (PITAKA Edge) See that section
PITAKA California Dream Per-row warp and weft, gold cap Rows sampled on the photograph's own grid; falloff shared from the other designs The lowest red rows read lighter than the photograph
PITAKA 600D Black/Grey 2/2 twill, about 1.0 mm cells, own maps Twill fitted to the flat photograph, yarns de-lit by twill phase Published 1.0 mm wall; modelled on the 1.3 mm shell
Mous Aramid Fibre 2/2 twill, 1.5 mm square tows, 6 mm repeat, generated maps Tow from the real photo Lifestyle-3; tone calibrated to render 06 Render 06 shows 1.34 × 1.68 mm tows; the model keeps the photo's square tow
Thinborne Black 2/2 twill, 1.0 mm cells, black and grey yarn, glossier coat Real flat lays and the oblique; cell size by FFT in the matched views The CGI open view reads darker than the model (and the real photographs)
Thinborne Crimson Plain weave, 1.5 mm cells, red and dark red yarn Calibrated in the CGI open view; agrees with the real flat lay Crimp shading is generic, not measured
Thinborne Navy Plain weave, 1.5 mm cells, blue and dark blue yarn The real flat lay (hue about 220-229, low yarn contrast) Thinborne's CGI reads violet and darker; the model follows the photograph
Nomad Black, Rustic Brown, Saddle Horween leather maps for day 1 and day 100 over one shared 0.3 mm crinkle grain Fitted to Nomad's new and After 100 Days straight backs Grain is procedural; day 100 Black and Rustic Brown lack some of the burnished gloss (Patina)

The viewer's swatches are the photographed colors on each rear root: the light and dark yarn (or float) of a uniform weave, one leather color for Nomad, or three colors top to bottom for a PITAKA design whose color changes down the back. The chips themselves are rendered from the model at load. Every colorway view is a tone match against a manufacturer image, many of them CG, under the one studio; none is colorimetry.

Latercase MagLock

The five colorways are Midnight (the original case), Classic, Coffee, Crimson and Willy Blue. This section describes the shared mould and the Midnight weave; Classic, Coffee, Crimson and Willy Blue covers the colorways.

Published: a nominal 1 mm aramid shell, about 20 g, front and back included, the same for every colorway (the listing's 145 g is the shipping weight). Everything else is a reconstruction from the official Midnight back and front images, the official Coffee, Willy Blue, Crimson and Classic backs of the same mould, review frames and Apple's mesh.

Envelope and rails (photo estimate). The outline is Apple's frame silhouette at its barrel maximum (straight sides; superellipse corners A = 14.45 mm, n = 2.39, fitted to Apple's mesh with 0.016 mm rms), pushed out 0.775 mm at the sides, 0.852 mm at the top and 0.9 mm at the bottom. That gives the 83.35 × 119.7 mm outline of the official back image; the matched render's silhouette IoU is 0.9989. Roll radii on the rear piece:

The front piece has a 1.8 mm roll, 1.15 mm seam returns and a 0.35 mm trimmed hinge edge. The inner wall follows Apple's ray-sampled frame barrel plus 0.03 mm, so the wall is at least 0.745 mm at the side barrel maximum and 0.84 mm through the end rolls. The back plate is 1.0 mm. Cut edges have a 0.15 mm edge break. At the open hinge side the top and bottom rails stop 0.8 mm short of the trim below Y = 3.6 mm to clear Apple's hinge cover.

Camera shoulder (reconstruction). The rear shell and camera cover are one molded shell. Over the camera it is a 1.0 mm spherical offset of Apple's visible outer rear glass over a 0.05 mm seating gap (1.05 mm in total), sampled at 0.125 mm and lightly smoothed to suppress AR tessellation noise. Between the plateau's top edge and the top rail the laminate bridges the concave corner as a taut membrane over the shoulder and the top roll: about a 40° ramp, up to 0.91 mm of fill, fading over about 10 mm past the plateau's ends. Its shape is inferred from the even shading of the four official backs; no section or side view measures it.

Lens bead (photo estimate). The figure-8 bead is fitted to the official Midnight image: outline r = 9.55 mm round each lens with 2.42 mm waist fillets, a flat top to r = 8.40 mm at Y = 11.45 mm (1.26 mm above the plateau), a 0.73 mm roll into a 60° flank, and a 1.70 mm cove. Between the lenses the flank and cove spread to twice their width. The optical centres are Apple's (X = 8.305 / 26.075 mm, Z = 102.665 mm). Apertures are r = 7.10 mm, just outside Apple's r = 7.045 mm lens glass, so no housing ring shows; the inner seat sits 0.04 mm above Apple's lens housings. Latercase's render places its dummy camera island about 0.35 mm higher relative to the lenses; Apple's geometry was kept.

Openings (photo estimates from the official images and review frames).

The review frames (Michael's Tech Talk; myproject13tech top, bottom and controls) use dummy phones, and some show Classic rather than Midnight. They support shapes, not exact Midnight dimensions. See the review frame notes.

Mass. Rear 10.31 cm³ and front 2.03 cm³ give about 16.7 g at an assumed 1.35 g/cm³. The published 20 g also covers the MagLock magnets and coating, which are not modelled, so the agreement is loose, not a validation.

Weave and material (photo estimate and calibration).

Checks. Both pieces are closed manifold with no degenerate or UV-degenerate faces before or after their edge modifiers. The build fails on any triangle overlap between either piece and any visible phone mesh, or any phone vertex inside a piece, at openings of 0, 45, 90, 150 and 180° (0 contacts; 114,441 phone vertices tested in the current build). latercase-edge-revision-audit.json is the round-3 snapshot.

Classic, Coffee, Crimson and Willy Blue

Basis: photo estimate and calibration. Each colorway clones Midnight's rear and front pieces with its own material (LATERCASE_COLORWAYS in latercase_case.py), so outline, rolls, bead, openings and fit are Midnight's. Swatches are the light and dark cell (or float) colors of each official back's flat area. Every matched view uses the Night Sky phone, as photographed.

Coffee, Crimson and Willy Blue keep Midnight's plain-weave structure and share its normal, roughness and fibre maps. A single tint of Midnight's grey map cannot reproduce them: their official backs have paler crowns, so the relative checker differs by channel (linear RGB, 2048 px): Coffee 0.161 / 0.227 / 0.278, Crimson 0.138 / 0.360 / 0.282, Willy Blue 0.129 / 0.171 / 0.196. Each therefore gets a two-yarn base-color map: per channel, a glint gain is solved against the measured relative checker and a scale then sets the mean (one render-ratio correction from photo targets). The maps are 1024 px over the 48 mm tile (21 texels/mm, 32 per cell; Midnight's is 2048) to keep the viewer small. Material base-color factors are 0.40 (Coffee), 0.45 (Crimson) and 0.14 (Willy Blue). Matched straight backs (2048 px, photo / model, linear mean RGB):

Colorway Mean RGB Relative checker RGB Camera
Coffee (0.1585, 0.0686, 0.0450) / identical (0.161, 0.227, 0.278) / identical ref_latercase_coffee_form's
Crimson (0.1872, 0.0114, 0.0196) / (0.1875, 0.0115, 0.0196) (0.138, 0.360, 0.282) / (0.137, 0.358, 0.283) ref_latercase_back's (silhouette pixel-identical)
Willy Blue (0.0188, 0.0249, 0.0560) / (0.0189, 0.0249, 0.0561) (0.129, 0.171, 0.196) / (0.130, 0.171, 0.196) ref_latercase_back's

Classic is a 2/2 twill of the same 1.5 mm cell on the same 48 mm UV (32 cells, since a twill needs a multiple of 4), with its own base color (1024 px), normal (1024 px, lossless), roughness and fibre maps (512 px). As for Midnight, the contrast lives in the albedo: flat-topped light floats at 0.0445 and dark floats at 0.0072 linear albedo, 30 µm relief, and Midnight's weak fibre anisotropy.

Inherited from Midnight. In the plain weaves the photographs' row and column checker amplitudes differ about 3:1, while the model's are nearly equal (about 1.1:1, the accuracy review's FFT). The mean and overall checker still match.

PITAKA Edge

The four designs are Midnight from the 1001 Nights listing, Sunset from the Sunset/Moonrise listing, California Dream and 600D Black/Grey (listed on PITAKA's classic-phone-cases page), each as Back Case Only and Suite Case Without Hinge. The separate front-case-with-glass SKU and the hinge-cover variant are excluded. The suite's bonded glass is represented by the phone's own glass; no separate refractive pane is modelled. The viewer labels follow brand and colorway ("PITAKA Edge Midnight"); the listing names stay on the roots as listing.

Only the walls (1.3 ± 0.1 mm; 1.0 ± 0.1 mm for 600D) and the weights are published. Every other value is a photo estimate fitted to PITAKA's own images: the orthographic top end view (9.33 px/mm from Apple's frame, within 0.4 % at the cap), the suite end views, the control-side view (squashed horizontally by about 11 % in PITAKA's marketing image) and the lossless 2000 px flat views (perspective renders; raised features shift outward by about 0.2 mm per mm of height near the cap). None is manufacturer CAD.

Shell and edges.

Camera cap. The clear window is a capsule from X = -19.58 to 36.81 mm and Z = 91.95 to 113.55 mm. The woven seat is at Y = 9.75 mm and the machined cap top at Y = 12.22 mm: 5.4 mm above the flat back (5.34 mm in the side view) and 0.99 mm above Apple's lens glass. The section changes round the ring:

The woven shoulder is a concave fillet h = 2.92(1 - d/L)^p mm from the cap base, with L = 5 mm and p = 2.3 where open, shortening to about 1.6 mm and p = 1.3 near the top and +X edges. Its rise matches the side view within 0.1-0.2 mm. The shoulder guide at the seating plane is Z = 85.2 mm.

Openings and controls. Touch ID notch open to the seam (Z = 65.40-86.00 mm at the back, 59.87-88.03 mm at the seam); one shared top volume opening (X = -3.73 to 20.89 mm at the top, -8.53 to 25.90 mm at the seam); rear speaker slots 11.6 × 2.7 mm at X = ±21.55 mm; a recessed PitaTap cover over Camera Control (Y = 1.15-4.6 mm by Z = 23.8-41.8 mm) with a woven insert; on the suite frame a top slot (X = ±7.75 mm), an earpiece notch (X = ±7.6 mm) and a USB-C notch tapering from 20.3 to 15.6 mm. Suite window borders are 2.33 / 2.40 / 2.60 / 2.68 mm (hinge, outer, bottom, top). Apple's black display border shows inside the window; PITAKA's dummy screen has none, so a printed border cannot be established. An illustrative anti-slip strip sits inside the rear.

Weave.

Materials and calibration. Matte-coated aramid at Specular IOR Level 0.08 (facing reflectance about 0.6 %), roughness about 0.44-0.57 and warp/weft anisotropy at strength 0.4. A real polymer coat reflects about 4 %; the lower value matches PITAKA's images, which show no coating veil. The de-lit yarn colours carry one exposure gain and chroma factor per colourway (×1.065 / 1.06 Midnight, ×1.02 / 1.09 Sunset, ×0.95 / 1.08 California Dream, ×1.0 / 1.0 600D; pitaka-pattern-scaling.json), because PITAKA's flat and oblique renders disagree by about 10-15 % in exposure and 0.05-0.08 in saturation. Caps are metals matched to the ring luminance of the matched views: satin anodized blue on Midnight, satin titanium-gray on Sunset and 600D, polished gold on California Dream, each with a polished inner crest. Markings are matte inks. The liner is a two-tone weave from PITAKA's interior photographs with the printed MagSafe ring (centred X = 0, Z = 56.6 mm), lettering and Edge badge, set in substitute fonts; the CJK lettering needs a system CJK font at texture build time.

Midnight and Sunset matched results (photo / model, 2048 px, round 3; adding the colorways left these renders unchanged):

PITAKA's images are renders with their own lighting and grading; these are tone matches under one studio, not measured colorimetry.

Same mould for all four designs

California Dream and 600D Black/Grey clone Midnight's rear and front pieces with their own materials, so all four designs share one shell (shell_geometry pitaka-edge), one rise field and identical fit. PITAKA publishes 1.0 mm for 600D, but its own 600D end view (06) and control-side view (05) match the Midnight and Sunset silhouettes within 1 px, about 0.1 mm at about 9.3 px/mm; a 0.3 mm thinner wall would move each piece's back about 2.8 px. PITAKA's renders therefore use the same CAD, and the model keeps the 1.3 mm shell, recording the published wall separately (published_wall_mm 1.0 and a geometry_note on the root). If the real case is 1.0 mm, each piece is up to 0.3 mm thinner and accessories seat up to 0.3 mm closer to the phone. The viewer's 600D fact line says so ("1 mm aramid fiber. Modeled on the 1.3 mm Edge shell."), built from the published wall and nominal_shell_mm rather than written in. Back-only weights for the two new designs are not published: the product pages list suite weights only, and the 600D page's default 16.23 g is the excluded Front Case With Glass.

California Dream

Basis: photo estimate and calibration. Unlike Midnight and Sunset, both checker parities change colour from row to row (light blue, cream and pink light yarns), so each row keeps its own warp and weft. The photograph's top-to-bottom light falloff cannot be measured on this layout, because no yarn stays one colour; it is set to 0.00805 per mm, the mean of the constant-yarn fits on the Midnight (0.0068), Sunset (0.0089) and 600D (0.0084) flats, which share PITAKA's framing and left-to-right gradient within 3 %.

The cells are sampled on the photograph's own row grid, which sits 4.8 px below the grid calibrated on Midnight (Midnight and Sunset sit 3.9 and 3.3 px above it, inside their cells). The first build sampled on the shared grid, so each 5 px sample mixed two rows and the weave lost contrast; make_pitaka_textures.py now fits this photograph's row offset and refits its column grid on those rows. With clean samples the calibration is gain 0.95 and chroma 1.08, in line with Midnight (1.06) and Sunset (1.09).

Other parts: a polished gold cap (base (0.80, 0.55, 0.16) at roughness 0.30, edge (0.95, 0.76, 0.36) at 0.15) with dark inks, a PitaTap with a blue outer line and Sunset's tan inner line as photographed, its own liner print, and a wordmark ink sampled from the photograph (exposure gain only, no yarn chroma).

Matched results (2048 px, photo / model):

Limit: the red rows still read lighter than the photograph, by about 25 levels in red on the dark yarn.

600D Black/Grey

Basis: photo estimate and calibration. A 2/2 twill of a black warp and a grey weft, floats over two cells stepping one cell per row. The cell size and twill phase are fitted to the flat photograph: 1.002 mm cells, built at 1.008 mm so 24 cells fit the existing 24.2 mm fibre repeat. The diagonal direction matches the photograph in the flat and end views (the same FFT peaks). The twill has its own normal, roughness and anisotropy maps; one 1024 px tile (42 texels/mm) covers the back, the front frame and the PitaTap insert. The front frame's fibre UVs are mirrored in U, because PITAKA's photographs show the twill rising to the right on both pieces seen from outside.

Mous Ultra Thin

Aramid Fibre is the only Duo finish (SKU WEA-A1186-BLKARA-000-W1): a rear shell on the camera half and an open front frame round the cover display, sold together in one SKU, with the hinge exposed. Both pieces are modelled (mous-ultra-thin), and the viewer offers Back only and Back + front as for the other two-piece cases.

Published (Mous's product page, Duo variant): a 1.65 mm back and 0.7 mm side walls; 85.70 × 119.9 × 18.15 mm closed and 166.53 × 119.9 × 12.65 mm open, with the phone; a MagSafe and Qi2.2 magnet array. No weight is published (a "30 g" in search results belongs to another Mous case). Gallery render 07 says "Just 1.7mm thin", presumably 1.65 mm rounded.

The published depths conflict. On Apple's phone the closed and open depths cannot both hold. The model puts the camera surround's top at Y 11.92 mm, so the closed stack is exactly the published 18.15 mm (the front lip's face is at Y -6.23 mm). The open depth is then 11.92 mm, 0.73 mm under the published 12.65. Meeting 12.65 instead would raise the surround about 0.7 mm and overshoot the closed depth. Mous does not say how it measured either figure.

Shell and outline (published walls, photo-estimated outline).

Camera surround (published depth plus reconstruction). A matte moulded stadium ring seated on the glass round the whole plateau: inner wall 0.25 mm outside Apple's plateau, flat top from 0.60 to 1.70 mm out, outer edge 2.45 mm out, 60.68 × 26.05 mm overall (the research's photo estimate was 61 × 26). Its top is at Y 11.92 mm, 0.69 mm above the lens glass, set by the closed depth. The back drapes over the plateau's fillet into the woven boss that the renders show round its base (seat Y 8.45 mm). Not modelled: the inner ledge and grain of render 07. At the hinge-side end, render 06's matte band reads about 4.1 mm wide against about 2.6 mm of matte ring plus woven boss in the model; fixing it means re-cutting the woven shell (open).

Openings (photo estimates fitted to Apple's parts).

Twill (photo estimate and calibration). A 2/2 twill of black aramid with 1.5 mm square tows and a 6 mm repeat, measured by autocorrelation in the real photo Lifestyle-3 (11 px tows at about 7.4 px/mm). Mous's CG render 06 shows 1.34 × 1.68 mm tows; the real photo governs physical scale. The twill lines run down to the right seen from outside on both pieces (the front frame's U is mirrored). The maps (albedo, roughness, OpenGL normal and anisotropy, 384 px for 8 tows) are generated in mous_case.py. The float contrast lives in the albedo (weft floats 1.0, falling to 0.5 at their ends; warp floats 0.15; base 0.034), so the twill reads without the anisotropic sheen, and Specular IOR Level 0.15, roughness 0.5-0.6 and sheen 0.5 keep upward-facing walls from glaring. The first build relied on sheen (Specular IOR Level 0.9): its weave vanished in the viewer's Back view and its top walls read white; the review fixed both. In render 06's Rear weave box (2048 px, photo / model): mean 35.3 / 34.6, p5 19.0 / 19.3, p50 32.8 / 33.0, p95 55.3 / 53.0, weave contrast hp_sd 4.98 / 5.13; light floats 48.3 / 48.5 and dark floats 22.9 / 21.3.

Matched views. ref_mous_flat (render 06, camera held straight on, azimuth fixed at 90°): render IoU 0.990. ref_mous_interior (render 08, both pieces without the phone, a 45.8° wide-angle camera): 0.962, below the 0.98 warning because render 08 is stylised; its Lining region reads mean 63.8 / 59.2. Renders 01 and 03 are not matched: their lens circles measure 0.67-0.68 wide-to-tall (0.99 in render 06), so they appear horizontally squashed and no perspective camera fits them.

Magnet centre: 55.5 mm, the phone's estimate (see Magnet centres).

Mass. Rear 14.43, front 1.64 and surround 1.43 cm³ give about 23.4 g at assumed densities (aramid composite 1.35 g/cm³, PU surround 1.2 g/cm³), without magnets or lining. Nothing published to compare.

Checks. The build fails on any contact between either piece and any visible phone mesh, or between the two pieces, at openings 0, 30, 60, 90, 120, 150, 165 and 180° (0 contacts; 160,661 phone vertices within 1 mm tested). A negative test with a thinner clearance found 48 contacts, so the test does catch intersections.

Limits. The surround profile, the lining's corners and ring imprint, the tow aspect, the PU strips and edge rounds on the Boolean cut edges (shaded sharp) are not modelled. The frame and Touch ID button seen in the back-edge notches render dark where render 06 shows them silver: Apple's materials under this studio, and render 06's narrower case lets its button stand past the outline.

Thinborne Super Thin

Black, Crimson and Navy are one mould (thinborne-super-thin): a back piece on the camera half and a front frame round the cover display, held by pre-installed adhesive strips, with the hinge not covered (Thinborne's FAQ: "we don't cover the hinge"). Each colorway is a single-SKU listing that includes both pieces.

Published: a 0.90 mm wall of 600D aramid "with a carbon fiber finish"; 21.3 g (the spec table's 0.75 oz; the headline says 0.76 oz, 21.5 g, and Thinborne's blogs "around 22 g"), taken to cover both pieces; N52 magnets (Amazon listing); not MagSafe or Qi2 certified. The weave type is not published.

Which images count. Most of Thinborne's images are CGI, and they disagree with each other:

Shells (published wall plus reconstruction). Two hard 0.90 mm shells over a 0.05 mm adhesive gap, offset from Apple's outer glass and frame barrel: back face Y 6.45 mm, accessory contact 6.48 mm. The envelope is Apple's frame silhouette pushed out 0.93 mm, which the open views' silhouettes support; 1.2 mm back and face rolls and a 1.0 mm lower roll run to a seam lip at |Y| 0.45 mm, and the inner wall follows Apple's barrel plus 0.03 mm. Both pieces end at the hinge axis with no hinge-side wall; the ends' outer edges have 0.5 mm rounds, as the CGI open views show.

Camera bezel (photo estimate). A black bezel that belongs to the case frames the whole plateau: the real photographs show it on the bare back piece. Its opening is 1.2 mm and its outer edge 3.0 mm outside the plateau's top edge; its underside sits 0.05 mm clear of Apple's camera shoulder, and the laminate rises over the shoulder to meet it. The real photographs show a tall ring with a flat top and a vertical outer wall, so the crest is flat at Y 11.0 mm, 0.23 mm under the lens rings (Y 11.23), with 0.15 / 0.20 mm edge breaks. The real Crimson flat lay measures it at about 62.2 × 26.9 mm outside and 57.9 × 23.2 mm inside (model 61.8 × 27.2 and 58.2 × 23.6). The CGI renders give the bezel a smoky inner band; the real photographs show it black, as modelled. The first build had a low, rounded crest at Y 9.6 mm; the accuracy review raised it, which also moved the wallet's rise from 3.1 to 4.5 mm.

Openings (photo estimates).

Weave (photo estimate and calibration). Cell sizes come from the FFT period in the matched views; the images differ from each other by up to ±7 %. Black is a 2/2 twill with 1.0 mm cells rising to the right on both pieces; Crimson and Navy are plain weaves with 1.5 mm cells whose short floats are crimped and shaded along their length, as the CGI and the real photographs show. The maps tile every 24 mm and are generated in thinborne_case.py.

Colorway Yarns (sRGB) Specular IOR Level Basis Flat back, CGI open view / model
Black #161616, #414141 0.45 The real flat lays and the oblique show a dark grey, low-contrast twill with a sheen 31.8 / 46.7 (the CGI reads darker)
Crimson #b6464b, #78242b 0.06 Calibrated in the CGI open view; agrees with the real flat lay 66.5 / 65.5
Navy #4e5e7d, #393e54 0.06 The real flat lay is blue (hue about 220-229) with low yarn contrast (light to dark about 1.27), where the CGI reads violet; its Back weave region reads 75.2 / 73.1 59.6 / 68.2 (straight back 57.7 / 68.2)

Matched views (render IoU): open views 0.994 (Black), 0.998 (Crimson) and 0.997 (Navy); obliques 0.992 (Black) and 0.989 (Crimson); the Navy straight back 0.981; the real Navy flat lay 0.958 (fit 0.964), below the 0.98 warning because it is a real photograph of flexible bare pieces seen in perspective. The obliques read darker and higher in contrast than the photographs (Black p50 56.6 / 43.9, Crimson 60.2 / 55.2, photo / model): their key light and sheen are brighter than this studio, and anisotropic fibre shading is not modelled.

Magnet centre: 55.5 mm, the phone's estimate; a camera fitted to the real interior photograph puts the ring at about 57 mm (see Magnet centres).

Mass. Rear 8.50, front 2.01 and bezel 1.13 cm³ give about 15.7 g at 1.35 g/cm³, which leaves about 5.6 g of the published 21.3 g for the unmodelled N52 magnet ring and adhesive: consistent, not a validation.

Checks. No contact with the phone at any opening from 0 to 180° in 15° steps (29,009 phone vertices within 1 mm tested).

Limits. No real photograph shows the assembled case on a phone. The bezel's height comes from photographs of the bare pieces. The rear mic pinhole and edge breaks on the cut edges are not modelled, and the speaker windows' height is unverified. The obliques cannot be matched in tone under this studio.

Nomad Mag Leather Back

A back-only plate in Black, Rustic Brown or Saddle Horween leather. Nomad's FAQ says it attaches to the back of the Duo only, by design: there are no walls, lip, hinge cover or front piece, so the frame, controls, hinge and cover display stay bare. Nomad describes the construction: Horween leather laminated on an ultra-thin fiberglass body, a microfiber lining, MagSafe magnets and reusable microsuction patches, and a raised matte black polycarbonate ring round the camera. The model is one plate and ring for all three colorways (nomad-leather-back, coverages ["rear"], no front root).

Published: 2.2 mm thick on the Duo product page; weight not published.

Thickness: 2.2 or 2.05 mm. Nomad's generic Magnetic Leather Back help article says 2.05 mm. Nomad's side-profile video reads 2.7-3.1 mm from glass to leather face, but on a CGI phone about 1 mm deeper than Apple's, so it does not measure the plate; the detached plate seen edge-on in the same video reads about 2.3 mm. The model uses the Duo page's 2.2 mm (lining Y 5.53, leather face 7.73, accessory contact 7.76 mm). At 2.05 mm every accessory would seat 0.15 mm closer to the phone.

Outline and notch (photo estimate). Measured on Nomad's 3840 px straight-back renders, registered to Apple's two lens centres at 21.21 px/mm (the flash then lands within 0.1 mm):

Camera ring (photo estimate and reconstruction). Matte black polycarbonate wrapping Apple's plateau with a 0.3 mm gap at its 56.4 × 21.4 mm opening (the photographed lip gaps are 0.1-0.45 mm). Its crest is at Y 11.95 mm, 0.72 mm above the lens covers, from the side-profile video (about 6.4 mm above the back glass at about 7.5 px/mm, ±0.5 mm; the video's crest reads 0.67 mm above the lens top). The section (a 0.45 mm inner round, a 1.3 mm crest, a 60° outer wall, a 2.5 mm fillet and a flange 0.3 mm proud of the leather) is reconstructed from the straight-back shading, the video and the banner; the video shows a stepped top where the model has a smooth ramp. The underside follows Apple's glass ramp 0.08 mm clear (seat 8.37 mm). The finish is bead-blasted matte at roughness 0.82 (its fine speckle is not modelled); at 0.5 the first build's ring read too glossy and light.

Leather (calibration). Each colorway's day 1 albedo is fitted so the matched straight backs reproduce Nomad's new renders under this studio, with roughness about 0.42-0.45. The grain is procedural and shared: one tiled 0.3 mm crinkle (a band-limited field stretched along the plate with fine broken creases), its strength set per colorway (normal scale Black 1.05, Rustic Brown 1.25, Saddle 0.53). In a 13 mm centre crop of the matched backs the rendered luminance period is 0.30 mm on all three (photos 0.29-0.31 mm), and the relative contrast at 0.5-3 and 3-8 cycles/mm is Black 0.38 / 0.45 (photo 0.37 / 0.44), Rustic Brown 0.33 / 0.40 (0.31 / 0.35) and Saddle 0.061 / 0.076 (0.063 / 0.069). The first build's 0.5 mm pebbles were coarser and stronger than the renders; the review replaced them. Microsuction pads, the interior deboss and the magnet ring are not modelled; they are never visible while attached.

Patina

Nomad Mag Leather Back is the only design with wear (see WORKFLOW.md for the data contract).

Source. For each colorway Nomad publishes a new straight back (_C_PHONE) and an "After 100 Days" one (_D_PHONE), pixel-aligned at 3840 px, plus Day 1 and Day 100 slider crops. The black ring, the phone's camera and the background match between each pair to about 0.6 % RMSE, so only the leather layer changes: the aged images are marketing composites showing Nomad's representative look, not a measured progression, and no day between 1 and 100 is shown.

Method.

Results (photo / model). In the six matched straight backs, new at day 1 and aged at day 100, the leather's mean linear color over X -30..30, Z 15..78 mm is within 0.2 % of the photographs (Saddle within 2.5 %). Measured in sRGB on the same Leather region, the means read:

Colorway Day 1 Day 100
Black 37.1 / 41.1 31.9 / 35.7
Rustic Brown 53.7 / 57.4 48.3 / 52.0
Saddle 107.2 / 107.1 100.0 / 100.9

The model's sRGB means read a few levels high at equal linear means because its tones spread less: Nomad lights the plate from the top with a strong gradient (Black day 1 p5 19 / 33, p95 75 / 58) that this studio does not reproduce. At day 30 the matched regions fall between day 1 and day 100; the accuracy review measured 0.48-0.54 of the day 100 luminance change against a mix of 0.479.

Matched views (render IoU): the six straight backs 0.9965-0.9968; the Black and Rustic Brown obliques 0.992 and 0.993. The obliques read about 20 sRGB levels darker than Nomad's brighter top-lit renders (p50 49.2 / 38.0 and 66.3 / 53.7); changing roughness closed only a few levels of that, so their light is left unmodelled.

Magnet centre: 55.5 mm, the phone's estimate; Nomad's own images conflict (see Magnet centres).

Checks. No contact with the phone at openings 0, 45, 90, 150 and 180°.

Limits. Black and Rustic Brown at day 100 lack some of the burnished gloss and full scratch contrast of Nomad's renders (a glossier day 100 was tried and not adopted). The grain is matched to the renders, not measured on leather. The ring section is a reconstruction. The thickness (2.2 or 2.05 mm) and the magnet centre are unresolved. Nomad shows no Saddle oblique, and no real photograph of the Duo plate exists yet (preorder, ships by December 28).

ohsnap Snap Grip and Grip Stand

Published: Snap Grip Ø58.0 × 3.0 mm; Grip Stand 3.4 mm thick (ohsnap) and 59.4 × 85.1 mm (retail listings, converted from 2.340 × 3.350 in); a 350° hinge. The model's closed extents from the magnet centre are 29.0 / 29.0 / 29.0 mm (Snap Grip) and 29.7 top / 55.4 bottom / 29.7 half-width mm (Grip Stand).

Everything else is a photo estimate measured on the official renders through perspective cameras fitted to their silhouettes (ref_snap_black, ref_snap_silver, ref_stand_black, ref_stand_silver; render IoU 0.987-0.997), plus the profile photos and the near-frontal real photo references/incoming/ohsnap/silverlifestyle.jpg. Expect about ±0.3 mm on widths and ±0.15 mm on heights. Values are radius r and height y above the seat, in mm.

Feature Snap Grip Grip Stand
Cap Ø38.0, top 2.80 (0.2 below the trim; tabs end at 3.0) Ø38.0, top 2.92 (0.48 below the metal)
Black bezel Falls 12° from the groove at r 21.85 (y about 2.6) into a channel beside the cap Same, groove y about 2.4
Inner chamfer r 22.0-23.4 r 21.9-23.2
Flat metal face r 23.4-27.35 at 3.0 r 23.2-27.4 at 3.4, fixed on the phone
Split / swinging ring - split r 27.4-27.85; ring r 27.85-29.7
Outer edge Round-over r 27.35-29.0 0.8 mm radial round, about 1.5 mm tall in profile
Release tabs 4.0 × 1.2 mm stadiums at r 17.4, 0.2 high, pillowed, in slots 0.1 larger Same
Arm - 19.0 mm straight arm with a tangent-continuous neck (widths 34.5 / 29.0 / 23.7 / 21.2 / 19.7 mm at 24 / 26 / 28 / 30 / 32 mm below centre)
Tongue - 8.9 mm fixed tongue in a 9.4 mm slot, round top 33.4 mm below centre
Hinge - Axis 1.7 mm from the foot at mid-thickness; Ø1.1 mm pin

Construction. On the Grip Stand only the narrow outer ring and its forked arm swing. The wide face, a thin neck plate and the full-height tongue stay on the phone. The arm and tongue form one 3.4 mm slab ending in a full-round barrel. The earlier 17 mm arm came from an affine-rectified measurement; both official renders show it about 2 mm wider, and the real photo's arm/ring ratio (0.35) agrees. The swinging ring clears the fixed part through 350°; mounted on a case, the fork meets the case just past 180°, so the viewer stops the ring at 180° unless the tail points sideways.

Flip-out cap (reconstruction). From SNAP_5_OPEN, GripModes, frame_17 and grip5exploded: the cap lifts on two forked steel legs (3 mm wide, 0.6 mm thick, 13 mm between hinges, 0-90°) that fold flat in a 0.9 mm cavity on a slotted dish plate. Finger grip keeps the cap parallel; the kickstand tilts it out about the hinge under the top tab (0-75°). Leg length, pivots, plate and brackets are visual estimates; the strut, locking detents and embossed logo are not modelled.

Materials (calibration).

Matched results (final 2048 px renders, photo / model): Snap Grip black cap face 54.2 / 57.9 (in tolerance; its bezel band measured 17 / 18 at 800 px); Snap Grip Silver p50 224.8 / 225.0 but p5 158.0 / 141.9 (out by about 4); Grip Stand render IoU 0.993 (black) and 0.987 (Silver). The Grip Stand views rest the product on its foot, which turns the cap toward the overhead softbox: the black stand's median reads 63.7 / 88.8 (its cap about 65 / 97 in the owner's patch) and the white cap clips at 206.8 / 252.4. Those are studio-orientation effects, not material errors.

MOFT Snap Fold

The model is the MOFT Snap Fold for iPhone Duo (MB004D) in Jet Black and Misty Cove, which share one geometry. MOFT publishes no dimensions; every value is reconstructed from MOFT's product images.

Envelope (photo estimate). 67.0 × 88.9 × 7.5 mm, about ±0.7 mm in width and height.

Outline and construction (photo-based reconstruction). In a straight orthographic view the silhouette is within about 0.25 mm of moft-11's at 0.3-7 mm from every corner.

Articulation. Card access opens the cover 0-180°: the flat cover rides on its seam while shape keys unroll the spine at constant length; at 180° the cover lies on the phone as in moft-20. This is a kinematic illustration, not a leather simulation. The landscape kickstand (cover 70°, phone leaned back 40.3°) is a posed illustration used by render_wallet_revision.py, the ref_wallet_kickstand matched view and the viewer's opt-in "Landscape stand" switch, which is tagged "Illustration". It is unverified: at every cover angle from 40 to 80° and phone opening from 160 to 180°, MB004D_370's phone silhouette and lens positions cannot be fitted together, and the cover top sits 5-7 mm lower than photographed. The portrait origami stand, stability and loads are not simulated.

Surface and colour (calibration).

Studio and colour comparisons

All renders use one catalog studio defined in scripts/lighting_spec.json: an authored HDR environment (overhead softbox, key, rim strips, two small bounce cards, black flags on the camera and screen horizons, near-black walls and floor), the Standard view at 0 EV and a #ececec backdrop. Under it a flat-lit diffuse albedo facing the camera renders near its own sRGB value (E/π 0.9 on the rear). The studio was fitted to the Latercase Coffee back as a constant-albedo form test (top edge, under-shoulder and plateau ratios within tolerance).

Photo-matched views place the model in a perspective camera fitted to each manufacturer photograph's silhouette. Material agreement is then measured as luma percentiles and region means. These are tone matches against marketing images, many of them CG with their own lighting and grading, under one shared studio. They are not colorimetry. One environment cannot match every manufacturer at once: Apple's high-key frames and the Latercase dark rail mirror the same horizon band, for example. REVIEW.md lists the final values and every remaining out-of-tolerance item.

Remaining uncertainty