ReviewOS

also looking at this

stacks/wildloop

feat: native trail maps and complete native mobile screens

#1017
Draft chris wants to merge codex/trail-experience into main
60 files +2505 -823

Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.

.maestro/native-trail/maps.yamlmodified+19-0
Changes to .maestro/native-trail/maps.yaml
@@ -71,6 +71,10 @@ name: Native Android trail maps and sticky save
7171- takeScreenshot: android-native-inline-map-tilted
7272- tapOn: '^North$'
7373- takeScreenshot: android-native-inline-map-north
74- tapOn:
75 id: trail-map-3d
76- assertVisible: '^3D$'
77- takeScreenshot: android-native-inline-map-flat
7478- scrollUntilVisible:
7579 element:
7680 id: trail-map-layer
@@ -80,10 +84,21 @@ name: Native Android trail maps and sticky save
8084- tapOn: '^Satellite$'
8185- assertVisible: 'Map layer, Satellite'
8286- takeScreenshot: android-native-inline-map-satellite
87- tapOn:
88 id: trail-map-layer
89- tapOn: '^Hybrid$'
90- assertVisible: 'Map layer, Hybrid'
91- takeScreenshot: android-native-inline-map-hybrid
92- tapOn:
93 id: trail-map-layer
94- tapOn: '^Street$'
95- assertVisible: 'Map layer, Street'
96- takeScreenshot: android-native-inline-map-street
8397- tapOn:
8498 id: trail-map-layer
8599- tapOn: '^Outdoors$'
86100- assertVisible: 'Map layer, Outdoors'
101- takeScreenshot: android-native-inline-map-outdoors
87102- scrollUntilVisible:
88103 element:
89104 id: trail-map-fullscreen
@@ -113,6 +128,10 @@ name: Native Android trail maps and sticky save
113128- tapOn:
114129 id: map-north
115130- takeScreenshot: android-native-fullscreen-map-north
131- tapOn:
132 id: map-3d
133- assertVisible: '^3D$'
134- takeScreenshot: android-native-fullscreen-map-flat
116135- tapOn:
117136 id: map-profile-toggle
118137- assertVisible: 'Toggle elevation profile, Elevation profile collapsed'
tests/native/trail-journey.tsmodified+12-3
Changes to tests/native/trail-journey.ts
@@ -62,14 +62,20 @@ const maps:SimulatorStep[] = [
6262 {command:'shot',name:'native-inline-map-tilted'},
6363 {command:'tapexact',text:'North'},
6464 {command:'shot',name:'native-inline-map-north'},
65 {command:'tapid',text:'trail-map-3d'},
66 {command:'expectexact',text:'3D',seconds:10},
67 {command:'shot',name:'native-inline-map-flat'},
6568 {command:'scrollto',text:'Map layer'},
6669 {command:'tapid',text:'trail-map-layer'},
6770 {command:'tapexact',text:'Satellite'},
6871 {command:'expect',text:'Map layer: Satellite',seconds:10},
6972 {command:'shot',name:'native-inline-satellite'},
70 {command:'tapid',text:'trail-map-layer'},
71 {command:'tapexact',text:'Outdoors'},
72 {command:'expect',text:'Map layer: Outdoors',seconds:10},
73 ...['Hybrid','Street','Outdoors'].flatMap((layer):SimulatorStep[]=>[
74 {command:'tapid',text:'trail-map-layer'},
75 {command:'tapexact',text:layer},
76 {command:'expect',text:`Map layer: ${layer}`,seconds:10},
77 {command:'shot',name:`native-inline-layer-${layer.toLowerCase()}`},
78 ]),
7379 {command:'scrollto',text:'Expand map'},
7480 {command:'tapid',text:'trail-map-fullscreen'},
7581 {command:'expectid',text:'trail-full-map',seconds:10},
@@ -90,6 +96,9 @@ const maps:SimulatorStep[] = [
9096 {command:'shot',name:'native-fullscreen-map-tilted'},
9197 {command:'tapid',text:'map-north'},
9298 {command:'shot',name:'native-fullscreen-map-north'},
99 {command:'tapid',text:'map-3d'},
100 {command:'expectexact',text:'3D',seconds:10},
101 {command:'shot',name:'native-fullscreen-map-flat'},
93102 {command:'tapid',text:'map-profile-toggle'},
94103 {command:'expect',text:'Elevation profile collapsed',seconds:10},
95104 {command:'shot',name:'native-profile-collapsed'},