TESSRA · PROJECT HUB · REV 2026.06
← Hub
06

Run

Local commands to launch each track. Web needs http server (CDN React + Babel). Mobile runs via Expo + Xcode Simulator.
Tessra iOS — start here

Run in Simulator immediately

Double-click run-ios.command (full build) or run-metro.command (next sessions). On iCloud, scripts sync to /tmp/tessra-mobile automatically.

./run-ios.command

Already built — Metro only:

./run-metro.command

RUN-IOS.md · log: /tmp/tessra-ios-build.log

PROJECT HUB · :8877

Open landing, hub, and web builds

Double-click serve.command or run manually. Port 8877 — opens public landing at /; dev hub at /hub.html.

python3 -m http.server 8877
open http://127.0.0.1:8877/
open http://127.0.0.1:8877/hub.html
open http://127.0.0.1:8777/index.html
open http://127.0.0.1:8877/penrose/versions/v3.3-stable/Penrose%20Mosaic.html
open http://127.0.0.1:8877/penrose/versions/v3-daily-levels/Penrose%20Mosaic.html
open http://127.0.0.1:8877/penrose/versions/v3.1-hidden-order/Penrose%20Mosaic.html
open http://127.0.0.1:8877/penrose/versions/v3.2-soft-atlas/Penrose%20Mosaic.html
open http://127.0.0.1:8877/levels-etalon.html

Level etalon must be served from the repo root (same as serve.command), not penrose/versions/.

TESSRA MOBILE · iOS

Web preview, simulator, EAS

npm run ios builds native shell and opens Simulator. Use Metro (expo start --ios) when you only need hot reload.

cd penrose-mobile && npm run ios
cd penrose-mobile && npm run web -- --localhost
cd penrose-mobile && eas build --platform ios --profile production
cd penrose-mobile && npm run build:apk