score-o.json 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. {
  2. "schemaVersion": "1",
  3. "version": "2026.03.25",
  4. "app": {
  5. "id": "sample-score-o-001",
  6. "title": "积分赛示例",
  7. "locale": "zh-CN"
  8. },
  9. "map": {
  10. "tiles": "../map/lxcb-001/tiles/",
  11. "mapmeta": "../map/lxcb-001/tiles/meta.json",
  12. "declination": 6.91,
  13. "initialView": {
  14. "zoom": 17
  15. }
  16. },
  17. "playfield": {
  18. "kind": "control-set",
  19. "source": {
  20. "type": "kml",
  21. "url": "../kml/lxcb-001/10/c01.kml"
  22. },
  23. "CPRadius": 6,
  24. "controlOverrides": {
  25. "start-1": {
  26. "template": "focus",
  27. "title": "比赛开始",
  28. "body": "从这里触发,先熟悉地图方向。原生内容卡会先弹出,再可进入 H5 详情。",
  29. "autoPopup": true,
  30. "once": true,
  31. "priority": 1,
  32. "contentExperience": {
  33. "type": "h5",
  34. "url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
  35. "bridge": "content-v1",
  36. "presentation": "dialog"
  37. },
  38. "clickTitle": "积分赛起点",
  39. "clickBody": "点击起点可查看自由打点规则与终点说明。",
  40. "clickExperience": {
  41. "type": "h5",
  42. "url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
  43. "bridge": "content-v1",
  44. "presentation": "dialog"
  45. }
  46. },
  47. "control-1": {
  48. "template": "minimal",
  49. "score": 10,
  50. "clickTitle": "1号点",
  51. "clickBody": "这是一个基础积分点,适合作为开局热身。",
  52. "clickExperience": {
  53. "type": "h5",
  54. "url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
  55. "bridge": "content-v1",
  56. "presentation": "dialog"
  57. }
  58. },
  59. "control-2": {
  60. "template": "minimal",
  61. "score": 20,
  62. "title": "2号点",
  63. "body": "这个点配置成手动查看。点击“查看内容”后先出原生卡,再可进入 H5。",
  64. "autoPopup": false,
  65. "once": true,
  66. "priority": 1,
  67. "ctas": [
  68. {
  69. "type": "quiz",
  70. "label": "答题加分",
  71. "bonusScore": 8,
  72. "countdownSeconds": 12,
  73. "minValue": 20,
  74. "maxValue": 199,
  75. "allowSubtraction": true
  76. }
  77. ],
  78. "clickTitle": "2号点",
  79. "clickBody": "这个点配置成点击查看,经过时不会自动弹。",
  80. "clickExperience": {
  81. "type": "h5",
  82. "url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
  83. "bridge": "content-v1",
  84. "presentation": "dialog"
  85. }
  86. },
  87. "control-3": {
  88. "template": "story",
  89. "score": 30,
  90. "title": "湖边步道",
  91. "body": "这里适合短暂停留观察周边地形。自动弹原生内容卡,并提供 H5 详情入口。",
  92. "autoPopup": true,
  93. "once": false,
  94. "priority": 1,
  95. "ctas": [
  96. {
  97. "type": "photo",
  98. "label": "拍照打卡"
  99. },
  100. {
  101. "type": "detail",
  102. "label": "查看详情"
  103. }
  104. ],
  105. "clickTitle": "湖边步道",
  106. "clickBody": "点击可查看这一区域的补充说明。",
  107. "contentExperience": {
  108. "type": "h5",
  109. "url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
  110. "bridge": "content-v1",
  111. "presentation": "dialog"
  112. }
  113. },
  114. "control-4": {
  115. "score": 40
  116. },
  117. "control-5": {
  118. "score": 50
  119. },
  120. "control-6": {
  121. "template": "focus",
  122. "score": 60,
  123. "pointStyle": "pulse-core",
  124. "pointColorHex": "#ff4d6d",
  125. "pointSizeScale": 1.18,
  126. "pointAccentRingScale": 1.36,
  127. "pointGlowStrength": 1,
  128. "pointLabelScale": 1.12,
  129. "pointLabelColorHex": "#fff9fb",
  130. "title": "悬崖边",
  131. "body": "这里很危险啊。",
  132. "autoPopup": true,
  133. "once": true,
  134. "priority": 2,
  135. "clickTitle": "悬崖边",
  136. "clickBody": "点击查看地形风险提示。"
  137. },
  138. "control-7": {
  139. "score": 70
  140. },
  141. "control-8": {
  142. "score": 80
  143. },
  144. "finish-1": {
  145. "template": "focus",
  146. "title": "比赛结束",
  147. "body": "恭喜完成本次路线,准备查看结果。这里也保留 H5 详情入口用于测试。",
  148. "autoPopup": true,
  149. "once": true,
  150. "priority": 2,
  151. "ctas": [
  152. {
  153. "type": "audio",
  154. "label": "语音留言"
  155. }
  156. ],
  157. "clickTitle": "终点说明",
  158. "clickBody": "点击终点可再次查看结束与结算提示。",
  159. "clickExperience": {
  160. "type": "h5",
  161. "url": "https://oss-mbh5.colormaprun.com/gotomars/h5/content-h5-test-template.html",
  162. "bridge": "content-v1",
  163. "presentation": "dialog"
  164. }
  165. }
  166. },
  167. "metadata": {
  168. "title": "积分赛控制点示例(2 起终点 + 8 积分点)",
  169. "code": "score-o-001"
  170. }
  171. },
  172. "game": {
  173. "mode": "score-o",
  174. "rulesVersion": "1",
  175. "session": {
  176. "startManually": true,
  177. "requiresStartPunch": true,
  178. "requiresFinishPunch": false,
  179. "autoFinishOnLastControl": false,
  180. "maxDurationSec": 5400
  181. },
  182. "punch": {
  183. "policy": "enter-confirm",
  184. "radiusMeters": 5,
  185. "requiresFocusSelection": false
  186. },
  187. "scoring": {
  188. "type": "score",
  189. "defaultControlScore": 10
  190. },
  191. "guidance": {
  192. "showLegs": false,
  193. "legAnimation": false,
  194. "allowFocusSelection": true
  195. },
  196. "presentation": {
  197. "track": {
  198. "mode": "tail",
  199. "style": "neon",
  200. "tailLength": "long",
  201. "colorPreset": "cyan",
  202. "tailMeters": 60,
  203. "tailMaxSeconds": 30,
  204. "fadeOutWhenStill": true,
  205. "stillSpeedKmh": 0.6,
  206. "fadeOutDurationMs": 3000,
  207. "colorHex": "#149a86",
  208. "headColorHex": "#62fff0",
  209. "widthPx": 3.8,
  210. "headWidthPx": 6.8,
  211. "glowStrength": 0.32
  212. },
  213. "gpsMarker": {
  214. "visible": true,
  215. "style": "beacon",
  216. "size": "medium",
  217. "colorPreset": "cyan",
  218. "showHeadingIndicator": true,
  219. "logoUrl": "https://oss-mbh5.colormaprun.com/gotomars/test/me.jpg",
  220. "logoMode": "center-badge"
  221. },
  222. "scoreO": {
  223. "controls": {
  224. "default": {
  225. "style": "badge",
  226. "colorHex": "#cc006b",
  227. "sizeScale": 0.96,
  228. "accentRingScale": 1.1,
  229. "labelScale": 1.02
  230. },
  231. "focused": {
  232. "style": "pulse-core",
  233. "colorHex": "#fff0fa",
  234. "sizeScale": 1.12,
  235. "accentRingScale": 1.36,
  236. "glowStrength": 1,
  237. "labelScale": 1.14,
  238. "labelColorHex": "#fffafc"
  239. },
  240. "collected": {
  241. "style": "solid-dot",
  242. "colorHex": "#d6dae0",
  243. "sizeScale": 0.82,
  244. "labelScale": 0.92
  245. },
  246. "start": {
  247. "style": "double-ring",
  248. "colorHex": "#2f80ed",
  249. "sizeScale": 1.02,
  250. "accentRingScale": 1.24,
  251. "labelScale": 1.02
  252. },
  253. "finish": {
  254. "style": "double-ring",
  255. "colorHex": "#f2994a",
  256. "sizeScale": 1.06,
  257. "accentRingScale": 1.28,
  258. "glowStrength": 0.26,
  259. "labelScale": 1.04,
  260. "labelColorHex": "#fff4de"
  261. },
  262. "scoreBands": [
  263. {
  264. "min": 0,
  265. "max": 19,
  266. "style": "badge",
  267. "colorHex": "#56ccf2",
  268. "sizeScale": 0.88,
  269. "accentRingScale": 1.06,
  270. "labelScale": 0.92
  271. },
  272. {
  273. "min": 20,
  274. "max": 49,
  275. "style": "badge",
  276. "colorHex": "#f2c94c",
  277. "sizeScale": 1.02,
  278. "accentRingScale": 1.18,
  279. "labelScale": 1.02
  280. },
  281. {
  282. "min": 50,
  283. "max": 999999,
  284. "style": "badge",
  285. "colorHex": "#eb5757",
  286. "sizeScale": 1.14,
  287. "accentRingScale": 1.32,
  288. "glowStrength": 0.72,
  289. "labelScale": 1.1
  290. }
  291. ]
  292. }
  293. }
  294. },
  295. "visibility": {
  296. "revealFullPlayfieldAfterStartPunch": true
  297. },
  298. "finish": {
  299. "finishControlAlwaysSelectable": true
  300. },
  301. "telemetry": {
  302. "heartRate": {
  303. "age": 30,
  304. "restingHeartRateBpm": 62,
  305. "userWeightKg": 65
  306. }
  307. },
  308. "feedback": {
  309. "audioProfile": "default",
  310. "hapticsProfile": "default",
  311. "uiEffectsProfile": "default"
  312. }
  313. },
  314. "resources": {
  315. "audioProfile": "default",
  316. "contentProfile": "default",
  317. "themeProfile": "default-race"
  318. },
  319. "debug": {
  320. "allowModeSwitch": false,
  321. "allowMockInput": false,
  322. "allowSimulator": false
  323. }
  324. }