docs: activate M49 iOS device validation

This commit is contained in:
2026-09-06 08:48:03 +08:00
parent 1c2ed4a4a9
commit c6cd45bb09
3 changed files with 91 additions and 6 deletions
+6 -2
View File
@@ -10,13 +10,17 @@ Complete-game Goal, hand-drawn repair boundary, ordered implementation plan, roa
## Repository Reset And Page Production Baseline
> Status: `COMPLETE / M48_UI_LAYER_CLEANUP`
> Active step: none. M48-D (verification and owner handoff) closes at source
> Status: `IN_PROGRESS / M49_IOS_DEVICE_VALIDATION`
> Active step: M49-A (export contract and preflight). M48-D (verification and owner handoff) closes at source
> `0eec3ed`. M48-A closes at source
> `4be06de`; M48-B closes at source `4782c13`; M48-C closes at source
> `e920200`. M48 is complete at its written stopping point; its visual audit
> is `docs/runtime/M48_UI_LAYER_CLEANUP_VISUAL_AUDIT.md`. The bounded repair of
> stacked UI layers and weak button affordances is complete.
> M49 is the owner-requested local iOS device validation path; its plan is
> `docs/plans/M49_IOS_DEVICE_VALIDATION.md`. Xcode 26.1.1 and a valid local
> Apple Development identity are present; export settings await owner
> confirmation of Team ID and Bundle ID.
> M47 remains complete: M47-A closes at source `1d3a526`;
> M47-B closes at source
> `57fbd67`; M47-C closes at source `f911095`; M47-D closes at source
+77
View File
@@ -0,0 +1,77 @@
# M49 iOS Device Validation
## Status
- Plan: `M49_IOS_DEVICE_VALIDATION`
- Status: `IN_PROGRESS`
- Activated: 2026-09-06
- Baseline: `1c2ed4a` (`M48_UI_LAYER_CLEANUP` closure)
- Owner request: make the current playable MVP installable on a real iPhone for visual and touch validation.
## Objective
Prepare a Godot iOS export path and an Xcode project that can be installed on
the owner's device. This plan covers local debug/device validation only; it
does not authorize TestFlight, App Store submission or release packaging.
## Player-visible stopping point
- The project has an iOS export preset with a unique owner-approved Bundle ID,
Apple Team ID and landscape orientation.
- Godot exports an Xcode project without changing gameplay, UI, Save/Receipt,
content or static-master assets.
- Xcode can build and install a debug app on the owner's connected iPhone after
the owner trusts the developer certificate.
- A short device checklist covers touch targets, safe area, rotation, text
scale and the Market → Readiness → Battle Result loop.
## Required owner inputs
- Apple Developer Team ID (10-character value).
- Desired unique Bundle ID, for example `com.yourdomain.aetherboundguild`.
- iPhone connected to the Mac with Developer Mode enabled and the owner signed
into Xcode, if automatic signing is selected.
## Ordered steps
### M49-A — Export contract and preflight (`IN_PROGRESS`)
- Freeze the local-device-only scope and required owner inputs.
- Confirm macOS/Xcode/Godot prerequisites and absence of an existing iOS preset.
### M49-B — iOS export preset
- Add the owner-provided Team ID, Bundle ID and landscape settings to the Godot
iOS preset.
- Keep generated Xcode output outside Git.
### M49-C — Local Xcode device install
- Export the Xcode project, open it in Xcode and build to the connected device.
- Resolve only signing/device setup issues; do not upload or distribute.
### M49-D — Device visual/touch handoff
- Run the first-cycle checklist on device and record viewport/safe-area issues.
- Update the checkpoint and hand off the repeatable install command.
## Acceptance checks
- iOS preset is present and has non-placeholder Team ID/Bundle ID values.
- Xcode debug build installs and launches on the owner's device.
- Landscape orientation, touch targets and the three representative UI pages
are verified on device.
- No TestFlight/App Store or release-ready claim is made.
## Frozen scope
- No gameplay, economy, content, routing, Save/Receipt or art changes.
- No TestFlight upload, App Store record creation or distribution signing.
- Keep generated Xcode projects, Archives and provisioning files outside Git.
## Commit boundaries
- `M49-A`: plan/checkpoint/ledger activation.
- `M49-B`: iOS export preset.
- `M49-C`: local Xcode install evidence.
- `M49-D`: device handoff.