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,474 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ja">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>着信画面</title>
8
+ <style>
9
+
10
+ #dialogContainer {
11
+ background-color: transparent;
12
+ }
13
+
14
+ .phone-screen {
15
+ position: relative;
16
+ width: 100%;
17
+ max-width: 375px;
18
+ height: 100vh;
19
+ max-height: 812px;
20
+ background: linear-gradient(135deg, #0f172a, #1e293b, #0f172a);
21
+ overflow: hidden;
22
+ border-radius: 30px;
23
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
24
+ }
25
+
26
+ /* ステータスバー */
27
+ .status-bar {
28
+ position: relative;
29
+ z-index: 10;
30
+ display: flex;
31
+ justify-content: space-between;
32
+ align-items: center;
33
+ padding: 16px 24px 0;
34
+ color: white;
35
+ font-size: 14px;
36
+ }
37
+
38
+ .signal {
39
+ display: flex;
40
+ gap: 4px;
41
+ }
42
+
43
+ .signal-dot {
44
+ width: 4px;
45
+ height: 4px;
46
+ background-color: white;
47
+ border-radius: 50%;
48
+ }
49
+
50
+ .signal-weak {
51
+ opacity: 0.5;
52
+ }
53
+
54
+ .battery {
55
+ display: flex;
56
+ align-items: center;
57
+ gap: 4px;
58
+ }
59
+
60
+ .battery-percent {
61
+ font-size: 12px;
62
+ }
63
+
64
+ .battery-icon {
65
+ width: 24px;
66
+ height: 12px;
67
+ border: 1px solid white;
68
+ border-radius: 2px;
69
+ padding: 1px;
70
+ }
71
+
72
+ .battery-level {
73
+ width: 100%;
74
+ height: 100%;
75
+ background-color: #4ade80;
76
+ border-radius: 1px;
77
+ }
78
+
79
+ /* 背景オーバーレイ */
80
+ .phone-screen::before {
81
+ content: "";
82
+ position: absolute;
83
+ inset: 0;
84
+ background-color: rgba(0, 0, 0, 0.4);
85
+ z-index: 1;
86
+ }
87
+
88
+ /* 着信ラベル */
89
+ .incoming-label {
90
+ position: relative;
91
+ z-index: 10;
92
+ text-align: center;
93
+ margin-top: 32px;
94
+ }
95
+
96
+ .incoming-text {
97
+ color: rgba(255, 255, 255, 0.8);
98
+ font-size: 14px;
99
+ }
100
+
101
+ .phone-type {
102
+ color: white;
103
+ font-size: 12px;
104
+ margin-top: 4px;
105
+ }
106
+
107
+ /* 発信者情報 */
108
+ .caller-info {
109
+ position: relative;
110
+ z-index: 10;
111
+ display: flex;
112
+ flex-direction: column;
113
+ align-items: center;
114
+ margin-top: 48px;
115
+ }
116
+
117
+ .avatar-container {
118
+ position: relative;
119
+ }
120
+
121
+ .avatar {
122
+ width: 128px;
123
+ height: 128px;
124
+ border-radius: 50%;
125
+ border: 4px solid rgba(255, 255, 255, 0.2);
126
+ display: flex;
127
+ justify-content: center;
128
+ align-items: center;
129
+ overflow: hidden;
130
+ background-color: #475569;
131
+ color: white;
132
+ font-size: 32px;
133
+ }
134
+
135
+ .avatar-image {
136
+ width: 100%;
137
+ height: 100%;
138
+ background-image: url("https://placeholder.pics/svg/128");
139
+ background-size: cover;
140
+ background-position: center;
141
+ }
142
+
143
+ .avatar-fallback {
144
+ position: absolute;
145
+ top: 0;
146
+ left: 0;
147
+ width: 100%;
148
+ height: 100%;
149
+ display: flex;
150
+ justify-content: center;
151
+ align-items: center;
152
+ }
153
+
154
+ .avatar-ring {
155
+ position: absolute;
156
+ inset: -4px;
157
+ border-radius: 50%;
158
+ border: 4px solid rgba(255, 255, 255, 0.3);
159
+ animation: ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
160
+ }
161
+
162
+ .caller-name {
163
+ color: white;
164
+ font-size: 24px;
165
+ font-weight: 300;
166
+ margin-top: 24px;
167
+ }
168
+
169
+ .caller-number {
170
+ color: rgba(255, 255, 255, 0.7);
171
+ font-size: 18px;
172
+ margin-top: 4px;
173
+ }
174
+
175
+ /* アクションボタン */
176
+ .dialog-buttons {
177
+ position: absolute;
178
+ bottom: 0;
179
+ left: 0;
180
+ right: 0;
181
+ padding: 32px;
182
+ z-index: 10;
183
+ }
184
+
185
+ .additional-options {
186
+ display: flex;
187
+ justify-content: center;
188
+ gap: 32px;
189
+ margin-bottom: 32px;
190
+ }
191
+
192
+ .option-button {
193
+ width: 48px;
194
+ height: 48px;
195
+ border-radius: 50%;
196
+ background-color: rgba(255, 255, 255, 0.1);
197
+ border: 1px solid rgba(255, 255, 255, 0.2);
198
+ color: white;
199
+ display: flex;
200
+ justify-content: center;
201
+ align-items: center;
202
+ cursor: pointer;
203
+ transition: background-color 0.2s;
204
+ }
205
+
206
+ .option-button:hover {
207
+ background-color: rgba(255, 255, 255, 0.2);
208
+ }
209
+
210
+ .main-actions {
211
+ display: flex;
212
+ justify-content: space-between;
213
+ align-items: center;
214
+ }
215
+
216
+ .dialog-button {
217
+ width: 64px;
218
+ height: 64px;
219
+ border-radius: 50%;
220
+ border: 4px solid rgba(255, 255, 255, 0.2);
221
+ color: white;
222
+ display: flex;
223
+ justify-content: center;
224
+ align-items: center;
225
+ cursor: pointer;
226
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
227
+ }
228
+
229
+ .decline-button {
230
+ background-color: #ef4444;
231
+ }
232
+
233
+ .decline-button:hover {
234
+ background-color: #dc2626;
235
+ }
236
+
237
+ .answer-button {
238
+ background-color: #22c55e;
239
+ animation: bounce 2s infinite;
240
+ }
241
+
242
+ .answer-button:hover {
243
+ background-color: #16a34a;
244
+ }
245
+
246
+ .slide-hint {
247
+ text-align: center;
248
+ margin-top: 24px;
249
+ }
250
+
251
+ .slide-hint p {
252
+ color: rgba(255, 255, 255, 0.6);
253
+ font-size: 14px;
254
+ }
255
+
256
+ /* 装飾要素 */
257
+ .decoration-dot {
258
+ position: absolute;
259
+ background-color: rgba(255, 255, 255, 0.1);
260
+ border-radius: 50%;
261
+ z-index: 2;
262
+ }
263
+
264
+ .dot1 {
265
+ top: 25%;
266
+ left: 16px;
267
+ width: 8px;
268
+ height: 8px;
269
+ animation: pulse 3s infinite;
270
+ }
271
+
272
+ .dot2 {
273
+ top: 33%;
274
+ right: 24px;
275
+ width: 4px;
276
+ height: 4px;
277
+ animation: pulse 3s infinite 1s;
278
+ }
279
+
280
+ .dot3 {
281
+ bottom: 33%;
282
+ left: 32px;
283
+ width: 6px;
284
+ height: 6px;
285
+ animation: pulse 3s infinite 0.5s;
286
+ }
287
+
288
+ /* アニメーション */
289
+ @keyframes ping {
290
+
291
+ 75%,
292
+ 100% {
293
+ transform: scale(1.5);
294
+ opacity: 0;
295
+ }
296
+ }
297
+
298
+ @keyframes pulse {
299
+
300
+ 0%,
301
+ 100% {
302
+ opacity: 0.5;
303
+ }
304
+
305
+ 50% {
306
+ opacity: 1;
307
+ }
308
+ }
309
+
310
+ @keyframes bounce {
311
+
312
+ 0%,
313
+ 100% {
314
+ transform: translateY(0);
315
+ }
316
+
317
+ 50% {
318
+ transform: translateY(-10px);
319
+ }
320
+ }
321
+
322
+ .hidden {
323
+ display: none;
324
+ }
325
+
326
+ .pulse {
327
+ animation: pulse 1.5s infinite;
328
+ }
329
+ </style>
330
+ </head>
331
+
332
+ <body>
333
+ <dialog id="dialogContainer">
334
+ <div class="phone-screen">
335
+ <!-- ステータスバー -->
336
+ <div class="status-bar">
337
+ <div class="signal">
338
+ <div class="signal-dot"></div>
339
+ <div class="signal-dot"></div>
340
+ <div class="signal-dot signal-weak"></div>
341
+ </div>
342
+ <div class="time" id="current-time">12:30</div>
343
+ <div class="battery">
344
+ <span class="battery-percent">100%</span>
345
+ <div class="battery-icon">
346
+ <div class="battery-level"></div>
347
+ </div>
348
+ </div>
349
+ </div>
350
+
351
+ <!-- 着信ラベル -->
352
+ <div class="incoming-label">
353
+ <p class="incoming-text">着信中</p>
354
+ <p class="phone-type">携帯電話</p>
355
+ </div>
356
+
357
+ <!-- 発信者情報 -->
358
+ <div class="caller-info">
359
+ <div class="avatar-container" id="avatar-container">
360
+ <div class="avatar">
361
+ <div class="avatar-image"></div>
362
+ <div class="avatar-fallback">田中</div>
363
+ </div>
364
+ <div class="avatar-ring"></div>
365
+ </div>
366
+
367
+ <h2 class="caller-name">田中 太郎</h2>
368
+ <p class="caller-number">090-1234-5678</p>
369
+ </div>
370
+
371
+ <!-- アクションボタン -->
372
+ <div class="dialog-buttons">
373
+ <div class="additional-options">
374
+ <button id="dialog-button-message" class="option-button message-button">
375
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
376
+ stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
377
+ <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
378
+ </svg>
379
+ </button>
380
+
381
+ <button id="dialog-button-contact" class="option-button contact-button">
382
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
383
+ stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
384
+ <path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path>
385
+ <circle cx="9" cy="7" r="4"></circle>
386
+ <line x1="19" y1="8" x2="19" y2="14"></line>
387
+ <line x1="16" y1="11" x2="22" y2="11"></line>
388
+ </svg>
389
+ </button>
390
+ </div>
391
+
392
+ <div class="main-actions">
393
+ <button id="dialog-button-decline" class="dialog-button decline-button">
394
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
395
+ stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
396
+ <path
397
+ d="M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91">
398
+ </path>
399
+ <line x1="22" y1="2" x2="2" y2="22"></line>
400
+ </svg>
401
+ </button>
402
+
403
+ <button id="dialog-button-answer" class="dialog-button answer-button">
404
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
405
+ stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
406
+ <path
407
+ d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z">
408
+ </path>
409
+ </svg>
410
+ </button>
411
+ </div>
412
+
413
+ <div class="slide-hint" id="slide-hint">
414
+ <p>スライドして応答</p>
415
+ </div>
416
+ </div>
417
+
418
+ <!-- 装飾要素 -->
419
+ <div class="decoration-dot dot1"></div>
420
+ <div class="decoration-dot dot2"></div>
421
+ <div class="decoration-dot dot3"></div>
422
+ </div>
423
+ </dialog>
424
+ <script>document.addEventListener("DOMContentLoaded", () => {
425
+ // 現在時刻の更新
426
+ function updateTime() {
427
+ const now = new Date()
428
+ const hours = now.getHours().toString().padStart(2, "0")
429
+ const minutes = now.getMinutes().toString().padStart(2, "0")
430
+ document.getElementById("current-time").textContent = `${hours}:${minutes}`
431
+ }
432
+
433
+ // 初期時刻設定と1分ごとの更新
434
+ updateTime()
435
+ setInterval(updateTime, 60000)
436
+
437
+ // 着信状態の管理
438
+ let isRinging = true
439
+ const avatarContainer = document.getElementById("avatar-container")
440
+ const answerButton = document.getElementById("answer-button")
441
+ const declineButton = document.getElementById("decline-button")
442
+ const slideHint = document.getElementById("slide-hint")
443
+
444
+ // 通話応答処理
445
+ function handleAnswer() {
446
+ isRinging = false
447
+ avatarContainer.querySelector(".avatar-ring").classList.add("hidden")
448
+ answerButton.classList.remove("bounce")
449
+ slideHint.classList.add("hidden")
450
+ // ここで通話応答のロジックを実装
451
+ alert("通話に応答しました")
452
+ }
453
+
454
+ // 通話拒否処理
455
+ function handleDecline() {
456
+ isRinging = false
457
+ avatarContainer.querySelector(".avatar-ring").classList.add("hidden")
458
+ answerButton.classList.remove("bounce")
459
+ slideHint.classList.add("hidden")
460
+ // ここで通話拒否のロジックを実装
461
+ alert("通話を拒否しました")
462
+ }
463
+
464
+ // ボタンイベントリスナー
465
+ answerButton.addEventListener("click", handleAnswer)
466
+ declineButton.addEventListener("click", handleDecline)
467
+
468
+ // アバターのパルスアニメーション
469
+ avatarContainer.classList.add("pulse")
470
+ })
471
+ </script>
472
+ </body>
473
+
474
+ </html>
@@ -0,0 +1,135 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ja">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>WebTaleKit</title>
8
+ <style>
9
+ body,
10
+ html {
11
+ margin: 0;
12
+ padding: 0;
13
+ height: 100%;
14
+ font-family: Arial, sans-serif;
15
+ display: flex;
16
+ justify-content: center;
17
+ /* 水平方向の中央揃え */
18
+ align-items: center;
19
+ /* 垂直方向の中央揃え */
20
+ background-color: #000;
21
+ }
22
+
23
+ #gameContainer {
24
+ position: relative;
25
+ width: 1280px;
26
+ height: 720px;
27
+ background-color: #000;
28
+ color: #fff;
29
+ display: flex;
30
+ /* Flexboxを有効化 */
31
+ justify-content: center;
32
+ /* 水平方向の中央揃え */
33
+ align-items: center;
34
+ /* 垂直方向の中央揃え */
35
+ }
36
+
37
+ #interactiveView {
38
+ position: absolute;
39
+ width: 100%;
40
+ height: 500px;
41
+ display: flex;
42
+ flex-direction: column;
43
+ flex-wrap: wrap;
44
+ justify-content: center;
45
+ align-content: center;
46
+ top: 0px;
47
+ }
48
+
49
+ #nameView {
50
+ user-select: none;
51
+ position: absolute;
52
+ top: -10px;
53
+ left: 0;
54
+ width: 100%;
55
+ height: 50px;
56
+ color: #fff;
57
+ padding: 10px;
58
+ box-sizing: border-box;
59
+ overflow-y: auto;
60
+ font-weight: bold;
61
+ font-size: larger;
62
+ }
63
+
64
+ p#messageView {
65
+ padding-left: 30px;
66
+ padding-top: 30px;
67
+ text-shadow: #000;
68
+ }
69
+
70
+ #messageWindow {
71
+ user-select: none;
72
+ position: absolute;
73
+ bottom: 30px;
74
+ left: 0;
75
+ width: 100%;
76
+ height: calc(720px / 4);
77
+ /* 4分の1の高さ */
78
+ background-color: rgba(28, 41, 189, 0.3);
79
+ /* 半透明 */
80
+ color: #fff;
81
+ padding: 10px;
82
+ box-sizing: border-box;
83
+ overflow-y: auto;
84
+ }
85
+
86
+ .controls {
87
+ display: flex;
88
+ justify-content: space-around;
89
+ position: absolute;
90
+ bottom: 0;
91
+ left: 0;
92
+ width: 100%;
93
+ height: 30px;
94
+ background-color: #000;
95
+ color: #fff;
96
+ }
97
+
98
+ .control-item {
99
+ text-decoration: none;
100
+ color: #fff;
101
+ }
102
+
103
+ #waitCircle {
104
+ position: absolute;
105
+ right: 10px;
106
+ bottom: 10px;
107
+ }
108
+ </style>
109
+ </head>
110
+
111
+ <body>
112
+ <div id="main">
113
+ <div id="interactiveView"></div>
114
+ <div id="messageWindow">
115
+ <p id="nameView"></p>
116
+ <p id="messageView"></p>
117
+ <img id="waitCircle" src="./src/resource/system/wait.gif" style="visibility: hidden;" width="20px"
118
+ height="20px">
119
+ </div>
120
+ <div class="controls">
121
+ <a href="#" class="control-item">skip</a>
122
+ <a href="#" class="control-item">auto</a>
123
+ <a href="#" class="control-item">save</a>
124
+ <a href="#" class="control-item">load</a>
125
+ <a href="#" class="control-item">q.save</a>
126
+ <a href="#" class="control-item">q.load</a>
127
+ <a href="#" class="control-item">log</a>
128
+ <a href="#" class="control-item">config</a>
129
+ <a href="#" class="control-item">title</a>
130
+ <a href="#" class="control-item">close</a>
131
+ </div>
132
+ </div>
133
+ </body>
134
+
135
+ </html>
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html lang="ja">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>example</title>
8
+ </head>
9
+
10
+ <body>
11
+ <div id="gameContainer">
12
+
13
+ </div>
14
+ </body>
15
+
16
+ </html>
@@ -0,0 +1,4 @@
1
+ {
2
+ "status": "failed",
3
+ "failedTests": []
4
+ }
@@ -0,0 +1,69 @@
1
+ const HtmlWebpackPlugin = require('html-webpack-plugin')
2
+ const path = require('path')
3
+ const FileManagerPlugin = require('filemanager-webpack-plugin')
4
+
5
+ module.exports = {
6
+ mode: 'development',
7
+ entry: './src/index.js',
8
+ devtool: 'source-map',
9
+ output: {
10
+ publicPath: '/',
11
+ filename: 'bundle.js',
12
+ path: path.resolve(__dirname, 'dist'),
13
+ chunkFilename: 'src/js/[name].bundle.js',
14
+ },
15
+ resolve: {
16
+ extensions: ['.ts', '.js'],
17
+ fallback: {
18
+ console: require.resolve('console-browserify'),
19
+ util: false,
20
+ assert: false,
21
+ },
22
+ },
23
+ externals: {
24
+ webtalekit: 'commonjs webtalekit',
25
+ },
26
+ devServer: {
27
+ static: {
28
+ directory: path.join(__dirname, 'dist'),
29
+ },
30
+ port: 8080,
31
+ headers: {
32
+ 'Feature-Policy': "autoplay 'self'",
33
+ 'Access-Control-Allow-Origin': '*',
34
+ 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
35
+ 'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization',
36
+ },
37
+ },
38
+ plugins: [
39
+ new HtmlWebpackPlugin({
40
+ template: './src/template.html',
41
+ filename: 'index.html',
42
+ }),
43
+ new FileManagerPlugin({
44
+ events: {
45
+ onEnd: {
46
+ copy: [
47
+ {
48
+ source: path.resolve(__dirname, './src/resource'),
49
+ destination: path.resolve(__dirname, 'dist/src/resource'),
50
+ },
51
+ {
52
+ source: path.resolve(__dirname, './src/screen'),
53
+ destination: path.resolve(__dirname, 'dist/src/screen'),
54
+ },
55
+ ],
56
+ },
57
+ },
58
+ }),
59
+ ],
60
+ module: {
61
+ rules: [
62
+ {
63
+ test: /\\.ts$/,
64
+ use: 'ts-loader',
65
+ exclude: /node_modules/,
66
+ },
67
+ ],
68
+ },
69
+ }
package/image.png ADDED
Binary file