webtalekit-alpha 0.2.11 → 0.2.13

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 (389) hide show
  1. package/.claude/settings.local.json +12 -0
  2. package/.clinerules +65 -0
  3. package/.history/README_20240812174230.md +193 -0
  4. package/.history/README_20240812175424.md +185 -0
  5. package/.history/README_20240812191012.md +185 -0
  6. package/.history/README_20240812191155.md +185 -0
  7. package/.history/README_20240812191211.md +185 -0
  8. package/.history/README_20240812192035.md +185 -0
  9. package/.history/dist/src/core/index_20240815021552.js +474 -0
  10. package/.history/dist/src/core/index_20240815022042.js +476 -0
  11. package/.history/dist/src/core/index_20240815022206.js +476 -0
  12. package/.history/dist/src/core/index_20240815023104.js +478 -0
  13. package/.history/dist/src/core/index_20240817022019.js +494 -0
  14. package/.history/dist/src/core/index_20240818013827.js +493 -0
  15. package/.history/dist/src/core/index_20240820001418.js +502 -0
  16. package/.history/package_20240812174230.json +45 -0
  17. package/.history/package_20240825011731.json +45 -0
  18. package/.history/package_20240825011739.json +44 -0
  19. package/.history/parser/parser_20240812174230.js +50 -0
  20. package/.history/parser/parser_20240825012739.js +47 -0
  21. package/.history/parser/parser_20240825012835.js +52 -0
  22. package/.history/src/core/drawer_20240813091343.ts +262 -0
  23. package/.history/src/core/drawer_20240815232345.ts +262 -0
  24. package/.history/src/core/drawer_20240815232350.ts +262 -0
  25. package/.history/src/core/drawer_20240816025257.ts +357 -0
  26. package/.history/src/core/drawer_20240816025358.ts +357 -0
  27. package/.history/src/core/drawer_20240816030148.ts +365 -0
  28. package/.history/src/core/drawer_20240816231033.ts +294 -0
  29. package/.history/src/core/drawer_20240816231107.ts +262 -0
  30. package/.history/src/core/drawer_20240816231234.ts +268 -0
  31. package/.history/src/core/drawer_20240817013836.ts +290 -0
  32. package/.history/src/core/drawer_20240817015150.ts +289 -0
  33. package/.history/src/core/drawer_20240817015353.ts +290 -0
  34. package/.history/src/core/drawer_20240817021254.ts +291 -0
  35. package/.history/src/core/drawer_20240817023440.ts +295 -0
  36. package/.history/src/core/drawer_20240817023445.ts +295 -0
  37. package/.history/src/core/drawer_20240818015327.ts +295 -0
  38. package/.history/src/core/drawer_20240819231006.ts +318 -0
  39. package/.history/src/core/drawer_20240820002829.ts +317 -0
  40. package/.history/src/core/drawer_20240820003141.ts +295 -0
  41. package/.history/src/core/drawer_20240824010043.ts +295 -0
  42. package/.history/src/core/drawer_20240825013311.ts +293 -0
  43. package/.history/src/core/drawer_20240902235257.ts +295 -0
  44. package/.history/src/core/drawer_20240904002038.ts +262 -0
  45. package/.history/src/core/drawer_20240904004020.ts +262 -0
  46. package/.history/src/core/drawer_20240904004238.ts +262 -0
  47. package/.history/src/core/drawer_20240904005648.ts +262 -0
  48. package/.history/src/core/drawer_20240904005808.ts +262 -0
  49. package/.history/src/core/drawer_20240904010523.ts +262 -0
  50. package/.history/src/core/drawer_20240904011611.ts +262 -0
  51. package/.history/src/core/drawer_20240904011740.ts +262 -0
  52. package/.history/src/core/index_20240812190102.js +443 -0
  53. package/.history/src/core/index_20240812190105.js +443 -0
  54. package/.history/src/core/index_20240812205421.js +452 -0
  55. package/.history/src/core/index_20240812213441.js +452 -0
  56. package/.history/src/core/index_20240812214203.js +453 -0
  57. package/.history/src/core/index_20240813090823.js +453 -0
  58. package/.history/src/core/index_20240813230449.js +452 -0
  59. package/.history/src/core/index_20240813230539.js +452 -0
  60. package/.history/src/core/index_20240813231447.js +453 -0
  61. package/.history/src/core/index_20240813231449.js +453 -0
  62. package/.history/src/core/index_20240813231511.js +453 -0
  63. package/.history/src/core/index_20240813231531.js +453 -0
  64. package/.history/src/core/index_20240813231913.js +453 -0
  65. package/.history/src/core/index_20240813232356.js +453 -0
  66. package/.history/src/core/index_20240813232640.js +453 -0
  67. package/.history/src/core/index_20240813232900.js +453 -0
  68. package/.history/src/core/index_20240814221127.js +454 -0
  69. package/.history/src/core/index_20240814221322.js +454 -0
  70. package/.history/src/core/index_20240814221526.js +454 -0
  71. package/.history/src/core/index_20240814222048.js +454 -0
  72. package/.history/src/core/index_20240814222918.js +459 -0
  73. package/.history/src/core/index_20240814223136.js +459 -0
  74. package/.history/src/core/index_20240814223501.js +464 -0
  75. package/.history/src/core/index_20240814224347.js +468 -0
  76. package/.history/src/core/index_20240815013712.js +474 -0
  77. package/.history/src/core/index_20240815021534.js +474 -0
  78. package/.history/src/core/index_20240815023143.js +477 -0
  79. package/.history/src/core/index_20240815023207.js +479 -0
  80. package/.history/src/core/index_20240815023344.js +481 -0
  81. package/.history/src/core/index_20240815035600.js +479 -0
  82. package/.history/src/core/index_20240815041549.js +480 -0
  83. package/.history/src/core/index_20240815185515.js +481 -0
  84. package/.history/src/core/index_20240815192158.js +481 -0
  85. package/.history/src/core/index_20240815222912.js +482 -0
  86. package/.history/src/core/index_20240815224052.js +483 -0
  87. package/.history/src/core/index_20240815224843.js +484 -0
  88. package/.history/src/core/index_20240815224850.js +483 -0
  89. package/.history/src/core/index_20240815231706.js +479 -0
  90. package/.history/src/core/index_20240816025748.js +483 -0
  91. package/.history/src/core/index_20240816030102.js +484 -0
  92. package/.history/src/core/index_20240817013329.js +485 -0
  93. package/.history/src/core/index_20240817013526.js +485 -0
  94. package/.history/src/core/index_20240817013819.js +488 -0
  95. package/.history/src/core/index_20240817013829.js +488 -0
  96. package/.history/src/core/index_20240817014921.js +494 -0
  97. package/.history/src/core/index_20240817022057.js +494 -0
  98. package/.history/src/core/index_20240817023316.js +493 -0
  99. package/.history/src/core/index_20240818005637.js +493 -0
  100. package/.history/src/core/index_20240818005721.js +493 -0
  101. package/.history/src/core/index_20240818011804.js +493 -0
  102. package/.history/src/core/index_20240818013835.js +493 -0
  103. package/.history/src/core/index_20240818014310.js +493 -0
  104. package/.history/src/core/index_20240818014323.js +493 -0
  105. package/.history/src/core/index_20240818014333.js +493 -0
  106. package/.history/src/core/index_20240818020725.js +496 -0
  107. package/.history/src/core/index_20240819195504.js +497 -0
  108. package/.history/src/core/index_20240819202012.js +495 -0
  109. package/.history/src/core/index_20240819231228.js +501 -0
  110. package/.history/src/core/index_20240819232555.js +502 -0
  111. package/.history/src/core/index_20240819233404.js +502 -0
  112. package/.history/src/core/index_20240820003114.js +495 -0
  113. package/.history/src/core/index_20240820003120.js +495 -0
  114. package/.history/src/core/index_20240820003331.js +495 -0
  115. package/.history/src/core/index_20240820004126.js +498 -0
  116. package/.history/src/core/index_20240820004357.js +497 -0
  117. package/.history/src/core/index_20240820005103.js +498 -0
  118. package/.history/src/core/index_20240820005110.js +499 -0
  119. package/.history/src/core/index_20240820005206.js +497 -0
  120. package/.history/src/core/index_20240820005352.js +497 -0
  121. package/{src/core/index.js → .history/src/core/index_20240823224904.ts} +75 -231
  122. package/.history/src/core/index_20240823224905.js +505 -0
  123. package/.history/src/core/index_20240823231631.ts +530 -0
  124. package/.history/src/core/index_20240823231735.ts +530 -0
  125. package/.history/src/core/index_20240823232123.ts +539 -0
  126. package/.history/src/core/index_20240823232329.ts +539 -0
  127. package/.history/src/core/index_20240823233058.ts +539 -0
  128. package/.history/src/core/index_20240823234946.ts +539 -0
  129. package/.history/src/core/index_20240824005956.ts +534 -0
  130. package/.history/src/core/index_20240824010113.ts +534 -0
  131. package/.history/src/core/index_20240824010124.ts +534 -0
  132. package/.history/src/core/index_20240824010212.ts +534 -0
  133. package/.history/src/core/index_20240824010218.ts +534 -0
  134. package/.history/src/core/index_20240824010407.ts +534 -0
  135. package/.history/src/core/index_20240824010611.ts +534 -0
  136. package/.history/src/core/index_20240824010623.ts +534 -0
  137. package/.history/src/core/index_20240824010652.ts +534 -0
  138. package/.history/src/core/index_20240824011007.ts +534 -0
  139. package/.history/src/core/index_20240824210450.ts +534 -0
  140. package/.history/src/core/index_20240824210703.ts +534 -0
  141. package/.history/src/core/index_20240824210708.ts +534 -0
  142. package/.history/src/core/index_20240824211001.ts +537 -0
  143. package/.history/src/core/index_20240824211258.ts +537 -0
  144. package/.history/src/core/index_20240824211654.ts +537 -0
  145. package/.history/src/core/index_20240824211723.ts +537 -0
  146. package/.history/src/core/index_20240824211808.ts +538 -0
  147. package/.history/src/core/index_20240824214041.js +538 -0
  148. package/.history/src/core/index_20240824215312.ts +538 -0
  149. package/.history/src/core/index_20240824215341.ts +538 -0
  150. package/.history/src/core/index_20240824220703.ts +538 -0
  151. package/.history/src/core/index_20240824220709.ts +538 -0
  152. package/.history/src/core/index_20240825012244.ts +536 -0
  153. package/.history/src/core/index_20240825012435.ts +539 -0
  154. package/.history/src/core/index_20240825012440.ts +539 -0
  155. package/.history/src/core/index_20240826005054.ts +539 -0
  156. package/.history/src/core/index_20240826005321.ts +540 -0
  157. package/.history/src/core/index_20240826005410.ts +539 -0
  158. package/.history/src/core/index_20240826005418.ts +539 -0
  159. package/.history/src/core/index_20240830231825.ts +539 -0
  160. package/.history/src/core/index_20240831022416.ts +539 -0
  161. package/.history/src/core/index_20240901222314.js +459 -0
  162. package/.history/src/core/index_20240901222951.js +459 -0
  163. package/.history/src/core/index_20240901223824.js +471 -0
  164. package/.history/src/core/index_20240901223833.js +468 -0
  165. package/.history/src/core/index_20240902223954.js +447 -0
  166. package/.history/src/core/index_20240902224000.js +446 -0
  167. package/.history/src/core/index_20240902230345.js +448 -0
  168. package/.history/src/core/index_20240902231130.js +449 -0
  169. package/.history/src/core/index_20240902231559.js +449 -0
  170. package/.history/src/core/index_20240902232135.js +449 -0
  171. package/.history/src/core/index_20240902232809.js +452 -0
  172. package/.history/src/core/index_20240902232815.js +452 -0
  173. package/.history/src/core/index_20240903000104.js +467 -0
  174. package/.history/src/core/index_20240904001731.js +444 -0
  175. package/.history/src/core/index_20240904002038.ts +539 -0
  176. package/.history/src/core/index_20240904011848.js +444 -0
  177. package/.history/src/core/index_20240904012138.js +444 -0
  178. package/.history/src/core/index_20240904012743.js +444 -0
  179. package/.history/src/core/index_20240904013051.js +444 -0
  180. package/.history/src/core/resourceManager_20240403231531.ts +16 -0
  181. package/.history/src/core/resourceManager_20240823232627.ts +17 -0
  182. package/.history/src/core/resourceManager_20240824214014.js +16 -0
  183. package/.history/src/core/resourceManager_20240824214620.js +17 -0
  184. package/.history/src/core/scenarioManager_20240812203410.ts +86 -0
  185. package/.history/src/core/scenarioManager_20240812203839.ts +94 -0
  186. package/.history/src/core/scenarioManager_20240812213437.ts +85 -0
  187. package/.history/src/core/scenarioManager_20240813225852.ts +85 -0
  188. package/.history/src/core/scenarioManager_20240823235010.ts +85 -0
  189. package/.history/src/core/scenarioManager_20240904002038.ts +94 -0
  190. package/.history/src/core/scenarioManager_20240904012411.ts +94 -0
  191. package/.history/src/core/scenarioManager_20240904012519.ts +94 -0
  192. package/.history/src/index_20240403231531.js +6 -0
  193. package/.history/src/index_20240429233436.js +8 -0
  194. package/.history/src/index_20240429233926.js +8 -0
  195. package/.history/src/index_20240429234401.js +7 -0
  196. package/.history/src/index_20240429234404.js +6 -0
  197. package/.history/src/resource/soundObject_20240419004314.ts +71 -0
  198. package/.history/src/resource/soundObject_20240815034420.ts +66 -0
  199. package/.history/src/resource/soundObject_20240815034836.ts +79 -0
  200. package/.history/src/resource/soundObject_20240815034919.ts +87 -0
  201. package/.history/src/resource/soundObject_20240815040724.ts +81 -0
  202. package/.history/src/resource/soundObject_20240815041022.ts +87 -0
  203. package/.history/src/resource/soundObject_20240815042103.ts +87 -0
  204. package/.history/src/resource/soundObject_20240823235929.ts +91 -0
  205. package/.history/src/resource/soundObject_20240824213129.ts +99 -0
  206. package/.history/src/resource/soundObject_20240824213611.ts +101 -0
  207. package/.history/src/resource/soundObject_20240824215734.ts +101 -0
  208. package/.history/src/resource/soundObject_20240825004926.ts +101 -0
  209. package/.history/src/resource/soundObject_20240825004947.ts +101 -0
  210. package/.history/src/utils/logger_20240812174230.ts +13 -0
  211. package/.history/src/utils/logger_20240823232736.ts +14 -0
  212. package/.history/src/utils/logger_20240824214930.js +14 -0
  213. package/.history/src/utils/store_20240812174230.ts +17 -0
  214. package/.history/src/utils/store_20240823232948.ts +29 -0
  215. package/.history/src/utils/store_20240824214020.js +17 -0
  216. package/.history/src/utils/store_20240824214955.js +29 -0
  217. package/.history/src/utils/waitUtil_20240812174230.ts +4 -0
  218. package/.history/src/utils/waitUtil_20240823232739.ts +4 -0
  219. package/.history/src/utils/waitUtil_20240824214024.js +4 -0
  220. package/.history/src/utils/waitUtil_20240824215009.js +4 -0
  221. package/.history/test/js/title_20240428215305.js +254 -0
  222. package/.history/test/js/title_20240429221911.js +227 -0
  223. package/.history/test/js/title_20240429222806.js +243 -0
  224. package/.history/test/js/title_20240429222854.js +263 -0
  225. package/.history/test/js/title_20240429222906.js +263 -0
  226. package/.history/test/js/title_20240429235639.js +263 -0
  227. package/.history/test/js/title_20240429235840.js +263 -0
  228. package/.history/test/js/title_20240430014721.js +262 -0
  229. package/.history/test/js/title_20240430014759.js +254 -0
  230. package/.history/test/js/title_20240430134612.js +285 -0
  231. package/.history/test/js/title_20240430141051.js +285 -0
  232. package/.history/test/js/title_20240430173745.js +245 -0
  233. package/.history/tsconfig_20240812174230.json +22 -0
  234. package/.history/tsconfig_20240824010157.json +19 -0
  235. package/.history/tsconfig_20240824220700.json +20 -0
  236. package/.history/tsconfig_20240825011301.json +20 -0
  237. package/.history/webpack.config_20240423002825.js +37 -0
  238. package/.history/webpack.config_20240430001157.js +38 -0
  239. package/.history/webpack.config_20240430001309.js +37 -0
  240. package/.history/webpack.config_20240430002112.js +37 -0
  241. package/CLAUDE.md +96 -0
  242. package/LICENSE +21 -0
  243. package/README.md +108 -39
  244. package/coverage/lcov-report/base.css +224 -0
  245. package/coverage/lcov-report/block-navigation.js +87 -0
  246. package/coverage/lcov-report/core/drawer.ts.html +1264 -0
  247. package/coverage/lcov-report/core/index.html +146 -0
  248. package/coverage/lcov-report/core/resourceManager.ts.html +136 -0
  249. package/coverage/lcov-report/core/scenarioManager.ts.html +373 -0
  250. package/coverage/lcov-report/favicon.png +0 -0
  251. package/coverage/lcov-report/index.html +146 -0
  252. package/coverage/lcov-report/prettify.css +1 -0
  253. package/coverage/lcov-report/prettify.js +2 -0
  254. package/coverage/lcov-report/resource/ImageObject.ts.html +433 -0
  255. package/coverage/lcov-report/resource/index.html +131 -0
  256. package/coverage/lcov-report/resource/soundObject.ts.html +346 -0
  257. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  258. package/coverage/lcov-report/sorter.js +196 -0
  259. package/coverage/lcov-report/utils/TextMeasurer.ts.html +520 -0
  260. package/coverage/lcov-report/utils/index.html +161 -0
  261. package/coverage/lcov-report/utils/logger.ts.html +142 -0
  262. package/coverage/lcov-report/utils/store.ts.html +151 -0
  263. package/coverage/lcov-report/utils/waitUtil.ts.html +97 -0
  264. package/coverage/lcov.info +882 -0
  265. package/dist/README.md +294 -0
  266. package/dist/engineConfig.json +10 -0
  267. package/dist/package.json +51 -0
  268. package/dist/parser/cli.js +61 -0
  269. package/dist/parser/parser.js +53 -0
  270. package/{src → dist/src}/core/drawer.js +0 -9
  271. package/dist/src/core/drawer.js.map +1 -0
  272. package/dist/src/core/index.js +969 -0
  273. package/{src → dist/src}/core/scenarioManager.js +5 -6
  274. package/dist/src/core/scenarioManager.js.map +1 -0
  275. package/{src → dist/src}/resource/soundObject.js +4 -2
  276. package/dist/src/resource/soundObject.js.map +1 -0
  277. package/dist/src/utils/fallbackTemplate.js +13 -0
  278. package/dist/src/utils/fallbackTemplate.js.map +1 -0
  279. package/dist/webtalekit-alpha-0.2.13.tgz +0 -0
  280. package/docs/event-system-specification.md +493 -0
  281. package/docs/glossary.html +833 -0
  282. package/docs/index.html +296 -0
  283. package/docs/tag-reference.html +1317 -0
  284. package/docs/ui-template-guide.html +1068 -0
  285. package/example/README.md +29 -0
  286. package/example/engineConfig.json +10 -0
  287. package/example/package-lock.json +5145 -0
  288. package/example/package.json +26 -0
  289. package/example/src/index.js +13 -0
  290. package/example/src/resource/background/beach.jpg +0 -0
  291. package/example/src/resource/background/city.jpg +0 -0
  292. package/example/src/resource/background/crossroad.jpg +0 -0
  293. package/example/src/resource/background/forest.jpg +0 -0
  294. package/example/src/resource/background/laboratory.jpg +0 -0
  295. package/example/src/resource/background/library.jpg +0 -0
  296. package/example/src/resource/background/living_room.jpg +0 -0
  297. package/example/src/resource/background/music_room.jpg +0 -0
  298. package/example/src/resource/background/stage.jpg +0 -0
  299. package/example/src/resource/background/sunset.jpg +0 -0
  300. package/example/src/resource/background/title_bg.png +0 -0
  301. package/example/src/resource/bgm/calm_music.wav +0 -0
  302. package/example/src/resource/bgm/doorbell.mp3 +0 -0
  303. package/example/src/resource/bgm/nc366476_Virtual_Voyage.mp3 +0 -0
  304. package/example/src/resource/bgm/title_theme.mp3 +0 -0
  305. package/example/src/resource/chara/dancer.png +0 -0
  306. package/example/src/resource/chara/guest.png +0 -0
  307. package/example/src/resource/chara/guide.png +0 -0
  308. package/example/src/resource/chara/scientist.png +0 -0
  309. package/example/src/resource/config.js +0 -0
  310. package/example/src/resource/se/doorbell.mp3 +0 -0
  311. package/example/src/resource/system/systemPicture/01_message/message.png +0 -0
  312. package/example/src/resource/system/systemPicture/02_button/button.png +0 -0
  313. package/example/src/resource/system/systemPicture/02_button/button2.png +0 -0
  314. package/example/src/resource/system/systemPicture/02_button/button3.png +0 -0
  315. package/example/src/resource/system/systemPicture/03_system_button/auto.png +0 -0
  316. package/example/src/resource/system/systemPicture/03_system_button/auto2.png +0 -0
  317. package/example/src/resource/system/systemPicture/03_system_button/close.png +0 -0
  318. package/example/src/resource/system/systemPicture/03_system_button/close2.png +0 -0
  319. package/example/src/resource/system/systemPicture/03_system_button/config.png +0 -0
  320. package/example/src/resource/system/systemPicture/03_system_button/config2.png +0 -0
  321. package/example/src/resource/system/systemPicture/03_system_button/load.png +0 -0
  322. package/example/src/resource/system/systemPicture/03_system_button/load2.png +0 -0
  323. package/example/src/resource/system/systemPicture/03_system_button/log.png +0 -0
  324. package/example/src/resource/system/systemPicture/03_system_button/log2.png +0 -0
  325. package/example/src/resource/system/systemPicture/03_system_button/menu.png +0 -0
  326. package/example/src/resource/system/systemPicture/03_system_button/menu2.png +0 -0
  327. package/example/src/resource/system/systemPicture/03_system_button/qload.png +0 -0
  328. package/example/src/resource/system/systemPicture/03_system_button/qload2.png +0 -0
  329. package/example/src/resource/system/systemPicture/03_system_button/qsave.png +0 -0
  330. package/example/src/resource/system/systemPicture/03_system_button/qsave2.png +0 -0
  331. package/example/src/resource/system/systemPicture/03_system_button/save.png +0 -0
  332. package/example/src/resource/system/systemPicture/03_system_button/save2.png +0 -0
  333. package/example/src/resource/system/systemPicture/03_system_button/screen.png +0 -0
  334. package/example/src/resource/system/systemPicture/03_system_button/screen2.png +0 -0
  335. package/example/src/resource/system/systemPicture/03_system_button/skip.png +0 -0
  336. package/example/src/resource/system/systemPicture/03_system_button/skip2.png +0 -0
  337. package/example/src/resource/system/systemPicture/03_system_button/title.png +0 -0
  338. package/example/src/resource/system/systemPicture/03_system_button/title2.png +0 -0
  339. package/example/src/resource/system/systemPicture//345/210/251/347/224/250/350/246/217/347/264/204.txt +0 -0
  340. package/example/src/resource/system/wait.gif +0 -0
  341. package/example/src/scene/animation.scene +28 -0
  342. package/example/src/scene/background.scene +29 -0
  343. package/example/src/scene/character.scene +26 -0
  344. package/example/src/scene/choice.scene +97 -0
  345. package/example/src/scene/dialog.scene +105 -0
  346. package/example/src/scene/effects.scene +38 -0
  347. package/example/src/scene/en/animation.scene +28 -0
  348. package/example/src/scene/en/background.scene +26 -0
  349. package/example/src/scene/en/character.scene +26 -0
  350. package/example/src/scene/en/choice.scene +32 -0
  351. package/example/src/scene/en/effects.scene +37 -0
  352. package/example/src/scene/en/sound.scene +26 -0
  353. package/example/src/scene/en/text.scene +26 -0
  354. package/example/src/scene/en/title.scene +39 -0
  355. package/example/src/scene/if_test.scene +37 -0
  356. package/example/src/scene/resource-error-test.scene +15 -0
  357. package/example/src/scene/save-load-test.scene +48 -0
  358. package/example/src/scene/sound.scene +26 -0
  359. package/example/src/scene/test_error.scene +21 -0
  360. package/example/src/scene/text.scene +34 -0
  361. package/example/src/scene/title.scene +51 -0
  362. package/example/src/screen/incoming.html +474 -0
  363. package/example/src/screen/title.html +135 -0
  364. package/example/src/template.html +16 -0
  365. package/example/test-results/.last-run.json +4 -0
  366. package/example/webpack.config.js +69 -0
  367. package/image.png +0 -0
  368. package/package.json +3 -1
  369. package/playwright-report/index.html +71 -0
  370. package/s-plan1-5Light-s-1.jpg +0 -0
  371. package/test-results/.last-run.json +6 -0
  372. package/tests/e2e/if-global-attribute.spec.js +90 -0
  373. package/tests/e2e/resource-error-handling.spec.js +58 -0
  374. package/tests/e2e/screenshots/before-error-check.png +0 -0
  375. package/tests/e2e/screenshots/choices.png +0 -0
  376. package/tests/e2e/screenshots/message-window-click-wait.png +0 -0
  377. package/src/core/drawer.js.map +0 -1
  378. package/src/core/scenarioManager.js.map +0 -1
  379. package/src/resource/soundObject.js.map +0 -1
  380. /package/{src → dist/src}/core/resourceManager.js +0 -0
  381. /package/{src → dist/src}/core/resourceManager.js.map +0 -0
  382. /package/{src → dist/src}/resource/ImageObject.js +0 -0
  383. /package/{src → dist/src}/resource/ImageObject.js.map +0 -0
  384. /package/{src → dist/src}/utils/logger.js +0 -0
  385. /package/{src → dist/src}/utils/logger.js.map +0 -0
  386. /package/{src → dist/src}/utils/store.js +0 -0
  387. /package/{src → dist/src}/utils/store.js.map +0 -0
  388. /package/{src → dist/src}/utils/waitUtil.js +0 -0
  389. /package/{src → dist/src}/utils/waitUtil.js.map +0 -0
@@ -0,0 +1,37 @@
1
+ const HtmlWebpackPlugin = require('html-webpack-plugin');
2
+ const path = require('path');
3
+
4
+ module.exports = {
5
+ mode: 'development',
6
+ entry: './src/index.js', // エントリーポイントのファイル
7
+ output: {
8
+ filename: 'bundle.js', // 出力ファイル名
9
+ path: path.resolve(__dirname, 'dist'), // 出力ディレクトリ
10
+ },
11
+ plugins: [
12
+ new HtmlWebpackPlugin({
13
+ template: './src/template.html', // (オプション) 使用するHTMLテンプレートファイル
14
+ filename: 'index.html', // 出力されるHTMLファイル名
15
+ }),
16
+ ],
17
+ devServer: {
18
+ static: './dist',
19
+ port: 8080,
20
+ headers: {
21
+ 'Feature-Policy': "autoplay 'self'"
22
+ },
23
+ },
24
+ module: {
25
+ rules: [
26
+ {
27
+ test: /\.tsx?$/,
28
+ use: 'ts-loader',
29
+ exclude: /node_modules/
30
+ }
31
+ ]
32
+ },
33
+ resolve: {
34
+ extensions: ['.tsx', '.ts', '.js']
35
+ },
36
+ devtool: 'inline-source-map'
37
+ };
@@ -0,0 +1,37 @@
1
+ const HtmlWebpackPlugin = require('html-webpack-plugin');
2
+ const path = require('path');
3
+
4
+ module.exports = {
5
+ mode: 'development',
6
+ entry: './src/index.js', // エントリーポイントのファイル
7
+ output: {
8
+ filename: 'bundle.js', // 出力ファイル名
9
+ path: path.resolve(__dirname, 'dist'), // 出力ディレクトリ
10
+ },
11
+ plugins: [
12
+ new HtmlWebpackPlugin({
13
+ template: './src/template.html', // (オプション) 使用するHTMLテンプレートファイル
14
+ filename: 'index.html', // 出力されるHTMLファイル名
15
+ }),
16
+ ],
17
+ devServer: {
18
+ static: './dist',
19
+ port: 8080,
20
+ headers: {
21
+ 'Feature-Policy': "autoplay 'self'"
22
+ },
23
+ },
24
+ module: {
25
+ rules: [
26
+ {
27
+ test: /\.tsx?$/,
28
+ use: 'ts-loader',
29
+ exclude: /node_modules/
30
+ }
31
+ ]
32
+ },
33
+ resolve: {
34
+ extensions: ['.tsx', '.ts', '.js']
35
+ },
36
+ devtool: 'source-map'
37
+ };
package/CLAUDE.md ADDED
@@ -0,0 +1,96 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ webTaleKit is a TypeScript-based visual novel game engine that allows creating interactive stories using HTML, CSS, and JavaScript. The engine supports flexible UI creation, scenario control with markup language and JavaScript, and automatic scaling for various window sizes.
8
+
9
+ ## Development Commands
10
+
11
+ ### Build and Development
12
+ - `npm run build` - Compile TypeScript to JavaScript and prepare distribution files
13
+ - `npm run dev` - Build the project and run development server in example folder
14
+ - `npm run lint` - Run ESLint for code quality checking
15
+ - `npm run test` - Run Jest tests
16
+
17
+ ### CLI Tool
18
+ - `wtc` - WebTaleScript parser CLI (available via `parser/cli.js`)
19
+ - Usage: `wtc <scene-file> [output-directory]` to convert .scene files to .js/.ts files
20
+
21
+ ## Architecture
22
+
23
+ ### Core Components
24
+
25
+ #### Core Engine (`src/core/`)
26
+ - **Core** (`src/core/index.js`): Main game engine class that orchestrates all game systems
27
+ - **ScenarioManager** (`src/core/scenarioManager.ts`): Manages game scenarios, progress, and history
28
+ - **Drawer** (`src/core/drawer.ts`): Handles canvas rendering and visual effects
29
+ - **ResourceManager** (`src/core/resourceManager.ts`): Manages game resources and assets
30
+
31
+ #### Resource Management (`src/resource/`)
32
+ - **ImageObject** (`src/resource/ImageObject.ts`): Handles image loading, filtering, and manipulation
33
+ - **SoundObject** (`src/resource/soundObject.ts`): Manages audio playback and sound effects
34
+
35
+ #### Utilities (`src/utils/`)
36
+ - **Logger** (`src/utils/logger.ts`): Logging system for debugging
37
+ - **Store** (`src/utils/store.ts`): Data persistence utilities
38
+ - **WaitUtil** (`src/utils/waitUtil.ts`): Async waiting utilities
39
+
40
+ ### Command System
41
+
42
+ The engine uses a command-based architecture where scenarios are executed through command handlers:
43
+
44
+ - `text` - Display text content
45
+ - `choice` - Present interactive choices
46
+ - `show/hide` - Display/remove images and characters
47
+ - `sound` - Play audio (BGM/SE)
48
+ - `say` - Character dialogue with optional voice
49
+ - `jump` - Navigate to different scenario points
50
+ - `if` - Conditional logic
51
+ - `call` - Execute JavaScript code
52
+ - `moveto` - Animate character movement
53
+ - `route` - Scene transitions
54
+
55
+ ### Configuration
56
+
57
+ - `engineConfig.json` - Main engine configuration (title, resolution, etc.)
58
+ - `example/src/resource/config.js` - Resource definitions for games
59
+ - Template HTML files define UI layouts
60
+
61
+ ### Scene File Format
62
+
63
+ Scene files use a custom markup language (`.scene` extension) that gets parsed into JavaScript by the CLI tool. The parser converts markup into scenario objects that the engine can execute.
64
+
65
+ ### Resource Structure
66
+
67
+ Game resources are organized in the `example/src/resource/` folder:
68
+ - `background/` - Background images
69
+ - `chara/` - Character sprites
70
+ - `bgm/` - Background music
71
+ - `se/` - Sound effects
72
+ - `system/` - UI elements and system graphics
73
+
74
+ ## Testing
75
+
76
+ - Uses Jest with TypeScript support
77
+ - Test files use `.test.ts` extension
78
+ - E2E tests available in `tests/e2e/` using Playwright
79
+ - Coverage reports generated in `coverage/` directory
80
+
81
+ ## Build Process
82
+
83
+ The build process:
84
+ 1. Compiles TypeScript files to JavaScript
85
+ 2. Copies necessary files (package.json, README.md, engineConfig.json, parser/)
86
+ 3. Outputs to `dist/` directory
87
+ 4. Preserves `src/core/index.js` as the main entry point
88
+
89
+ ## Development Notes
90
+
91
+ - The engine supports both JavaScript and TypeScript scene files
92
+ - Resources are loaded dynamically with existence checking
93
+ - The engine includes error handling for missing resources
94
+ - Supports REST API calls for AI integration
95
+ - Includes variable expansion using mustache syntax (`{{variable}}`)
96
+ - All commands support conditional execution with `if` attributes
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Endo_Hizumi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -9,6 +9,8 @@
9
9
  - 環境構築手順
10
10
  - 動作確認手順
11
11
  - Quick Start(デモゲームを弄ってみよう)
12
+ - 現在の状況
13
+ - ロードマップ
12
14
  - できること
13
15
  - できないこと
14
16
  - フィードバックフォームのご案内
@@ -28,7 +30,19 @@ Firefoxでも、Chromeでも、Edgeでも、好きなブラウザを使いたま
28
30
 
29
31
  ## 環境構築手順
30
32
 
31
- 1. Node.js(20以降)が必要です。(nvm等お好みの方法がある場合は、そちらでも構いません)
33
+ 1. Git が必要です。
34
+ - **インストール確認:** `git --version` でバージョンが表示されれば OK
35
+ - Windowsの場合は、Git公式サイト (<https://git-scm.com/>) からインストールしてください。
36
+ - Macの場合は、`brew install git` を実行してインストールしてください。
37
+ - Linuxの場合は、以下のコマンドを実行してインストールしてください。
38
+
39
+ ```bash
40
+ sudo apt-get update
41
+ sudo apt-get install git
42
+ ```
43
+
44
+ 2. Node.js(20以降)が必要です。(nvm等お好みの方法がある場合は、そちらでも構いません)
45
+ - **インストール確認:** `node --version` でv20以上のバージョンが表示されれば OK
32
46
  - Windowsの場合は、Node.js公式サイト (<https://nodejs.org/>) からインストールしてください。
33
47
  - Macの場合は、`brew install node` を実行してインストールしてください。
34
48
  - Linuxの場合は、以下のコマンドを実行して、インストールしてください。
@@ -38,13 +52,15 @@ Firefoxでも、Chromeでも、Edgeでも、好きなブラウザを使いたま
38
52
  sudo apt-get install -y nodejs
39
53
  ```
40
54
 
41
- 2. 以下のコマンドを実行してください
55
+ 3. 以下のコマンドを実行してください
42
56
 
43
57
  ``` bash
44
58
  npm create tale-game your-game-title
59
+ cd your-game-title
60
+ npm run play
45
61
  ```
46
62
 
47
- プロジェクトに移動して、`npm run play`を実行して、デモゲームが起動すれば、構築は完了です。
63
+ デモゲームが起動すれば、構築は完了です。
48
64
 
49
65
  ## 動作確認手順
50
66
 
@@ -56,42 +72,65 @@ npm install
56
72
  npm run play
57
73
  ```
58
74
 
59
- ## Quick Start(デモゲームを弄ってみよう
60
-
61
- ### 画像を差し替える
62
-
63
- - キャラを変える場合
64
- - src/resource/chara/guide.png に上書きしてください。
65
- - 背景画像を変える
66
- - src/resource/background/title_bg.png に上書きしてください。
67
- - BGMを変える
68
- - src/resource/bgm/title_theme.mp3 に上書きしてください。
69
-
70
- - 選択肢の画像を変える
71
- - src\resource\system\systemPicture\02_button\button.png に上書きしてください。
72
- - 選択肢(マウスオーバー時)の画像を変える
73
- - src\resource\system\systemPicture\02_button\button2.png に上書きしてください。
74
- - 選択肢(クリック時)の画像を変える
75
- - src\resource\system\systemPicture\02_button\button3.png に上書きしてください。
76
-
77
- - キャラを増やす
78
- - src\resource\character 以下に表示したい画像を置きます。
79
- - 登場させたい行数で、`<show src="表示したい画像のパス"></show>` を記述する
80
- - セリフを増やす
81
- - セリフを表示させたい行数で、`<say name="キャラの名前">セリフをここに入れる</say>` を記述する
82
- - 地の文を増やす
83
- - 地の文を表示させたい行数で、`<text>セリフをここに入れる</text>` を記述する
84
-
85
- - 選択肢を増やす
86
- - 43行目のchoiceタグの中(44行-50行)で、以下のように記述すると、選択されたときに、地の文を表示する
87
-
88
- ``` html
89
- <item label='選択肢の文言'>
90
- <text>セリフをここに入れる</text>
91
- </item>
92
- ```
75
+ ## Quick Start(デモゲームを弄ってみよう)
76
+
77
+ このセクションでは、プログラミングの知識がなくても簡単にゲームをカスタマイズできる方法を説明します。
78
+
79
+ ### 画像を差し替える(簡単なカスタマイズ)
80
+
81
+ **手順:** 既存の画像ファイルを新しい画像で置き換える(ファイル名は同じにしてください)
82
+
83
+ #### キャラクターや背景を変える
84
+
85
+ - **キャラを変える場合**
86
+ - `./src/resource/chara/guide.png` を新しいキャラ画像で上書きしてください(ファイル名は `guide.png` のまま)
87
+ - **背景画像を変える**
88
+ - `./src/resource/background/title_bg.png` を新しい背景画像で上書きしてください(ファイル名は `title_bg.png` のまま)
89
+ - **BGMを変える**
90
+ - `./src/resource/bgm/title_theme.mp3` を新しい音楽ファイルで上書きしてください(ファイル名は `title_theme.mp3` のまま)
91
+
92
+ #### ボタンの見た目を変える
93
+
94
+ - **選択肢の画像を変える**
95
+ - `./src/resource/system/systemPicture/02_button/button.png`(通常時)- ファイル名は `button.png` のまま上書き
96
+ - `./src/resource/system/systemPicture/02_button/button2.png`(マウスを乗せた時)- ファイル名は `button2.png` のまま上書き
97
+ - `./src/resource/system/systemPicture/02_button/button3.png`(クリック時)- ファイル名は `button3.png` のまま上書き
98
+
99
+ **パス表記について:**
100
+
101
+ - `./` は「現在のプロジェクトフォルダから」という意味です
102
+ - パス区切り文字は `/` (スラッシュ) を使用しています
103
+ - **Windowsをお使いの方:** `\` (バックスラッシュ) でも動作しますが、上記の `/` 形式を推奨します
104
+
105
+ ### シナリオファイルを編集する(テキストの変更)
106
+
107
+ シナリオファイル(`.scene`ファイル)をテキストエディタで開いて、以下の方法で内容を変更できます:
108
+
109
+ #### 基本的な要素の追加
110
+
111
+ - **キャラを増やす**
112
+ 1. `./src/resource/character` フォルダに新しいキャラ画像を保存
113
+ 2. シナリオファイルで `<show src="キャラ画像のファイル名"></show>` を記述
114
+ - **セリフを増やす**
115
+ - `<say name="キャラの名前">ここにセリフを入力</say>` を記述
116
+ - **地の文(ナレーション)を増やす**
117
+ - `<text>ここに地の文を入力</text>` を記述
118
+
119
+ **初心者の方へ:** まずは既存のテキストを変更することから始めることをお勧めします。
120
+
121
+ #### 選択肢を追加・変更する
122
+
123
+ 選択肢はプレイヤーがゲームの進行を選ぶ重要な要素です。シナリオファイル内の `<choice>` タグを編集することで変更できます。
93
124
 
94
- 実装例
125
+ **基本的な選択肢の書き方:**
126
+
127
+ ``` html
128
+ <item label='選択肢の文言'>
129
+ <text>選択後に表示される文章</text>
130
+ </item>
131
+ ```
132
+
133
+ **実用的な例:**
95
134
 
96
135
  ``` html
97
136
  <choice prompt="ゲームを始めますか?">
@@ -120,14 +159,31 @@ webTaleKitは、現在アルファ版です。
120
159
 
121
160
  検索Hashtag: #webTalekit
122
161
 
162
+ ## ロードマップ(実装予定)
163
+
164
+ | バージョン | コードネーム | codeName | 内容
165
+ | :--- | :--- | :--- | :---
166
+ | 0.1.0 | 初音| HATUNE | 初期リリース
167
+ | 0.2.0 | 礎 | ISHIZUE | 基本機能アップデート<br>0.2.12~<br>ダイアログ表示タグの追加<br>engineConfig反映バグの修正<br>未定義タグがある場合、undefineを呼び出すバグの修正<br>文字列以外を囲むとこける問題の修正<br>リンク切れでこける問題の修正<br>メッセージウインドウオーバーフローの修正<br>if属性の実装<br>for属性の実装<br>既読管理の追加
168
+ | 0.3.0 | 舞踊 | BUYO | - トランジション・アニメーション関連のアップデート<br>- テキストスピードの調整タグの追加<br>- テキスト表示フォントサイズの変更<br>- Webフォントのサポート(フォント変更設定の追加)<br>- 動画再生のサポート<br>- 子要素でフィルター・アニメーション設定
169
+ | 0.4.0 | 狭間 | HAZAMA | - Vue.jsやReact、SvelteなどのUIフレームワークとの連携追加のアップデート<br>
170
+ | 0.5.0 | 操手 | AYATURI | - ゲームパッドのサポート追加<br> - キーコンフィグの追加<br> - VOICEBOX APIの対応<br>- npm run recの追加
171
+ | 0.6.0 | 絡繰 | KARAKURI | - wtsLinterの追加<br>- VSCodeとの連携追加<br>- wst2htmlの追加<br>- プラグイン機能の追加<br>- クロスプラットホームへのビルド追加
172
+ | 0.7.0 | 綴り | TUDURI | GUIエディタの追加<br>
173
+ | 0.8.0 | 迅雷 | JINRAI | パフォーマンスアップデート<br>
174
+ | 0.9.0 | 出島 | DEJIMA | KAGタグコンバータの追加<br>
175
+ | 1.0.0 | 暁月 | AKATUKI | メジャーアップデート
176
+
123
177
  ## アルファ版(0.1.x-0.2.x)で、できること
124
178
 
125
179
  ### テキスト表示
180
+
126
181
  - 地の文の表示
127
182
  - キャラクターのセリフの表示・ボイスの再生
128
183
  - 定義した変数の表示
129
184
 
130
185
  ### キャラクター・画像操作
186
+
131
187
  - キャラクターの画像の表示・位置変更・アニメーション
132
188
  - その他の画像の画像の表示・位置変更・アニメーション
133
189
  - キャラクターの複数表示・位置変更・アニメーション
@@ -135,6 +191,7 @@ webTaleKitは、現在アルファ版です。
135
191
  - 背景画像の表示・変更
136
192
 
137
193
  ### 画像処理
194
+
138
195
  - 画像のフィルター操作
139
196
  - モノクロ化
140
197
  - セピア化
@@ -142,6 +199,7 @@ webTaleKitは、現在アルファ版です。
142
199
  - サイズの変更
143
200
 
144
201
  ### ユーザーインタラクション
202
+
145
203
  - 選択肢の表示
146
204
  - 選択肢の画像の変更
147
205
  - 通常時
@@ -151,19 +209,23 @@ webTaleKitは、現在アルファ版です。
151
209
  - Enterキーで全文表示
152
210
 
153
211
  ### シナリオ制御
212
+
154
213
  - 表示する文章・画像の条件分岐
155
214
  - セリフのジャンプ
156
215
  - シナリオ(シーン)の切り替え
157
216
 
158
217
  ### 音声
218
+
159
219
  - BGMの再生・停止
160
220
  - SEの再生・停止
161
221
 
162
222
  ### システム設定・UI
223
+
163
224
  - HTMLで作った画面の表示
164
225
  - 解像度の設定変更
165
226
 
166
227
  ### プログラミング連携
228
+
167
229
  - JavaScript連携
168
230
  - メソッドの呼び出し
169
231
  - 式の実行
@@ -175,21 +237,26 @@ webTaleKitは、現在アルファ版です。
175
237
  ## アルファ版(0.1.x-0.2.x)の制限事項
176
238
 
177
239
  ### ビルド・プラットフォーム
240
+
178
241
  - Desktopアプリケーションへのビルド
179
242
  - Android(iOS)向けのビルド
180
243
 
181
244
  ### ユーザーインターフェース (UI)
245
+
182
246
  - 画面各種のボタン
183
247
  - セーブファイルの一覧の取得
184
248
 
185
249
  ### キャラクター操作
250
+
186
251
  - sayタグの以下の機能
187
252
  - キャラが表示されていないときは、表示する
188
253
 
189
254
  ### セーブ&ロード
255
+
190
256
  - セーブ&ロード機能
191
257
 
192
258
  ### 視覚効果
259
+
193
260
  - showタグ / hideタグの以下の機能
194
261
  - 子要素でフィルター指定
195
262
  - 子要素でアニメーション指定
@@ -198,6 +265,7 @@ webTaleKitは、現在アルファ版です。
198
265
  - maskタグ(画面の暗転)
199
266
 
200
267
  ### 音声
268
+
201
269
  - soundタグの以下の機能
202
270
  - pause
203
271
  - setVolume
@@ -207,10 +275,11 @@ webTaleKitは、現在アルファ版です。
207
275
  - seエイリアス
208
276
 
209
277
  ### リソース管理
210
- - JavaScript側での背景画像の変更
278
+
211
279
  - JavaScriptでのリソースの動的定義
212
280
 
213
281
  ### 設定・最適化
282
+
214
283
  - ゲーム設定ファイルの反映
215
284
  - 画面用HTMLのcss・jsのインライン化・minify化
216
285
 
@@ -0,0 +1,224 @@
1
+ body, html {
2
+ margin:0; padding: 0;
3
+ height: 100%;
4
+ }
5
+ body {
6
+ font-family: Helvetica Neue, Helvetica, Arial;
7
+ font-size: 14px;
8
+ color:#333;
9
+ }
10
+ .small { font-size: 12px; }
11
+ *, *:after, *:before {
12
+ -webkit-box-sizing:border-box;
13
+ -moz-box-sizing:border-box;
14
+ box-sizing:border-box;
15
+ }
16
+ h1 { font-size: 20px; margin: 0;}
17
+ h2 { font-size: 14px; }
18
+ pre {
19
+ font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
20
+ margin: 0;
21
+ padding: 0;
22
+ -moz-tab-size: 2;
23
+ -o-tab-size: 2;
24
+ tab-size: 2;
25
+ }
26
+ a { color:#0074D9; text-decoration:none; }
27
+ a:hover { text-decoration:underline; }
28
+ .strong { font-weight: bold; }
29
+ .space-top1 { padding: 10px 0 0 0; }
30
+ .pad2y { padding: 20px 0; }
31
+ .pad1y { padding: 10px 0; }
32
+ .pad2x { padding: 0 20px; }
33
+ .pad2 { padding: 20px; }
34
+ .pad1 { padding: 10px; }
35
+ .space-left2 { padding-left:55px; }
36
+ .space-right2 { padding-right:20px; }
37
+ .center { text-align:center; }
38
+ .clearfix { display:block; }
39
+ .clearfix:after {
40
+ content:'';
41
+ display:block;
42
+ height:0;
43
+ clear:both;
44
+ visibility:hidden;
45
+ }
46
+ .fl { float: left; }
47
+ @media only screen and (max-width:640px) {
48
+ .col3 { width:100%; max-width:100%; }
49
+ .hide-mobile { display:none!important; }
50
+ }
51
+
52
+ .quiet {
53
+ color: #7f7f7f;
54
+ color: rgba(0,0,0,0.5);
55
+ }
56
+ .quiet a { opacity: 0.7; }
57
+
58
+ .fraction {
59
+ font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
60
+ font-size: 10px;
61
+ color: #555;
62
+ background: #E8E8E8;
63
+ padding: 4px 5px;
64
+ border-radius: 3px;
65
+ vertical-align: middle;
66
+ }
67
+
68
+ div.path a:link, div.path a:visited { color: #333; }
69
+ table.coverage {
70
+ border-collapse: collapse;
71
+ margin: 10px 0 0 0;
72
+ padding: 0;
73
+ }
74
+
75
+ table.coverage td {
76
+ margin: 0;
77
+ padding: 0;
78
+ vertical-align: top;
79
+ }
80
+ table.coverage td.line-count {
81
+ text-align: right;
82
+ padding: 0 5px 0 20px;
83
+ }
84
+ table.coverage td.line-coverage {
85
+ text-align: right;
86
+ padding-right: 10px;
87
+ min-width:20px;
88
+ }
89
+
90
+ table.coverage td span.cline-any {
91
+ display: inline-block;
92
+ padding: 0 5px;
93
+ width: 100%;
94
+ }
95
+ .missing-if-branch {
96
+ display: inline-block;
97
+ margin-right: 5px;
98
+ border-radius: 3px;
99
+ position: relative;
100
+ padding: 0 4px;
101
+ background: #333;
102
+ color: yellow;
103
+ }
104
+
105
+ .skip-if-branch {
106
+ display: none;
107
+ margin-right: 10px;
108
+ position: relative;
109
+ padding: 0 4px;
110
+ background: #ccc;
111
+ color: white;
112
+ }
113
+ .missing-if-branch .typ, .skip-if-branch .typ {
114
+ color: inherit !important;
115
+ }
116
+ .coverage-summary {
117
+ border-collapse: collapse;
118
+ width: 100%;
119
+ }
120
+ .coverage-summary tr { border-bottom: 1px solid #bbb; }
121
+ .keyline-all { border: 1px solid #ddd; }
122
+ .coverage-summary td, .coverage-summary th { padding: 10px; }
123
+ .coverage-summary tbody { border: 1px solid #bbb; }
124
+ .coverage-summary td { border-right: 1px solid #bbb; }
125
+ .coverage-summary td:last-child { border-right: none; }
126
+ .coverage-summary th {
127
+ text-align: left;
128
+ font-weight: normal;
129
+ white-space: nowrap;
130
+ }
131
+ .coverage-summary th.file { border-right: none !important; }
132
+ .coverage-summary th.pct { }
133
+ .coverage-summary th.pic,
134
+ .coverage-summary th.abs,
135
+ .coverage-summary td.pct,
136
+ .coverage-summary td.abs { text-align: right; }
137
+ .coverage-summary td.file { white-space: nowrap; }
138
+ .coverage-summary td.pic { min-width: 120px !important; }
139
+ .coverage-summary tfoot td { }
140
+
141
+ .coverage-summary .sorter {
142
+ height: 10px;
143
+ width: 7px;
144
+ display: inline-block;
145
+ margin-left: 0.5em;
146
+ background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
147
+ }
148
+ .coverage-summary .sorted .sorter {
149
+ background-position: 0 -20px;
150
+ }
151
+ .coverage-summary .sorted-desc .sorter {
152
+ background-position: 0 -10px;
153
+ }
154
+ .status-line { height: 10px; }
155
+ /* yellow */
156
+ .cbranch-no { background: yellow !important; color: #111; }
157
+ /* dark red */
158
+ .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
159
+ .low .chart { border:1px solid #C21F39 }
160
+ .highlighted,
161
+ .highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
162
+ background: #C21F39 !important;
163
+ }
164
+ /* medium red */
165
+ .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
166
+ /* light red */
167
+ .low, .cline-no { background:#FCE1E5 }
168
+ /* light green */
169
+ .high, .cline-yes { background:rgb(230,245,208) }
170
+ /* medium green */
171
+ .cstat-yes { background:rgb(161,215,106) }
172
+ /* dark green */
173
+ .status-line.high, .high .cover-fill { background:rgb(77,146,33) }
174
+ .high .chart { border:1px solid rgb(77,146,33) }
175
+ /* dark yellow (gold) */
176
+ .status-line.medium, .medium .cover-fill { background: #f9cd0b; }
177
+ .medium .chart { border:1px solid #f9cd0b; }
178
+ /* light yellow */
179
+ .medium { background: #fff4c2; }
180
+
181
+ .cstat-skip { background: #ddd; color: #111; }
182
+ .fstat-skip { background: #ddd; color: #111 !important; }
183
+ .cbranch-skip { background: #ddd !important; color: #111; }
184
+
185
+ span.cline-neutral { background: #eaeaea; }
186
+
187
+ .coverage-summary td.empty {
188
+ opacity: .5;
189
+ padding-top: 4px;
190
+ padding-bottom: 4px;
191
+ line-height: 1;
192
+ color: #888;
193
+ }
194
+
195
+ .cover-fill, .cover-empty {
196
+ display:inline-block;
197
+ height: 12px;
198
+ }
199
+ .chart {
200
+ line-height: 0;
201
+ }
202
+ .cover-empty {
203
+ background: white;
204
+ }
205
+ .cover-full {
206
+ border-right: none !important;
207
+ }
208
+ pre.prettyprint {
209
+ border: none !important;
210
+ padding: 0 !important;
211
+ margin: 0 !important;
212
+ }
213
+ .com { color: #999 !important; }
214
+ .ignore-none { color: #999; font-weight: normal; }
215
+
216
+ .wrapper {
217
+ min-height: 100%;
218
+ height: auto !important;
219
+ height: 100%;
220
+ margin: 0 auto -48px;
221
+ }
222
+ .footer, .push {
223
+ height: 48px;
224
+ }