webtalekit-alpha 0.2.10 → 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 (391) 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 -224
  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 +149 -48
  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 +2 -11
  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/ImageObject.js +2 -2
  276. package/{src → dist/src}/resource/soundObject.js +6 -4
  277. package/dist/src/resource/soundObject.js.map +1 -0
  278. package/dist/src/utils/fallbackTemplate.js +13 -0
  279. package/dist/src/utils/fallbackTemplate.js.map +1 -0
  280. package/{src → dist/src}/utils/logger.js +4 -3
  281. package/dist/src/utils/logger.js.map +1 -0
  282. package/{src → dist/src}/utils/waitUtil.js +4 -3
  283. package/dist/src/utils/waitUtil.js.map +1 -0
  284. package/dist/webtalekit-alpha-0.2.13.tgz +0 -0
  285. package/docs/event-system-specification.md +493 -0
  286. package/docs/glossary.html +833 -0
  287. package/docs/index.html +296 -0
  288. package/docs/tag-reference.html +1317 -0
  289. package/docs/ui-template-guide.html +1068 -0
  290. package/example/README.md +29 -0
  291. package/example/engineConfig.json +10 -0
  292. package/example/package-lock.json +5145 -0
  293. package/example/package.json +26 -0
  294. package/example/src/index.js +13 -0
  295. package/example/src/resource/background/beach.jpg +0 -0
  296. package/example/src/resource/background/city.jpg +0 -0
  297. package/example/src/resource/background/crossroad.jpg +0 -0
  298. package/example/src/resource/background/forest.jpg +0 -0
  299. package/example/src/resource/background/laboratory.jpg +0 -0
  300. package/example/src/resource/background/library.jpg +0 -0
  301. package/example/src/resource/background/living_room.jpg +0 -0
  302. package/example/src/resource/background/music_room.jpg +0 -0
  303. package/example/src/resource/background/stage.jpg +0 -0
  304. package/example/src/resource/background/sunset.jpg +0 -0
  305. package/example/src/resource/background/title_bg.png +0 -0
  306. package/example/src/resource/bgm/calm_music.wav +0 -0
  307. package/example/src/resource/bgm/doorbell.mp3 +0 -0
  308. package/example/src/resource/bgm/nc366476_Virtual_Voyage.mp3 +0 -0
  309. package/example/src/resource/bgm/title_theme.mp3 +0 -0
  310. package/example/src/resource/chara/dancer.png +0 -0
  311. package/example/src/resource/chara/guest.png +0 -0
  312. package/example/src/resource/chara/guide.png +0 -0
  313. package/example/src/resource/chara/scientist.png +0 -0
  314. package/example/src/resource/config.js +0 -0
  315. package/example/src/resource/se/doorbell.mp3 +0 -0
  316. package/example/src/resource/system/systemPicture/01_message/message.png +0 -0
  317. package/example/src/resource/system/systemPicture/02_button/button.png +0 -0
  318. package/example/src/resource/system/systemPicture/02_button/button2.png +0 -0
  319. package/example/src/resource/system/systemPicture/02_button/button3.png +0 -0
  320. package/example/src/resource/system/systemPicture/03_system_button/auto.png +0 -0
  321. package/example/src/resource/system/systemPicture/03_system_button/auto2.png +0 -0
  322. package/example/src/resource/system/systemPicture/03_system_button/close.png +0 -0
  323. package/example/src/resource/system/systemPicture/03_system_button/close2.png +0 -0
  324. package/example/src/resource/system/systemPicture/03_system_button/config.png +0 -0
  325. package/example/src/resource/system/systemPicture/03_system_button/config2.png +0 -0
  326. package/example/src/resource/system/systemPicture/03_system_button/load.png +0 -0
  327. package/example/src/resource/system/systemPicture/03_system_button/load2.png +0 -0
  328. package/example/src/resource/system/systemPicture/03_system_button/log.png +0 -0
  329. package/example/src/resource/system/systemPicture/03_system_button/log2.png +0 -0
  330. package/example/src/resource/system/systemPicture/03_system_button/menu.png +0 -0
  331. package/example/src/resource/system/systemPicture/03_system_button/menu2.png +0 -0
  332. package/example/src/resource/system/systemPicture/03_system_button/qload.png +0 -0
  333. package/example/src/resource/system/systemPicture/03_system_button/qload2.png +0 -0
  334. package/example/src/resource/system/systemPicture/03_system_button/qsave.png +0 -0
  335. package/example/src/resource/system/systemPicture/03_system_button/qsave2.png +0 -0
  336. package/example/src/resource/system/systemPicture/03_system_button/save.png +0 -0
  337. package/example/src/resource/system/systemPicture/03_system_button/save2.png +0 -0
  338. package/example/src/resource/system/systemPicture/03_system_button/screen.png +0 -0
  339. package/example/src/resource/system/systemPicture/03_system_button/screen2.png +0 -0
  340. package/example/src/resource/system/systemPicture/03_system_button/skip.png +0 -0
  341. package/example/src/resource/system/systemPicture/03_system_button/skip2.png +0 -0
  342. package/example/src/resource/system/systemPicture/03_system_button/title.png +0 -0
  343. package/example/src/resource/system/systemPicture/03_system_button/title2.png +0 -0
  344. package/example/src/resource/system/systemPicture//345/210/251/347/224/250/350/246/217/347/264/204.txt +0 -0
  345. package/example/src/resource/system/wait.gif +0 -0
  346. package/example/src/scene/animation.scene +28 -0
  347. package/example/src/scene/background.scene +29 -0
  348. package/example/src/scene/character.scene +26 -0
  349. package/example/src/scene/choice.scene +97 -0
  350. package/example/src/scene/dialog.scene +105 -0
  351. package/example/src/scene/effects.scene +38 -0
  352. package/example/src/scene/en/animation.scene +28 -0
  353. package/example/src/scene/en/background.scene +26 -0
  354. package/example/src/scene/en/character.scene +26 -0
  355. package/example/src/scene/en/choice.scene +32 -0
  356. package/example/src/scene/en/effects.scene +37 -0
  357. package/example/src/scene/en/sound.scene +26 -0
  358. package/example/src/scene/en/text.scene +26 -0
  359. package/example/src/scene/en/title.scene +39 -0
  360. package/example/src/scene/if_test.scene +37 -0
  361. package/example/src/scene/resource-error-test.scene +15 -0
  362. package/example/src/scene/save-load-test.scene +48 -0
  363. package/example/src/scene/sound.scene +26 -0
  364. package/example/src/scene/test_error.scene +21 -0
  365. package/example/src/scene/text.scene +34 -0
  366. package/example/src/scene/title.scene +51 -0
  367. package/example/src/screen/incoming.html +474 -0
  368. package/example/src/screen/title.html +135 -0
  369. package/example/src/template.html +16 -0
  370. package/example/test-results/.last-run.json +4 -0
  371. package/example/webpack.config.js +69 -0
  372. package/image.png +0 -0
  373. package/package.json +3 -1
  374. package/playwright-report/index.html +71 -0
  375. package/s-plan1-5Light-s-1.jpg +0 -0
  376. package/test-results/.last-run.json +6 -0
  377. package/tests/e2e/if-global-attribute.spec.js +90 -0
  378. package/tests/e2e/resource-error-handling.spec.js +58 -0
  379. package/tests/e2e/screenshots/before-error-check.png +0 -0
  380. package/tests/e2e/screenshots/choices.png +0 -0
  381. package/tests/e2e/screenshots/message-window-click-wait.png +0 -0
  382. package/src/core/drawer.js.map +0 -1
  383. package/src/core/scenarioManager.js.map +0 -1
  384. package/src/resource/soundObject.js.map +0 -1
  385. package/src/utils/logger.js.map +0 -1
  386. package/src/utils/waitUtil.js.map +0 -1
  387. /package/{src → dist/src}/core/resourceManager.js +0 -0
  388. /package/{src → dist/src}/core/resourceManager.js.map +0 -0
  389. /package/{src → dist/src}/resource/ImageObject.js.map +0 -0
  390. /package/{src → dist/src}/utils/store.js +0 -0
  391. /package/{src → dist/src}/utils/store.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>` を記述
93
118
 
94
- 実装例
119
+ **初心者の方へ:** まずは既存のテキストを変更することから始めることをお勧めします。
120
+
121
+ #### 選択肢を追加・変更する
122
+
123
+ 選択肢はプレイヤーがゲームの進行を選ぶ重要な要素です。シナリオファイル内の `<choice>` タグを編集することで変更できます。
124
+
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,54 +159,113 @@ webTaleKitは、現在アルファ版です。
120
159
 
121
160
  検索Hashtag: #webTalekit
122
161
 
123
- ## アルファ版で、できること
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
+
177
+ ## アルファ版(0.1.x-0.2.x)で、できること
178
+
179
+ ### テキスト表示
124
180
 
125
181
  - 地の文の表示
126
182
  - キャラクターのセリフの表示・ボイスの再生
183
+ - 定義した変数の表示
184
+
185
+ ### キャラクター・画像操作
186
+
127
187
  - キャラクターの画像の表示・位置変更・アニメーション
128
188
  - その他の画像の画像の表示・位置変更・アニメーション
129
189
  - キャラクターの複数表示・位置変更・アニメーション
130
190
  - CGの表示・変更
131
191
  - 背景画像の表示・変更
192
+
193
+ ### 画像処理
194
+
132
195
  - 画像のフィルター操作
133
196
  - モノクロ化
134
197
  - セピア化
135
198
  - 透明度の変更
136
199
  - サイズの変更
137
- - REST API呼び出し(レスポンスの表示)
138
- - 定義した変数の表示
139
- - 表示する文章・画像の条件分岐
200
+
201
+ ### ユーザーインタラクション
202
+
140
203
  - 選択肢の表示
141
204
  - 選択肢の画像の変更
142
205
  - 通常時
143
206
  - マウスオーバー
144
207
  - 選択時
145
- - セリフのジャンプ
146
208
  - Ctrlキーでの強制スキップ
147
209
  - Enterキーで全文表示
210
+
211
+ ### シナリオ制御
212
+
213
+ - 表示する文章・画像の条件分岐
214
+ - セリフのジャンプ
148
215
  - シナリオ(シーン)の切り替え
216
+
217
+ ### 音声
218
+
149
219
  - BGMの再生・停止
150
220
  - SEの再生・停止
221
+
222
+ ### システム設定・UI
223
+
151
224
  - HTMLで作った画面の表示
152
225
  - 解像度の設定変更
226
+
227
+ ### プログラミング連携
228
+
153
229
  - JavaScript連携
154
230
  - メソッドの呼び出し
155
231
  - 式の実行
156
232
  - 変数の定義・値の変更
233
+ - JavaScript側での背景画像の変更
234
+ - TypeScript連携
235
+ - REST API呼び出し(レスポンスの表示)
157
236
 
158
- ## アルファ版(0.2.x-0.1.x)で出来ないこと
237
+ ## アルファ版(0.1.x-0.2.x)の制限事項
238
+
239
+ ### ビルド・プラットフォーム
159
240
 
160
241
  - Desktopアプリケーションへのビルド
161
242
  - Android(iOS)向けのビルド
243
+
244
+ ### ユーザーインターフェース (UI)
245
+
162
246
  - 画面各種のボタン
247
+ - セーブファイルの一覧の取得
248
+
249
+ ### キャラクター操作
250
+
163
251
  - sayタグの以下の機能
164
252
  - キャラが表示されていないときは、表示する
253
+
254
+ ### セーブ&ロード
255
+
165
256
  - セーブ&ロード機能
257
+
258
+ ### 視覚効果
259
+
166
260
  - showタグ / hideタグの以下の機能
167
261
  - 子要素でフィルター指定
168
262
  - 子要素でアニメーション指定
169
263
  - スラッシュで区切ってリソース種類を指定
170
- - JavaScript側での背景画像の変更
264
+ - quakeタグ(画面を揺らす)
265
+ - maskタグ(画面の暗転)
266
+
267
+ ### 音声
268
+
171
269
  - soundタグの以下の機能
172
270
  - pause
173
271
  - setVolume
@@ -175,10 +273,13 @@ webTaleKitは、現在アルファ版です。
175
273
  - bgmエイリアス
176
274
  - voiceエイリアス
177
275
  - seエイリアス
178
- - quakeタグ(画面を揺らす)
179
- - maskタグ(画面の暗転)
276
+
277
+ ### リソース管理
278
+
180
279
  - JavaScriptでのリソースの動的定義
181
- - セーブファイルの一覧の取得
280
+
281
+ ### 設定・最適化
282
+
182
283
  - ゲーム設定ファイルの反映
183
284
  - 画面用HTMLのcss・jsのインライン化・minify化
184
285