@overcrow/mcp 0.0.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (489) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +91 -1
  3. package/dist/audit/index.js +103 -0
  4. package/dist/audit/lexer.js +417 -0
  5. package/dist/audit/project.js +200 -0
  6. package/dist/audit/rules.js +661 -0
  7. package/dist/bootstrap/download.js +229 -0
  8. package/dist/bootstrap/install.js +280 -0
  9. package/dist/bootstrap/pin.js +85 -0
  10. package/dist/bootstrap/pin.json +119 -0
  11. package/dist/bootstrap/zip.js +258 -0
  12. package/dist/cli.js +200 -0
  13. package/dist/confine.js +244 -0
  14. package/dist/content/docs/en/cli.md +768 -0
  15. package/dist/content/docs/en/creator-space.md +78 -0
  16. package/dist/content/docs/en/dev-channel.md +130 -0
  17. package/dist/content/docs/en/elements.md +469 -0
  18. package/dist/content/docs/en/forms.md +328 -0
  19. package/dist/content/docs/en/guide.md +252 -0
  20. package/dist/content/docs/en/index.md +85 -0
  21. package/dist/content/docs/en/limits.md +241 -0
  22. package/dist/content/docs/en/logic.md +446 -0
  23. package/dist/content/docs/en/manifest.md +388 -0
  24. package/dist/content/docs/en/mcp.md +165 -0
  25. package/dist/content/docs/en/package.md +131 -0
  26. package/dist/content/docs/en/publish-a-widget.md +94 -0
  27. package/dist/content/docs/en/publish-keys.md +95 -0
  28. package/dist/content/docs/en/publishing.md +167 -0
  29. package/dist/content/docs/en/reference.md +55 -0
  30. package/dist/content/docs/en/result-shapes.md +332 -0
  31. package/dist/content/docs/en/sdk.md +295 -0
  32. package/dist/content/docs/en/security.md +115 -0
  33. package/dist/content/docs/en/service-reference.md +344 -0
  34. package/dist/content/docs/en/services.md +517 -0
  35. package/dist/content/docs/en/style-properties.md +270 -0
  36. package/dist/content/docs/en/style.md +266 -0
  37. package/dist/content/docs/en/testing.md +400 -0
  38. package/dist/content/docs/en/verified-domain.md +46 -0
  39. package/dist/content/docs/en/view.md +338 -0
  40. package/dist/content/docs/en/widget-listing.md +65 -0
  41. package/dist/content/docs/en/widget-review.md +57 -0
  42. package/dist/content/docs/en/widget-statistics.md +134 -0
  43. package/dist/content/docs/en/widgets.md +76 -0
  44. package/dist/content/docs/fr/cli.md +802 -0
  45. package/dist/content/docs/fr/creator-space.md +83 -0
  46. package/dist/content/docs/fr/dev-channel.md +140 -0
  47. package/dist/content/docs/fr/elements.md +475 -0
  48. package/dist/content/docs/fr/forms.md +341 -0
  49. package/dist/content/docs/fr/guide.md +263 -0
  50. package/dist/content/docs/fr/index.md +90 -0
  51. package/dist/content/docs/fr/limits.md +244 -0
  52. package/dist/content/docs/fr/logic.md +461 -0
  53. package/dist/content/docs/fr/manifest.md +401 -0
  54. package/dist/content/docs/fr/mcp.md +173 -0
  55. package/dist/content/docs/fr/package.md +139 -0
  56. package/dist/content/docs/fr/publish-a-widget.md +101 -0
  57. package/dist/content/docs/fr/publish-keys.md +97 -0
  58. package/dist/content/docs/fr/publishing.md +177 -0
  59. package/dist/content/docs/fr/reference.md +59 -0
  60. package/dist/content/docs/fr/result-shapes.md +333 -0
  61. package/dist/content/docs/fr/sdk.md +301 -0
  62. package/dist/content/docs/fr/security.md +129 -0
  63. package/dist/content/docs/fr/service-reference.md +346 -0
  64. package/dist/content/docs/fr/services.md +540 -0
  65. package/dist/content/docs/fr/style-properties.md +272 -0
  66. package/dist/content/docs/fr/style.md +281 -0
  67. package/dist/content/docs/fr/testing.md +417 -0
  68. package/dist/content/docs/fr/verified-domain.md +49 -0
  69. package/dist/content/docs/fr/view.md +352 -0
  70. package/dist/content/docs/fr/widget-listing.md +69 -0
  71. package/dist/content/docs/fr/widget-review.md +59 -0
  72. package/dist/content/docs/fr/widget-statistics.md +141 -0
  73. package/dist/content/docs/fr/widgets.md +81 -0
  74. package/dist/content/examples/clock/LICENSE +21 -0
  75. package/dist/content/examples/clock/README.md +75 -0
  76. package/dist/content/examples/clock/listing.json +19 -0
  77. package/dist/content/examples/clock/locales/en.json +4 -0
  78. package/dist/content/examples/clock/locales/fr.json +4 -0
  79. package/dist/content/examples/clock/logic.ts +85 -0
  80. package/dist/content/examples/clock/manifest.json +44 -0
  81. package/dist/content/examples/clock/package.json +16 -0
  82. package/dist/content/examples/clock/style.ocss +26 -0
  83. package/dist/content/examples/clock/tests/hidden.scenario.json +68 -0
  84. package/dist/content/examples/clock/tests/load-logic.mjs +22 -0
  85. package/dist/content/examples/clock/tests/logic.test.mjs +89 -0
  86. package/dist/content/examples/clock/tests/options.scenario.json +108 -0
  87. package/dist/content/examples/clock/tests/preview.scenario.json +25 -0
  88. package/dist/content/examples/clock/tests/render.scenario.json +94 -0
  89. package/dist/content/examples/clock/tests/summer-time.scenario.json +74 -0
  90. package/dist/content/examples/clock/tests/ticks.scenario.json +120 -0
  91. package/dist/content/examples/clock/tsconfig.json +16 -0
  92. package/dist/content/examples/clock/view.ocml +8 -0
  93. package/dist/content/examples/countdown/LICENSE +20 -0
  94. package/dist/content/examples/countdown/listing.json +10 -0
  95. package/dist/content/examples/countdown/locales/en.json +15 -0
  96. package/dist/content/examples/countdown/locales/fr.json +15 -0
  97. package/dist/content/examples/countdown/logic.ts +179 -0
  98. package/dist/content/examples/countdown/manifest.json +34 -0
  99. package/dist/content/examples/countdown/package.json +15 -0
  100. package/dist/content/examples/countdown/style.ocss +94 -0
  101. package/dist/content/examples/countdown/tsconfig.json +16 -0
  102. package/dist/content/examples/countdown/view.ocml +42 -0
  103. package/dist/content/examples/fps/LICENSE +21 -0
  104. package/dist/content/examples/fps/README.md +64 -0
  105. package/dist/content/examples/fps/listing.json +19 -0
  106. package/dist/content/examples/fps/locales/en.json +11 -0
  107. package/dist/content/examples/fps/locales/fr.json +11 -0
  108. package/dist/content/examples/fps/logic.ts +64 -0
  109. package/dist/content/examples/fps/manifest.json +30 -0
  110. package/dist/content/examples/fps/package.json +16 -0
  111. package/dist/content/examples/fps/style.ocss +31 -0
  112. package/dist/content/examples/fps/submission.json +8 -0
  113. package/dist/content/examples/fps/tests/label.scenario.json +63 -0
  114. package/dist/content/examples/fps/tests/load-logic.mjs +22 -0
  115. package/dist/content/examples/fps/tests/logic.test.mjs +60 -0
  116. package/dist/content/examples/fps/tests/preview.scenario.json +29 -0
  117. package/dist/content/examples/fps/tests/refused.scenario.json +20 -0
  118. package/dist/content/examples/fps/tests/render.scenario.json +96 -0
  119. package/dist/content/examples/fps/tests/stale.scenario.json +91 -0
  120. package/dist/content/examples/fps/tests/unavailable.scenario.json +111 -0
  121. package/dist/content/examples/fps/tsconfig.json +16 -0
  122. package/dist/content/examples/fps/view.ocml +11 -0
  123. package/dist/content/examples/media/LICENSE +21 -0
  124. package/dist/content/examples/media/README.md +147 -0
  125. package/dist/content/examples/media/listing.json +19 -0
  126. package/dist/content/examples/media/locales/en.json +11 -0
  127. package/dist/content/examples/media/locales/fr.json +11 -0
  128. package/dist/content/examples/media/logic.ts +191 -0
  129. package/dist/content/examples/media/manifest.json +35 -0
  130. package/dist/content/examples/media/package.json +16 -0
  131. package/dist/content/examples/media/style.ocss +148 -0
  132. package/dist/content/examples/media/submission.json +12 -0
  133. package/dist/content/examples/media/tests/covers.scenario.json +144 -0
  134. package/dist/content/examples/media/tests/gesture.scenario.json +173 -0
  135. package/dist/content/examples/media/tests/load-logic.mjs +22 -0
  136. package/dist/content/examples/media/tests/logic.test.mjs +176 -0
  137. package/dist/content/examples/media/tests/marquee.scenario.json +127 -0
  138. package/dist/content/examples/media/tests/preview.scenario.json +52 -0
  139. package/dist/content/examples/media/tests/read-only.scenario.json +53 -0
  140. package/dist/content/examples/media/tests/refused.scenario.json +22 -0
  141. package/dist/content/examples/media/tests/refused.test.mjs +31 -0
  142. package/dist/content/examples/media/tests/render.scenario.json +136 -0
  143. package/dist/content/examples/media/tests/states.scenario.json +257 -0
  144. package/dist/content/examples/media/tests/unavailable.scenario.json +120 -0
  145. package/dist/content/examples/media/tsconfig.json +16 -0
  146. package/dist/content/examples/media/view.ocml +41 -0
  147. package/dist/content/examples/notes/LICENSE +21 -0
  148. package/dist/content/examples/notes/README.md +219 -0
  149. package/dist/content/examples/notes/listing.json +19 -0
  150. package/dist/content/examples/notes/locales/en.json +25 -0
  151. package/dist/content/examples/notes/locales/fr.json +25 -0
  152. package/dist/content/examples/notes/logic.ts +799 -0
  153. package/dist/content/examples/notes/manifest.json +40 -0
  154. package/dist/content/examples/notes/package.json +16 -0
  155. package/dist/content/examples/notes/style.ocss +469 -0
  156. package/dist/content/examples/notes/submission.json +12 -0
  157. package/dist/content/examples/notes/tests/checks.scenario.json +237 -0
  158. package/dist/content/examples/notes/tests/create.scenario.json +260 -0
  159. package/dist/content/examples/notes/tests/delete.scenario.json +342 -0
  160. package/dist/content/examples/notes/tests/drafts.scenario.json +714 -0
  161. package/dist/content/examples/notes/tests/editor.scenario.json +232 -0
  162. package/dist/content/examples/notes/tests/frame.scenario.json +93 -0
  163. package/dist/content/examples/notes/tests/interactive.scenario.json +344 -0
  164. package/dist/content/examples/notes/tests/limits.scenario.json +1351 -0
  165. package/dist/content/examples/notes/tests/load-logic.mjs +22 -0
  166. package/dist/content/examples/notes/tests/logic.test.mjs +514 -0
  167. package/dist/content/examples/notes/tests/preview.scenario.json +99 -0
  168. package/dist/content/examples/notes/tests/read-only.scenario.json +105 -0
  169. package/dist/content/examples/notes/tests/refused.scenario.json +33 -0
  170. package/dist/content/examples/notes/tests/save.scenario.json +378 -0
  171. package/dist/content/examples/notes/tests/states.scenario.json +640 -0
  172. package/dist/content/examples/notes/tests/typing.scenario.json +562 -0
  173. package/dist/content/examples/notes/tests/unavailable.scenario.json +246 -0
  174. package/dist/content/examples/notes/tsconfig.json +16 -0
  175. package/dist/content/examples/notes/view.ocml +154 -0
  176. package/dist/content/examples/performance/LICENSE +21 -0
  177. package/dist/content/examples/performance/README.md +134 -0
  178. package/dist/content/examples/performance/listing.json +19 -0
  179. package/dist/content/examples/performance/locales/en.json +20 -0
  180. package/dist/content/examples/performance/locales/fr.json +20 -0
  181. package/dist/content/examples/performance/logic.ts +210 -0
  182. package/dist/content/examples/performance/manifest.json +83 -0
  183. package/dist/content/examples/performance/package.json +16 -0
  184. package/dist/content/examples/performance/style.ocss +75 -0
  185. package/dist/content/examples/performance/submission.json +12 -0
  186. package/dist/content/examples/performance/tests/fahrenheit.scenario.json +110 -0
  187. package/dist/content/examples/performance/tests/horizontal.scenario.json +96 -0
  188. package/dist/content/examples/performance/tests/load-logic.mjs +22 -0
  189. package/dist/content/examples/performance/tests/logic.test.mjs +226 -0
  190. package/dist/content/examples/performance/tests/menu.scenario.json +170 -0
  191. package/dist/content/examples/performance/tests/no-fps-source.scenario.json +47 -0
  192. package/dist/content/examples/performance/tests/preview.scenario.json +45 -0
  193. package/dist/content/examples/performance/tests/refused.scenario.json +20 -0
  194. package/dist/content/examples/performance/tests/refused.test.mjs +19 -0
  195. package/dist/content/examples/performance/tests/region.scenario.json +89 -0
  196. package/dist/content/examples/performance/tests/render.scenario.json +112 -0
  197. package/dist/content/examples/performance/tests/sources.scenario.json +151 -0
  198. package/dist/content/examples/performance/tests/stale.scenario.json +111 -0
  199. package/dist/content/examples/performance/tests/telemetry-only.scenario.json +44 -0
  200. package/dist/content/examples/performance/tests/thresholds.scenario.json +147 -0
  201. package/dist/content/examples/performance/tests/waiting.scenario.json +105 -0
  202. package/dist/content/examples/performance/tsconfig.json +16 -0
  203. package/dist/content/examples/performance/view.ocml +18 -0
  204. package/dist/content/examples/playervox-journal/LICENSE +21 -0
  205. package/dist/content/examples/playervox-journal/README.md +150 -0
  206. package/dist/content/examples/playervox-journal/listing.json +19 -0
  207. package/dist/content/examples/playervox-journal/locales/en.json +25 -0
  208. package/dist/content/examples/playervox-journal/locales/fr.json +25 -0
  209. package/dist/content/examples/playervox-journal/logic.ts +556 -0
  210. package/dist/content/examples/playervox-journal/manifest.json +19 -0
  211. package/dist/content/examples/playervox-journal/package.json +16 -0
  212. package/dist/content/examples/playervox-journal/style.ocss +142 -0
  213. package/dist/content/examples/playervox-journal/submission.json +12 -0
  214. package/dist/content/examples/playervox-journal/tests/changes.scenario.json +482 -0
  215. package/dist/content/examples/playervox-journal/tests/delete.scenario.json +432 -0
  216. package/dist/content/examples/playervox-journal/tests/frame.scenario.json +169 -0
  217. package/dist/content/examples/playervox-journal/tests/load-logic.mjs +22 -0
  218. package/dist/content/examples/playervox-journal/tests/logic.test.mjs +349 -0
  219. package/dist/content/examples/playervox-journal/tests/paging.scenario.json +428 -0
  220. package/dist/content/examples/playervox-journal/tests/preview.scenario.json +184 -0
  221. package/dist/content/examples/playervox-journal/tests/read-only.scenario.json +157 -0
  222. package/dist/content/examples/playervox-journal/tests/refused.scenario.json +39 -0
  223. package/dist/content/examples/playervox-journal/tests/scale.scenario.json +286 -0
  224. package/dist/content/examples/playervox-journal/tests/signed-out.scenario.json +134 -0
  225. package/dist/content/examples/playervox-journal/tests/states.scenario.json +741 -0
  226. package/dist/content/examples/playervox-journal/tests/unavailable.scenario.json +183 -0
  227. package/dist/content/examples/playervox-journal/tsconfig.json +16 -0
  228. package/dist/content/examples/playervox-journal/view.ocml +52 -0
  229. package/dist/content/examples/playervox-rating/LICENSE +21 -0
  230. package/dist/content/examples/playervox-rating/README.md +166 -0
  231. package/dist/content/examples/playervox-rating/listing.json +19 -0
  232. package/dist/content/examples/playervox-rating/locales/en.json +35 -0
  233. package/dist/content/examples/playervox-rating/locales/fr.json +35 -0
  234. package/dist/content/examples/playervox-rating/logic.ts +581 -0
  235. package/dist/content/examples/playervox-rating/manifest.json +19 -0
  236. package/dist/content/examples/playervox-rating/package.json +16 -0
  237. package/dist/content/examples/playervox-rating/style.ocss +333 -0
  238. package/dist/content/examples/playervox-rating/submission.json +12 -0
  239. package/dist/content/examples/playervox-rating/tests/account.scenario.json +125 -0
  240. package/dist/content/examples/playervox-rating/tests/bounds.scenario.json +73 -0
  241. package/dist/content/examples/playervox-rating/tests/draft.scenario.json +199 -0
  242. package/dist/content/examples/playervox-rating/tests/form.scenario.json +142 -0
  243. package/dist/content/examples/playervox-rating/tests/load-logic.mjs +22 -0
  244. package/dist/content/examples/playervox-rating/tests/logic.test.mjs +346 -0
  245. package/dist/content/examples/playervox-rating/tests/offline.scenario.json +142 -0
  246. package/dist/content/examples/playervox-rating/tests/preview.scenario.json +44 -0
  247. package/dist/content/examples/playervox-rating/tests/publish-keyboard.scenario.json +221 -0
  248. package/dist/content/examples/playervox-rating/tests/publish-pointer.scenario.json +314 -0
  249. package/dist/content/examples/playervox-rating/tests/read-only.scenario.json +70 -0
  250. package/dist/content/examples/playervox-rating/tests/refused.scenario.json +45 -0
  251. package/dist/content/examples/playervox-rating/tests/states.scenario.json +362 -0
  252. package/dist/content/examples/playervox-rating/tsconfig.json +16 -0
  253. package/dist/content/examples/playervox-rating/view.ocml +62 -0
  254. package/dist/content/examples/playervox-reviews/LICENSE +21 -0
  255. package/dist/content/examples/playervox-reviews/README.md +194 -0
  256. package/dist/content/examples/playervox-reviews/listing.json +19 -0
  257. package/dist/content/examples/playervox-reviews/locales/en.json +32 -0
  258. package/dist/content/examples/playervox-reviews/locales/fr.json +32 -0
  259. package/dist/content/examples/playervox-reviews/logic.ts +822 -0
  260. package/dist/content/examples/playervox-reviews/manifest.json +30 -0
  261. package/dist/content/examples/playervox-reviews/package.json +16 -0
  262. package/dist/content/examples/playervox-reviews/style.ocss +260 -0
  263. package/dist/content/examples/playervox-reviews/submission.json +8 -0
  264. package/dist/content/examples/playervox-reviews/tests/account.scenario.json +249 -0
  265. package/dist/content/examples/playervox-reviews/tests/bounds.scenario.json +336 -0
  266. package/dist/content/examples/playervox-reviews/tests/changes.scenario.json +515 -0
  267. package/dist/content/examples/playervox-reviews/tests/filter.scenario.json +400 -0
  268. package/dist/content/examples/playervox-reviews/tests/frame.scenario.json +185 -0
  269. package/dist/content/examples/playervox-reviews/tests/keyboard.scenario.json +188 -0
  270. package/dist/content/examples/playervox-reviews/tests/load-logic.mjs +22 -0
  271. package/dist/content/examples/playervox-reviews/tests/logic.test.mjs +559 -0
  272. package/dist/content/examples/playervox-reviews/tests/offline-start.scenario.json +152 -0
  273. package/dist/content/examples/playervox-reviews/tests/offline.scenario.json +311 -0
  274. package/dist/content/examples/playervox-reviews/tests/paging.scenario.json +497 -0
  275. package/dist/content/examples/playervox-reviews/tests/preview.scenario.json +286 -0
  276. package/dist/content/examples/playervox-reviews/tests/reading.scenario.json +591 -0
  277. package/dist/content/examples/playervox-reviews/tests/refused.scenario.json +54 -0
  278. package/dist/content/examples/playervox-reviews/tests/scale.scenario.json +303 -0
  279. package/dist/content/examples/playervox-reviews/tests/states.scenario.json +700 -0
  280. package/dist/content/examples/playervox-reviews/tests/unavailable.scenario.json +192 -0
  281. package/dist/content/examples/playervox-reviews/tsconfig.json +16 -0
  282. package/dist/content/examples/playervox-reviews/view.ocml +110 -0
  283. package/dist/content/examples/playervox-score/LICENSE +21 -0
  284. package/dist/content/examples/playervox-score/README.md +131 -0
  285. package/dist/content/examples/playervox-score/listing.json +19 -0
  286. package/dist/content/examples/playervox-score/locales/en.json +23 -0
  287. package/dist/content/examples/playervox-score/locales/fr.json +23 -0
  288. package/dist/content/examples/playervox-score/logic.ts +430 -0
  289. package/dist/content/examples/playervox-score/manifest.json +47 -0
  290. package/dist/content/examples/playervox-score/package.json +16 -0
  291. package/dist/content/examples/playervox-score/style.ocss +247 -0
  292. package/dist/content/examples/playervox-score/submission.json +8 -0
  293. package/dist/content/examples/playervox-score/tests/grades.scenario.json +279 -0
  294. package/dist/content/examples/playervox-score/tests/load-logic.mjs +22 -0
  295. package/dist/content/examples/playervox-score/tests/logic.test.mjs +229 -0
  296. package/dist/content/examples/playervox-score/tests/options.scenario.json +302 -0
  297. package/dist/content/examples/playervox-score/tests/preview.scenario.json +68 -0
  298. package/dist/content/examples/playervox-score/tests/pulse.scenario.json +157 -0
  299. package/dist/content/examples/playervox-score/tests/refused.scenario.json +21 -0
  300. package/dist/content/examples/playervox-score/tests/signed-out.scenario.json +46 -0
  301. package/dist/content/examples/playervox-score/tests/states.scenario.json +450 -0
  302. package/dist/content/examples/playervox-score/tests/unavailable.scenario.json +84 -0
  303. package/dist/content/examples/playervox-score/tsconfig.json +16 -0
  304. package/dist/content/examples/playervox-score/view.ocml +51 -0
  305. package/dist/content/examples/session/LICENSE +21 -0
  306. package/dist/content/examples/session/README.md +57 -0
  307. package/dist/content/examples/session/listing.json +19 -0
  308. package/dist/content/examples/session/locales/en.json +3 -0
  309. package/dist/content/examples/session/locales/fr.json +3 -0
  310. package/dist/content/examples/session/logic.ts +26 -0
  311. package/dist/content/examples/session/manifest.json +19 -0
  312. package/dist/content/examples/session/package.json +16 -0
  313. package/dist/content/examples/session/style.ocss +16 -0
  314. package/dist/content/examples/session/submission.json +8 -0
  315. package/dist/content/examples/session/tests/hidden.scenario.json +45 -0
  316. package/dist/content/examples/session/tests/load-logic.mjs +22 -0
  317. package/dist/content/examples/session/tests/logic.test.mjs +37 -0
  318. package/dist/content/examples/session/tests/preview.scenario.json +28 -0
  319. package/dist/content/examples/session/tests/refused.scenario.json +20 -0
  320. package/dist/content/examples/session/tests/refused.test.mjs +16 -0
  321. package/dist/content/examples/session/tests/render.scenario.json +95 -0
  322. package/dist/content/examples/session/tests/ticks.scenario.json +139 -0
  323. package/dist/content/examples/session/tests/unknown.scenario.json +37 -0
  324. package/dist/content/examples/session/tsconfig.json +16 -0
  325. package/dist/content/examples/session/view.ocml +11 -0
  326. package/dist/content/examples/stopwatch/LICENSE +21 -0
  327. package/dist/content/examples/stopwatch/README.md +99 -0
  328. package/dist/content/examples/stopwatch/listing.json +19 -0
  329. package/dist/content/examples/stopwatch/locales/en.json +8 -0
  330. package/dist/content/examples/stopwatch/locales/fr.json +8 -0
  331. package/dist/content/examples/stopwatch/logic.ts +93 -0
  332. package/dist/content/examples/stopwatch/manifest.json +19 -0
  333. package/dist/content/examples/stopwatch/package.json +16 -0
  334. package/dist/content/examples/stopwatch/style.ocss +54 -0
  335. package/dist/content/examples/stopwatch/submission.json +12 -0
  336. package/dist/content/examples/stopwatch/tests/errors.scenario.json +121 -0
  337. package/dist/content/examples/stopwatch/tests/gesture.scenario.json +154 -0
  338. package/dist/content/examples/stopwatch/tests/hidden.scenario.json +57 -0
  339. package/dist/content/examples/stopwatch/tests/hundredths.scenario.json +173 -0
  340. package/dist/content/examples/stopwatch/tests/load-logic.mjs +22 -0
  341. package/dist/content/examples/stopwatch/tests/logic.test.mjs +99 -0
  342. package/dist/content/examples/stopwatch/tests/preview.scenario.json +36 -0
  343. package/dist/content/examples/stopwatch/tests/read-only.scenario.json +42 -0
  344. package/dist/content/examples/stopwatch/tests/read-only.test.mjs +18 -0
  345. package/dist/content/examples/stopwatch/tests/refused.scenario.json +22 -0
  346. package/dist/content/examples/stopwatch/tests/refused.test.mjs +18 -0
  347. package/dist/content/examples/stopwatch/tests/render.scenario.json +105 -0
  348. package/dist/content/examples/stopwatch/tests/states.scenario.json +246 -0
  349. package/dist/content/examples/stopwatch/tests/unknown.scenario.json +40 -0
  350. package/dist/content/examples/stopwatch/tsconfig.json +16 -0
  351. package/dist/content/examples/stopwatch/view.ocml +29 -0
  352. package/dist/content/examples/twitch-chat/LICENSE +21 -0
  353. package/dist/content/examples/twitch-chat/README.md +283 -0
  354. package/dist/content/examples/twitch-chat/listing.json +19 -0
  355. package/dist/content/examples/twitch-chat/locales/en.json +52 -0
  356. package/dist/content/examples/twitch-chat/locales/fr.json +52 -0
  357. package/dist/content/examples/twitch-chat/logic.ts +887 -0
  358. package/dist/content/examples/twitch-chat/manifest.json +33 -0
  359. package/dist/content/examples/twitch-chat/package.json +16 -0
  360. package/dist/content/examples/twitch-chat/style.ocss +544 -0
  361. package/dist/content/examples/twitch-chat/submission.json +12 -0
  362. package/dist/content/examples/twitch-chat/tests/account.scenario.json +325 -0
  363. package/dist/content/examples/twitch-chat/tests/burst.scenario.json +1866 -0
  364. package/dist/content/examples/twitch-chat/tests/channel-refused.scenario.json +372 -0
  365. package/dist/content/examples/twitch-chat/tests/channel.scenario.json +480 -0
  366. package/dist/content/examples/twitch-chat/tests/draft.scenario.json +279 -0
  367. package/dist/content/examples/twitch-chat/tests/fade.scenario.json +269 -0
  368. package/dist/content/examples/twitch-chat/tests/failures.scenario.json +420 -0
  369. package/dist/content/examples/twitch-chat/tests/favorites.scenario.json +376 -0
  370. package/dist/content/examples/twitch-chat/tests/frame.scenario.json +152 -0
  371. package/dist/content/examples/twitch-chat/tests/lifetime.scenario.json +186 -0
  372. package/dist/content/examples/twitch-chat/tests/load-logic.mjs +22 -0
  373. package/dist/content/examples/twitch-chat/tests/logic.test.mjs +1053 -0
  374. package/dist/content/examples/twitch-chat/tests/passive.scenario.json +536 -0
  375. package/dist/content/examples/twitch-chat/tests/preview.scenario.json +147 -0
  376. package/dist/content/examples/twitch-chat/tests/read-only.scenario.json +202 -0
  377. package/dist/content/examples/twitch-chat/tests/read-only.test.mjs +63 -0
  378. package/dist/content/examples/twitch-chat/tests/refused.scenario.json +65 -0
  379. package/dist/content/examples/twitch-chat/tests/refused.test.mjs +43 -0
  380. package/dist/content/examples/twitch-chat/tests/render.scenario.json +347 -0
  381. package/dist/content/examples/twitch-chat/tests/reply.scenario.json +384 -0
  382. package/dist/content/examples/twitch-chat/tests/send-refused.scenario.json +383 -0
  383. package/dist/content/examples/twitch-chat/tests/send.scenario.json +300 -0
  384. package/dist/content/examples/twitch-chat/tests/states.scenario.json +455 -0
  385. package/dist/content/examples/twitch-chat/tests/unavailable.scenario.json +256 -0
  386. package/dist/content/examples/twitch-chat/tests/unread.scenario.json +997 -0
  387. package/dist/content/examples/twitch-chat/tsconfig.json +16 -0
  388. package/dist/content/examples/twitch-chat/view.ocml +141 -0
  389. package/dist/content/examples/warframe-market/LICENSE +21 -0
  390. package/dist/content/examples/warframe-market/README.md +176 -0
  391. package/dist/content/examples/warframe-market/listing.json +19 -0
  392. package/dist/content/examples/warframe-market/locales/en.json +44 -0
  393. package/dist/content/examples/warframe-market/locales/fr.json +44 -0
  394. package/dist/content/examples/warframe-market/logic.ts +1265 -0
  395. package/dist/content/examples/warframe-market/manifest.json +92 -0
  396. package/dist/content/examples/warframe-market/package.json +16 -0
  397. package/dist/content/examples/warframe-market/style.ocss +422 -0
  398. package/dist/content/examples/warframe-market/submission.json +24 -0
  399. package/dist/content/examples/warframe-market/tests/bounds.scenario.json +60 -0
  400. package/dist/content/examples/warframe-market/tests/cached.scenario.json +70 -0
  401. package/dist/content/examples/warframe-market/tests/detail.scenario.json +251 -0
  402. package/dist/content/examples/warframe-market/tests/errors.scenario.json +105 -0
  403. package/dist/content/examples/warframe-market/tests/fixtures.json +295 -0
  404. package/dist/content/examples/warframe-market/tests/load-logic.mjs +22 -0
  405. package/dist/content/examples/warframe-market/tests/logic.test.mjs +505 -0
  406. package/dist/content/examples/warframe-market/tests/no-clipboard.scenario.json +104 -0
  407. package/dist/content/examples/warframe-market/tests/passive.scenario.json +87 -0
  408. package/dist/content/examples/warframe-market/tests/preview.scenario.json +146 -0
  409. package/dist/content/examples/warframe-market/tests/refresh.scenario.json +56 -0
  410. package/dist/content/examples/warframe-market/tests/refused.scenario.json +74 -0
  411. package/dist/content/examples/warframe-market/tests/render.scenario.json +210 -0
  412. package/dist/content/examples/warframe-market/tests/search.scenario.json +189 -0
  413. package/dist/content/examples/warframe-market/tests/unavailable.scenario.json +54 -0
  414. package/dist/content/examples/warframe-market/tsconfig.json +16 -0
  415. package/dist/content/examples/warframe-market/view.ocml +116 -0
  416. package/dist/content/examples/weather/LICENSE +20 -0
  417. package/dist/content/examples/weather/listing.json +10 -0
  418. package/dist/content/examples/weather/locales/en.json +9 -0
  419. package/dist/content/examples/weather/locales/fr.json +9 -0
  420. package/dist/content/examples/weather/logic.ts +62 -0
  421. package/dist/content/examples/weather/manifest.json +51 -0
  422. package/dist/content/examples/weather/package.json +15 -0
  423. package/dist/content/examples/weather/style.ocss +29 -0
  424. package/dist/content/examples/weather/submission.json +17 -0
  425. package/dist/content/examples/weather/tsconfig.json +16 -0
  426. package/dist/content/examples/weather/view.ocml +12 -0
  427. package/dist/content/index.json +3705 -0
  428. package/dist/content/reference/errors.json +1924 -0
  429. package/dist/content/reference/limits.json +1154 -0
  430. package/dist/content/reference/manifest.md +223 -0
  431. package/dist/content/reference/permissions.json +413 -0
  432. package/dist/content/templates/blank/locales/en.json +3 -0
  433. package/dist/content/templates/blank/locales/fr.json +3 -0
  434. package/dist/content/templates/blank/logic.ts +7 -0
  435. package/dist/content/templates/blank/manifest.json +16 -0
  436. package/dist/content/templates/blank/style.ocss +10 -0
  437. package/dist/content/templates/blank/tests/example.scenario.json +10 -0
  438. package/dist/content/templates/blank/view.ocml +6 -0
  439. package/dist/content/templates/chart/locales/en.json +3 -0
  440. package/dist/content/templates/chart/locales/fr.json +3 -0
  441. package/dist/content/templates/chart/logic.ts +27 -0
  442. package/dist/content/templates/chart/manifest.json +16 -0
  443. package/dist/content/templates/chart/style.ocss +27 -0
  444. package/dist/content/templates/chart/tests/example.scenario.json +10 -0
  445. package/dist/content/templates/chart/view.ocml +10 -0
  446. package/dist/content/templates/counter/locales/en.json +4 -0
  447. package/dist/content/templates/counter/locales/fr.json +4 -0
  448. package/dist/content/templates/counter/logic.ts +20 -0
  449. package/dist/content/templates/counter/manifest.json +16 -0
  450. package/dist/content/templates/counter/style.ocss +26 -0
  451. package/dist/content/templates/counter/tests/example.scenario.json +11 -0
  452. package/dist/content/templates/counter/view.ocml +13 -0
  453. package/dist/content/templates/list/locales/en.json +8 -0
  454. package/dist/content/templates/list/locales/fr.json +8 -0
  455. package/dist/content/templates/list/logic.ts +35 -0
  456. package/dist/content/templates/list/manifest.json +16 -0
  457. package/dist/content/templates/list/style.ocss +42 -0
  458. package/dist/content/templates/list/tests/example.scenario.json +10 -0
  459. package/dist/content/templates/list/view.ocml +17 -0
  460. package/dist/content/templates/shared/LICENSE +20 -0
  461. package/dist/content/templates/shared/package.json +14 -0
  462. package/dist/content/templates/shared/tsconfig.json +16 -0
  463. package/dist/content.js +68 -0
  464. package/dist/env.js +156 -0
  465. package/dist/fingerprint.js +32 -0
  466. package/dist/hidden.js +47 -0
  467. package/dist/ids.js +27 -0
  468. package/dist/index.js +82 -0
  469. package/dist/knowledge.js +222 -0
  470. package/dist/npm.js +149 -0
  471. package/dist/prompts.js +47 -0
  472. package/dist/resources.js +82 -0
  473. package/dist/run.js +120 -0
  474. package/dist/server.js +43 -0
  475. package/dist/session.js +205 -0
  476. package/dist/sources.js +218 -0
  477. package/dist/text.js +80 -0
  478. package/dist/texts.js +44 -0
  479. package/dist/tools/audit.js +105 -0
  480. package/dist/tools/build.js +453 -0
  481. package/dist/tools/common.js +122 -0
  482. package/dist/tools/docs.js +196 -0
  483. package/dist/tools/preview.js +87 -0
  484. package/dist/tools/project.js +183 -0
  485. package/dist/tools/setup.js +146 -0
  486. package/dist/tools/submission.js +369 -0
  487. package/dist/version.js +3 -0
  488. package/npm-shrinkwrap.json +402 -0
  489. package/package.json +50 -4
@@ -0,0 +1,219 @@
1
+ # Notes
2
+
3
+ `com.playervox.overcrow.notes` — your notes and checklists over the game:
4
+ up to eight notes, each with a title, free text and a checklist of up to 64
5
+ entries. They are the same for every game and stay on this computer. In
6
+ Passive mode the widget shows the active note; in Interactive mode you
7
+ choose, create, delete and edit notes in the widget itself, and tick
8
+ entries off. A built-in of OverCrow, written against the public
9
+ `@overcrow/sdk` and packaged with `overcrow-widget` like any creator's
10
+ widget. MIT.
11
+
12
+ ## What it shows
13
+
14
+ | State | Shows |
15
+ | --- | --- |
16
+ | A note, Passive mode | its title beside a note icon, its text, its checklist; the checked entries last, struck through |
17
+ | A note, Interactive mode | the note selector with the edit, add and delete buttons, the text, the checklist with its checks |
18
+ | Waiting for OverCrow | "Loading notes…" / "Chargement des notes…" |
19
+ | A note without text | no text line, no placeholder |
20
+ | No note at all | Interactive mode: an "Add note" / "Ajouter une note" button; Passive mode: an empty panel |
21
+ | One note | a selector that opens nothing, without its chevron |
22
+ | Eight notes | an add button that takes no click |
23
+ | Something sent and not stored yet | a spinner in the chevron's place; the title does not move |
24
+ | A note with a draft | a dot after its title, "Expedition •", in the selector and in the list |
25
+ | The notes cannot be read, or a change could not be stored | "Notes could not be loaded or saved. Try again." / "Impossible de charger ou d’enregistrer les notes. Réessayez." |
26
+ | No permission to read | "Allow access to your notes in the Control Center.": the widget asks OverCrow nothing |
27
+
28
+ A note taller than the panel scrolls in it (wheel, drag, keyboard) in
29
+ Interactive mode; Passive mode shows its top.
30
+
31
+ ## Choosing, creating and deleting
32
+
33
+ - The **selector** opens the list of notes under it, in the panel: a click
34
+ on a note shows it, and each row has its own edit and delete buttons.
35
+ OverCrow stores which note is shown.
36
+ - **Add** creates a note titled "Note {n}" by OverCrow and opens its
37
+ editor. The editor is there from the click, with the caret in its
38
+ title: OverCrow fills the title when the note exists, and typing goes
39
+ on after it. A note that cannot be created (eight notes already, a
40
+ store that refuses) leaves no editor, and the widget says why.
41
+ - **Delete** asks OverCrow, which confirms in its own panel beside the
42
+ widget, naming the note: "Delete “Expedition”? This permanently deletes
43
+ the note and its checklist." Declined, nothing changes.
44
+ - A **check** in the note is written at once. The box shows it before
45
+ OverCrow answers and goes back, with the message above, if it could not
46
+ be stored.
47
+
48
+ ## The editor
49
+
50
+ The pencil opens the editor in place of the note:
51
+
52
+ | Control | |
53
+ | --- | --- |
54
+ | Title | one line, at most 96 bytes, not empty |
55
+ | Text | several lines, at most 8192 bytes; the field shows 3 to 10 rows, following its lines |
56
+ | Checklist | one row per entry (at most 256 bytes each), with its check and a remove button, and an empty row at the end to add an entry |
57
+ | Save, Cancel | below the fields, which scroll above them |
58
+
59
+ - **The form is OverCrow's.** The title, the text and each row are
60
+ host-owned controls of a `form` bound to the `notes.save` intent: the
61
+ view gives them no `value`. OverCrow fills them from the stored note and
62
+ tells the logic each value through the control's `input` event. The logic
63
+ only follows them, to know whether the form is a draft, and decides which
64
+ rows the form has; it cannot write a character in them.
65
+ - **Saving** takes your gesture: a click on Save, Enter or Space on it, or
66
+ Ctrl+Enter in any field. OverCrow then sends the values of its own
67
+ controls; the logic cannot submit the form. The title and each row are
68
+ saved trimmed, an empty row is dropped, the text is kept as written. Each
69
+ row keeps the entry OverCrow filled it with, and that entry's check,
70
+ whichever rows were removed. A note saved as it is stored writes nothing.
71
+ - **Enter does not save.** In the title it goes to the text; in the text
72
+ it is a line break; in a row it goes to the next row. Typing in the
73
+ empty row adds the next one: "torches, Enter, rope, Enter" types two
74
+ entries.
75
+ - **The editor closes when the note is stored**, and the subscription shows
76
+ it. If OverCrow could not store it, the message shows, the editor keeps
77
+ the draft and Save comes back. Should OverCrow give no answer at all,
78
+ Save comes back after 40 s.
79
+ - **The draft is kept by OverCrow** while its form stays in the view: when
80
+ you choose another note (the form is hidden; the note is marked with a
81
+ dot and its pencil brings the draft back), in Passive mode, while the
82
+ widget is hidden between two games, and when the notes change elsewhere.
83
+ An editor without a change is closed by a change of note. Cancel discards
84
+ the draft; a draft does not outlive OverCrow.
85
+ - **Checks in the editor** are those of the stored entries: they are
86
+ written at once, as in the note, and Cancel does not undo them. A new
87
+ row gets its check once it is saved.
88
+ - **Limits** are OverCrow's: a field takes no more than its bound, typed or
89
+ pasted, without a counter. A checklist of 64 entries has no empty row and
90
+ says "Checklist full" / "Liste de tâches pleine".
91
+
92
+ A text longer than its field scrolls in it: the wheel and Page Up and Page
93
+ Down move the text first, and the editor around it once the text is at its
94
+ end.
95
+
96
+ OverCrow's fields give you the caret, the selection (Shift with the
97
+ arrows, Home and End, a double click, Ctrl+A), copy, cut and paste through
98
+ OverCrow, and input methods (IME): the composition is drawn in the field
99
+ and reaches the note when you commit it. Tab and Shift+Tab move through
100
+ the widget's controls and stay in it. Escape is OverCrow's: it leaves
101
+ Interactive mode, and the draft stays.
102
+
103
+ ## Menu
104
+
105
+ | Row | Values |
106
+ | --- | --- |
107
+ | Show / Afficher | Note and checklist (default), Note only, Checklist only |
108
+ | Checked items at the end / Éléments cochés à la fin | on by default; display only, the note is never reordered |
109
+
110
+ With "Checklist only", Interactive mode keeps the selector and names the
111
+ checklist; Passive mode shows the entries alone.
112
+
113
+ ## Size
114
+
115
+ 360 px wide by default, from 280 px to 900 px; the height fits the content,
116
+ up to 900 px.
117
+
118
+ ## Permissions
119
+
120
+ - `notes.read`: your notes and checklists. Sensitive.
121
+ - `notes.write`: create, choose, check, save and delete notes; text only
122
+ through the host-bound form. Sensitive.
123
+
124
+ As sensitive capabilities rule out the network and the clipboard, the
125
+ widget declares neither, and no storage: it keeps nothing, and what you
126
+ type never leaves OverCrow's own fields except to your notes file. Copy
127
+ and paste are OverCrow's and yours, not the widget's. OverCrow reads the
128
+ notes file only while this widget subscribes. With the read permission
129
+ alone the widget shows the active note in both modes and nothing that
130
+ writes.
131
+
132
+ ## Differences from the former built-in
133
+
134
+ - The editor does not take the keyboard when it opens: click the title or
135
+ press Tab.
136
+ - The note list opens in the panel, under the selector, and is closed by
137
+ the selector or by choosing a note; it is not a floating menu.
138
+ - There is no separate "Add an item" field and button: the empty row at
139
+ the end of the checklist is where a new entry is typed.
140
+ - Checks in the editor are written at once (they were part of the draft).
141
+ - Enter in the title goes to the text (it only left the field).
142
+ - A note that was stored but whose durability the system could not confirm
143
+ is reported as not saved; there is no "saved with warning" state.
144
+ - Escape leaves Interactive mode (it only left the field); the draft stays.
145
+ - The deletion is confirmed in OverCrow's panel beside the widget, not in
146
+ the widget.
147
+ - The Interactive checks are OverCrow's square check boxes; Passive mode
148
+ keeps the round marks.
149
+ - There is no undo in a field.
150
+
151
+ ## Tests
152
+
153
+ - `tests/logic.test.mjs`: the logic on `@overcrow/sdk/testing`: the states,
154
+ the display order, the sections, a check and its failure, the rows of an
155
+ editor, what makes a draft, the Save cycle and its 40 s bound, Cancel,
156
+ drafts kept across notes and Passive mode, creation and its quota,
157
+ deletion, the full checklist, the retry of a failed subscription.
158
+ - Scenarios, played in OverCrow's headless runtime
159
+ (`overcrow-widget test --runtime …`), with their reference images in
160
+ `tests/reference/`:
161
+
162
+ | Scenario | Covers |
163
+ | --- | --- |
164
+ | `states` | Passive mode: loading, the note in dark English and light French at 100 % and 150 %, each value of the Show row, the stored order, a note without text, without checklist, without either, no note, a checklist longer than the panel |
165
+ | `interactive` | the selector, the list and the buttons in both themes and languages, 150 %, 280 px wide; checklist only, note only, one note, eight notes |
166
+ | `editor` | the form filled by OverCrow in both themes and languages, 150 %, 280 px wide; no title; a save OverCrow refuses for its empty title |
167
+ | `typing` | the keyboard alone: typing, selection, Backspace, Delete, arrows, Home, End, Ctrl+A, Enter between the fields and in the text, rows added by typing, Escape, Tab and Shift+Tab staying in the widget, Ctrl+Enter, what OverCrow sent |
168
+ | `save` | Save with the pointer: a refusal, no answer for 40 s, a stale note, then stored, each with what OverCrow sent |
169
+ | `drafts` | a draft through another note, the list, Passive mode and a hidden widget; an unchanged editor closed; Cancel |
170
+ | `checks` | a check written at once, stored, refused; a check in the editor |
171
+ | `delete` | a deletion declined, confirmed, from the list, refused; the last note; a new note |
172
+ | `create` | a new note: its editor at the click with the caret in the title, the title filled, typing without a click, the save; a note that could not be created |
173
+ | `limits` | 96 bytes of title, 8192 of text, 256 of an entry; eight notes; a full checklist that scrolls above Save |
174
+ | `unavailable` | the source failed and came back, in French on a light panel; a failure with a draft open |
175
+ | `refused` | no grant: no call |
176
+ | `read-only` | the read grant alone: the note, nothing that writes |
177
+ | `frame` | the widget in OverCrow's wrapper |
178
+
179
+ Copy, cut, paste and an input method's composition are OverCrow's own
180
+ events, which a scenario's `key` and `text` steps do not play: OverCrow
181
+ tests them with this package in its own repository, with a save refused
182
+ because no gesture made it and a logic that tries to set or submit the
183
+ form.
184
+
185
+ ## Cost
186
+
187
+ Measured on 2026-10-01 with OverCrow's release build, on an AMD Ryzen 7
188
+ 5800X3D Linux workstation and in a Windows 11 virtual machine (2 vCPU),
189
+ with synthetic notes: an ordinary document (two notes, a few lines, three
190
+ entries) and the largest OverCrow stores (8 notes, each with 8 KiB of text
191
+ and 64 entries of 256 bytes).
192
+
193
+ | | Linux | Windows (VM) |
194
+ | --- | --- | --- |
195
+ | Widget start, warm, into the overlay's runtime, largest document | 8.9–9.1 ms (p50), 10.8 ms at most | VM ready in 15.1–15.4 ms (p50) |
196
+ | VM memory, ordinary document | 0.96 MiB private | — |
197
+ | VM memory, largest document | 1.84 MiB private, 2.0 MiB PSS; up to 3.0 MiB after thirty saves | 1.76 MiB private working set, 2.04 MiB private commit |
198
+ | Private memory in all (VM, sandbox helpers, overlay share), ordinary document | 6.5–9.9 MB | — |
199
+ | Private memory in all, largest document | 15.6–17.4 MB in Passive mode, 19.3–26.7 MB with the editor | — |
200
+ | CPU at rest, Passive mode or the editor open | 0.03–0.05 % of one core, no frame | — |
201
+ | CPU, typing ten characters a second in a 64-entry note | overlay 1.0–1.2 % of one core, VM 5.2–5.3 % | — |
202
+ | A typed character shown | in the frame of its key: 0.3 ms (p50), 0.5 ms (p95), 1.2 ms at most | — |
203
+ | The widget's answer to a typed character (draft mark, Save) | 5–7 ms (p50), 11 ms at most | — |
204
+ | Opening the editor of a 64-entry note | frames of 6–10 ms; 0.33 ms for the ordinary note | — |
205
+ | CPU, hidden, a changed document every 2 s | 0.10–0.12 % of one core | — |
206
+
207
+ What you type is drawn by OverCrow in its own field, in the frame of the
208
+ key; the widget's logic is told the value afterwards and only updates the
209
+ draft mark and the Save button. With the ordinary document the private
210
+ memory is around OverCrow's 8 MB goal per widget (above it by up to 2 MB);
211
+ with the largest document it is above that goal, and far under the 80 MB
212
+ ceiling: the cost is the text itself, laid out by OverCrow, and in the
213
+ editor one host field per entry. The frames that open the editor of a
214
+ 64-entry note are above OverCrow's 2 ms goal for a frame, once per opening.
215
+ The egui widget it replaces painted in the overlay's own process at every
216
+ frame (0.16 ms in Passive mode, 0.30 ms with its editor, largest
217
+ document); OverCrow read the notes file at each start, and now only while
218
+ this widget subscribes. Scenarios render the same images on Linux and
219
+ Windows, pixel for pixel.
@@ -0,0 +1,19 @@
1
+ {
2
+ "author": "PlayerVox",
3
+ "spdxLicense": "MIT",
4
+ "sourceUrl": "https://github.com/Valhallab/playervox-overcrow-releases/tree/main/widgets/notes",
5
+ "preview": "assets/preview.png",
6
+ "defaultLocale": "en",
7
+ "localizations": [
8
+ {
9
+ "locale": "en",
10
+ "name": "Notes",
11
+ "description": "Your notes and checklists over the game: up to eight notes, each with free text and a checklist, the same for every game. Read them in Passive mode; in Interactive mode choose, create, delete and edit them in the widget, and tick entries off. They stay on this computer."
12
+ },
13
+ {
14
+ "locale": "fr",
15
+ "name": "Notes",
16
+ "description": "Vos notes et listes de tâches par-dessus le jeu : jusqu’à huit notes, chacune avec un texte libre et une liste de tâches, les mêmes pour tous les jeux. Lisez-les en mode passif ; en mode interactif, choisissez, créez, supprimez et modifiez-les dans le widget, et cochez les éléments. Elles restent sur cet ordinateur."
17
+ }
18
+ ]
19
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "label": "Notes",
3
+ "loading": "Loading notes…",
4
+ "add-note": "Add note",
5
+ "choose": "Choose note",
6
+ "edit-current": "Edit current note",
7
+ "delete-current": "Delete current note",
8
+ "edit-note": "Edit note: {title}",
9
+ "delete-note": "Delete note: {title}",
10
+ "checklist": "Checklist",
11
+ "done": "Completed",
12
+ "todo": "To do",
13
+ "title-hint": "Note title",
14
+ "body-label": "Note text",
15
+ "item-hint": "Checklist item",
16
+ "new-item-hint": "Add an item…",
17
+ "remove-entry": "Remove item",
18
+ "checklist-full": "Checklist full",
19
+ "add-title": "Add a note title before saving",
20
+ "save": "Save",
21
+ "cancel": "Cancel",
22
+ "error-unavailable": "Notes could not be loaded or saved. Try again.",
23
+ "error-full": "You have reached the maximum number of notes.",
24
+ "error-permission": "Allow access to your notes in the Control Center."
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "label": "Notes",
3
+ "loading": "Chargement des notes…",
4
+ "add-note": "Ajouter une note",
5
+ "choose": "Choisir une note",
6
+ "edit-current": "Modifier la note actuelle",
7
+ "delete-current": "Supprimer la note actuelle",
8
+ "edit-note": "Modifier la note : {title}",
9
+ "delete-note": "Supprimer la note : {title}",
10
+ "checklist": "Liste de tâches",
11
+ "done": "Terminé",
12
+ "todo": "À faire",
13
+ "title-hint": "Titre de la note",
14
+ "body-label": "Texte de la note",
15
+ "item-hint": "Tâche",
16
+ "new-item-hint": "Ajouter une tâche…",
17
+ "remove-entry": "Supprimer la tâche",
18
+ "checklist-full": "Liste de tâches pleine",
19
+ "add-title": "Ajoutez un titre avant d’enregistrer",
20
+ "save": "Enregistrer",
21
+ "cancel": "Annuler",
22
+ "error-unavailable": "Impossible de charger ou d’enregistrer les notes. Réessayez.",
23
+ "error-full": "Vous avez atteint le nombre maximal de notes.",
24
+ "error-permission": "Autorisez l’accès à vos notes dans le Centre de contrôle."
25
+ }