mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-09 20:29:58 +02:00
feat(studio): iPad screenshot support + cleanup
Generalize the studio into a Platform/DeviceModel abstraction so it renders both iPhone and iPad sets from one code path. - Platform: per-target canvas (iPad 2064x2752), 3D model, capture sim, and output subfolder (iPad -> <Language>/iPad/). PLATFORM=iphone|ipad. - DeviceModel: screen material, orientation (yaw) fix, optional glass mesh, graphite recolor — the per-model quirks the renderer needs. - SceneKit renderer: auto-generates planar UVs for screen meshes that ship without them; textures every material matching the screen name; zFar scaled for large-unit models; body recolor skips the real screen material. - iPad uses a CC BY 4.0 model (commercial-safe) with real bezel geometry; first-pass iPad layouts for all four screens. capture.sh is PLATFORM-aware. Remove now-dead code: the 2D mockup fallback (ClipDeviceRenderer, MockupGeometry), the orbit ring and binary-tunnel (superseded by the route arc and the encryption-flow), unused DeviceModel UV/inset workarounds; refresh the README and .gitignore to match.
This commit is contained in:
@@ -15,10 +15,16 @@ trap 'echo "capture.sh: failed (rc=$?) at line $LINENO" >&2' ERR
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
APPLE_DIR="$(cd ../../../apple && pwd)"
|
||||
DEVICE="${SCREENSHOT_DEVICE:-iPhone 17 Pro Max}"
|
||||
BUNDLE_ID="com.vnidrop.app"
|
||||
LOCALES=${LOCALES:-"en fr de es it nl pl pt ru"}
|
||||
|
||||
# PLATFORM=iphone|ipad selects the simulator and the shots subdir (must match main.swift).
|
||||
PLATFORM="${PLATFORM:-iphone}"
|
||||
case "$PLATFORM" in
|
||||
ipad) DEVICE="${SCREENSHOT_DEVICE:-iPad Pro 13-inch (M5)}";;
|
||||
*) DEVICE="${SCREENSHOT_DEVICE:-iPhone 17 Pro Max}";;
|
||||
esac
|
||||
|
||||
# scenario (launch arg value) -> studio screen id (output filename stem).
|
||||
# send-anywhere reuses the share screenshot (see ScreenSpec shotId), so it isn't
|
||||
# captured separately; stay-private uses black screens (no capture).
|
||||
@@ -26,7 +32,7 @@ SCENARIOS="share:share-securely approval:choose-receivers"
|
||||
|
||||
# Screenshots are transient build output, regenerated per run — never committed. They
|
||||
# live under generated/ (git-ignored), not in assets/.
|
||||
SHOTS_DIR="${SHOTS_DIR:-generated/shots}"
|
||||
SHOTS_DIR="${SHOTS_DIR:-generated/shots/$PLATFORM}"
|
||||
|
||||
echo "==> Regenerating project"; (cd "$APPLE_DIR" && xcodegen generate >/dev/null)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user