M.010.08 — Mobile Spatial Authoring (Gyro + Touch) Execution Spec
Date: 2026-04-04
Owner: Copilot execution lane
Status: Ready for implementation
Goal
Allow creators to build and edit .holo scenes directly from a phone using motion (gyro/IMU) for camera pose and touch gestures for object manipulation.
Product behavior
- User opens Mobile Authoring mode.
- Device motion controls camera/look direction.
- Touch gestures place/select/move/rotate/scale scene objects.
- Authoring operations update scene graph in real time.
- User exports or syncs resulting
.holocomposition.
Scope
In scope (v1)
- gyro/IMU camera orientation pipeline
- touch gesture recognizers for object transforms
- transform gizmo-lite mobile UI
- edit history (undo/redo) for core operations
- save/export to
.holo
Out of scope (v1)
- full desktop parity for advanced editors
- multi-user simultaneous authoring conflicts
- scene scripting IDE features on mobile
Architecture
1) Sensor input layer
ts
interface MotionPose {
timestampMs: number;
orientationQuat: [number, number, number, number];
stabilityScore: number; // 0..1
}- smooth IMU pose with jitter filtering
- recenter support for drift correction
2) Gesture layer
ts
type AuthoringGesture =
| { type: 'tap'; x: number; y: number }
| { type: 'pan'; dx: number; dy: number }
| { type: 'pinch'; scale: number }
| { type: 'twist'; radians: number };- map gestures to selected object transform intents
- enforce transform constraints and snapping options
3) Scene edit pipeline
- command-based mutations (
add,move,rotate,scale,delete) - append to undo/redo stack
- emit scene graph delta for preview and persistence
4) Export path
- serialize current composition into valid
.holo - include viewport/camera metadata when useful for reopening session
Proposed code touch points
packages/studio/(mobile mode)- authoring UI shell + gesture controls
packages/runtime/- motion pose adapter and filtered camera controller
packages/core/- command schema +
.holoserialization integration
- command schema +
Failure taxonomy
MOTION_PERMISSION_DENIEDMOTION_SIGNAL_UNSTABLEGESTURE_CONFLICTSCENE_MUTATION_REJECTEDEXPORT_SERIALIZATION_FAILED
Acceptance criteria
- User can create and transform objects in-scene using mobile controls.
- Motion-driven camera remains stable with recenter option.
- Undo/redo works for core transform operations.
- Exported
.holoreopens without structural errors. - Permission/failure states provide clear recovery guidance.
Test plan
Unit
- gesture-to-command mapping correctness
- IMU smoothing and recenter logic
- undo/redo stack behavior
Integration
- motion + touch authoring loop
- selection + transform flow
- export + reopen validation
Device validation
- iOS + Android mobile sessions
- varied lighting/motion scenarios
- long editing session stability
Shipping slices
- Slice A: motion camera + basic object placement
- Slice B: transform gestures + undo/redo
- Slice C: export hardening + UX diagnostics + onboarding tips
Metrics
mobile_authoring_session_start_totalmobile_authoring_command_total{type}mobile_authoring_undo_redo_totalmobile_authoring_export_success_totalmobile_authoring_motion_recenter_total
Definition of done
- Mobile gyro+touch authoring workflow is production-usable for core
.holoscene creation and editing.