Build Status
Implemented
- Native iOS/iPadOS application target
- SwiftUI HUD and completion overlay
- Non-AR RealityKit 3D scene with responsive portrait/landscape framing
- Procedural metallic mechanism, frame, segmented axis ring, and claw route endpoints
- Eight-piece Level 10 definition with an authored partial move and a distinct fully blocked move
- Selection, path preview, blocking, partial moves, extraction, and full deterministic disassembly
- Atomic X/Z rerouting
- Deep-layer cycling and occluder ghosting
- Orbit, zoom, undo, restart, hints, and haptics
- Reduced Motion fallback and persisted haptic opt-out
- VoiceOver labels, hints, and custom move/orbit/zoom/reset actions
- XCTest target with twelve rule tests, including ordered extraction nodes and a hint-and-move loop that finishes the demo core
- Shared Xcode scheme and asset catalog
Simulator verification — 2026-08-22
Environment: Xcode 26.6 (build 17F113), iOS 18.5, iPhone 16 Pro Max and iPad Pro 11-inch (M4) simulators.
node scripts/validate-project.mjspassed: 26 required artifacts and eight app Swift files.git diff --checkpassed.xcodebuild testbuilt the shared FerroAxis scheme and passed all twelveGameSessionTests.- The exact tested app installed and launched as
com.waterpk.ferroaxison both simulators. - The recorded UI pass exercised selection, partial movement, blocked immutability, extraction, X ↔ Z rerouting, depth cycling, undo, restart, hint, orbit, zoom, reset, and haptic opt-out/restore.
- Reduced Motion was enabled at the simulator accessibility preference, surfaced as Reduced Motion On, and completed a partial move through the non-animated renderer path.
- Portrait and landscape captures were compared with
Docs/VISUAL-TARGET.mdandDesignReferences/01-core-gameplay.png. The complete mechanism and amber ring remain in frame, cyan stays on the selected route, red is limited to contact feedback, and the HUD remains clear. - Evidence, including the 71-second screen recording, is indexed in
Docs/SIMULATOR-VERIFICATION-2026-08-22.md.
Open verification gates
- Run a signed build on a physical iPhone and profile RealityKit frame pacing, GPU load, thermals, and haptic feel.
- Complete a hands-on VoiceOver reading-order/rotor review with a real assistive-technology user.
- Install the TestFlight build on a physical iPhone after processing finishes and confirm the tester description is visible.
Production backlog
- Multiple data-driven levels and progression
- Multi-cell piece footprints and formal level validation
- Audio system and settings
- Save/resume and optional iCloud sync
- App lifecycle analytics and privacy copy
- Store metadata, screenshots, signing, and archive