bard-legends-framework 0.11.0 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/dist/actions-performance.test.d.ts +1 -0
  2. package/dist/actions-performance.test.js +83 -0
  3. package/dist/game-entities/controller/controller.d.ts +2 -2
  4. package/dist/game-entities/controller/controller.js +8 -8
  5. package/dist/game-entities/controller/controller.test.js +2 -2
  6. package/dist/game-entities/entity/entity.d.ts +7 -7
  7. package/dist/game-entities/entity/entity.js +18 -12
  8. package/dist/game-entities/entity/entity.test.js +93 -30
  9. package/dist/game-entities/entity/helpers/entity-store.helper.d.ts +3 -3
  10. package/dist/game-entities/entity/helpers/entity-store.helper.js +12 -12
  11. package/dist/game-entities/entity/helpers/entity-store.helper.test.js +11 -11
  12. package/dist/game-entities/entity/helpers/entity-views.helper.d.ts +6 -6
  13. package/dist/game-entities/entity/helpers/entity-views.helper.js +25 -22
  14. package/dist/game-entities/entity/singleton-entity.test.js +9 -4
  15. package/dist/game-entities/hard-reset.d.ts +5 -0
  16. package/dist/game-entities/hard-reset.js +14 -0
  17. package/dist/game-entities/index.d.ts +1 -1
  18. package/dist/game-entities/index.js +3 -3
  19. package/dist/game-entities/scene/scene.d.ts +13 -13
  20. package/dist/game-entities/scene/scene.js +41 -46
  21. package/dist/game-entities/scene/scene.test.js +95 -37
  22. package/dist/game-entities/service/service.d.ts +1 -4
  23. package/dist/game-entities/service/service.js +12 -13
  24. package/dist/game-entities/service/service.test.js +33 -12
  25. package/dist/game-entities/unit-test.helper.js +1 -1
  26. package/dist/game-entities/update-cycle.d.ts +7 -17
  27. package/dist/game-entities/update-cycle.js +25 -19
  28. package/dist/game-entities/view/view.d.ts +6 -6
  29. package/dist/game-entities/view/view.js +15 -21
  30. package/dist/game-entities/view/view.test.js +40 -9
  31. package/dist/physics/entity-types/immovable-physics-entity.d.ts +1 -1
  32. package/dist/physics/entity-types/immovable-physics-entity.js +4 -4
  33. package/dist/physics/entity-types/movable-entity.d.ts +1 -1
  34. package/dist/physics/entity-types/movable-entity.js +2 -2
  35. package/dist/physics/entity-types/movable-physics-entity.d.ts +8 -8
  36. package/dist/physics/entity-types/movable-physics-entity.js +27 -27
  37. package/dist/physics/entity-types/physics-entity.d.ts +10 -14
  38. package/dist/physics/entity-types/physics-entity.js +27 -26
  39. package/dist/physics/interfaces.d.ts +6 -6
  40. package/dist/physics/interfaces.js +4 -4
  41. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.d.ts +16 -16
  42. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics-internal.controller.js +22 -22
  43. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.d.ts +19 -19
  44. package/dist/physics/module//342/232/234/357/270/217gateways/controllers/physics.controller.js +30 -30
  45. package/dist/physics/module//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +3 -3
  46. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.d.ts +10 -10
  47. package/dist/physics/module//342/232/234/357/270/217gateways/physics-internal.gateway.js +16 -16
  48. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.d.ts +10 -10
  49. package/dist/physics/module//342/232/234/357/270/217gateways/physics.gateway.js +18 -18
  50. package/dist/physics/module//360/237/223/220services/collision/collisions.service.d.ts +5 -5
  51. package/dist/physics/module//360/237/223/220services/collision/collisions.service.js +17 -17
  52. package/dist/physics/module//360/237/223/220services/collision/hit-test.service.d.ts +4 -4
  53. package/dist/physics/module//360/237/223/220services/collision/hit-test.service.js +11 -11
  54. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.d.ts +2 -2
  55. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +4 -4
  56. package/dist/physics/module//360/237/223/220services/creation/border.service.d.ts +2 -2
  57. package/dist/physics/module//360/237/223/220services/creation/border.service.js +9 -9
  58. package/dist/physics/module//360/237/223/220services/creation/materials.service.d.ts +7 -7
  59. package/dist/physics/module//360/237/223/220services/creation/materials.service.js +17 -17
  60. package/dist/physics/module//360/237/223/220services/creation/physics-world.service.d.ts +11 -11
  61. package/dist/physics/module//360/237/223/220services/creation/physics-world.service.js +27 -26
  62. package/dist/physics/module//360/237/223/220services/creation/shape-creation.service.d.ts +4 -4
  63. package/dist/physics/module//360/237/223/220services/creation/shape-creation.service.js +13 -13
  64. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.d.ts +9 -9
  65. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +19 -19
  66. package/dist/physics/module//360/237/223/220services/impact/explosion.service.d.ts +9 -9
  67. package/dist/physics/module//360/237/223/220services/impact/explosion.service.js +20 -20
  68. package/dist/physics/module//360/237/223/220services/impact/ray-cast-hit-converter.d.ts +1 -1
  69. package/dist/physics/module//360/237/223/220services/impact/ray-cast-hit-converter.js +4 -4
  70. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid-cache.service.d.ts +2 -2
  71. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid-cache.service.js +3 -3
  72. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.d.ts +5 -5
  73. package/dist/physics/module//360/237/223/220services/path-finding/availability-grid.service.js +12 -12
  74. package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.d.ts +4 -4
  75. package/dist/physics/module//360/237/223/220services/path-finding/path-finder.service.js +12 -12
  76. package/dist/physics/module//360/237/223/220services/query/physics-query.service.d.ts +4 -4
  77. package/dist/physics/module//360/237/223/220services/query/physics-query.service.js +4 -4
  78. package/dist/physics/module//360/237/223/220services/ray-casting/ray-casting.service.d.ts +1 -4
  79. package/dist/physics/module//360/237/223/220services/ray-casting/ray-casting.service.js +7 -15
  80. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.d.ts +9 -9
  81. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +43 -42
  82. package/dist/physics/module//360/237/247/212entities/border.entity.d.ts +1 -1
  83. package/dist/physics/module//360/237/247/212entities/border.entity.js +3 -3
  84. package/dist/pixi/components/display-object-array.d.ts +5 -5
  85. package/dist/pixi/components/display-object-array.js +14 -14
  86. package/dist/pixi/components/helpers/smooth-scroller.d.ts +7 -7
  87. package/dist/pixi/components/helpers/smooth-scroller.js +23 -23
  88. package/dist/pixi/components/helpers/smooth-scroller.test.js +14 -14
  89. package/dist/pixi/components/menu/menu-entity.d.ts +14 -0
  90. package/dist/pixi/components/menu/menu-entity.js +48 -0
  91. package/dist/pixi/components/menu/menu.ui.d.ts +23 -0
  92. package/dist/pixi/components/menu/menu.ui.js +97 -0
  93. package/dist/pixi/components/mouse-wheel-listener.ui.d.ts +2 -2
  94. package/dist/pixi/components/mouse-wheel-listener.ui.js +11 -11
  95. package/dist/pixi/components/scroll-area.ui.d.ts +1 -1
  96. package/dist/pixi/components/scroll-area.ui.js +9 -9
  97. package/dist/pixi/components/scroll-mask.ui.d.ts +9 -8
  98. package/dist/pixi/components/scroll-mask.ui.js +25 -24
  99. package/dist/pixi/display-object/container-attributes.d.ts +24 -25
  100. package/dist/pixi/display-object/container-attributes.js +26 -26
  101. package/dist/pixi/display-object/container.d.ts +3 -3
  102. package/dist/pixi/display-object/container.js +2 -2
  103. package/dist/pixi/display-object/filters/base-filters/blur.filter.d.ts +9 -9
  104. package/dist/pixi/display-object/filters/base-filters/blur.filter.js +25 -25
  105. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.d.ts +7 -7
  106. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +17 -17
  107. package/dist/pixi/display-object/filters/composite-filters/glow-filter.d.ts +6 -6
  108. package/dist/pixi/display-object/filters/composite-filters/glow-filter.js +10 -11
  109. package/dist/pixi/display-object/filters/helpers/gaussian-values.helper.d.ts +2 -2
  110. package/dist/pixi/display-object/filters/helpers/gaussian-values.helper.js +5 -5
  111. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.d.ts +5 -5
  112. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +8 -8
  113. package/dist/pixi/display-object/filters/templates/plane.template.d.ts +5 -5
  114. package/dist/pixi/display-object/filters/templates/plane.template.js +7 -7
  115. package/dist/pixi/display-object/filters.d.ts +7 -7
  116. package/dist/pixi/display-object/filters.js +34 -34
  117. package/dist/pixi/display-object/index.d.ts +1 -1
  118. package/dist/pixi/display-object/objects/graphics/graphics.d.ts +9 -9
  119. package/dist/pixi/display-object/objects/graphics/graphics.js +25 -25
  120. package/dist/pixi/display-object/objects/placeholder.d.ts +1 -1
  121. package/dist/pixi/display-object/objects/placeholder.js +7 -7
  122. package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.d.ts +9 -9
  123. package/dist/pixi/display-object/objects/sprite/glow-sprite-generator.js +26 -25
  124. package/dist/pixi/display-object/objects/sprite/sprite.d.ts +10 -9
  125. package/dist/pixi/display-object/objects/sprite/sprite.js +62 -53
  126. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/pixi-text-style-converter.d.ts +4 -3
  127. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.d.ts +6 -6
  128. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +16 -16
  129. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +28 -28
  130. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.d.ts +1 -1
  131. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.js +3 -3
  132. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.d.ts +17 -17
  133. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.js +62 -62
  134. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.test.js +2 -2
  135. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.d.ts +3 -3
  136. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.js +6 -6
  137. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.test.js +12 -12
  138. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +2 -2
  139. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.test.js +5 -5
  140. package/dist/pixi/display-object/objects/text/rich-text.d.ts +0 -1
  141. package/dist/pixi/display-object/objects/text/rich-text.js +0 -1
  142. package/dist/pixi/display-object/objects/text/text.d.ts +9 -10
  143. package/dist/pixi/display-object/objects/text/text.js +34 -35
  144. package/dist/pixi/game.d.ts +20 -15
  145. package/dist/pixi/game.js +40 -35
  146. package/dist/pixi/helpers/game-assets.d.ts +5 -5
  147. package/dist/pixi/helpers/game-assets.js +14 -11
  148. package/dist/pixi/helpers/position-conversion.helper.d.ts +4 -4
  149. package/dist/pixi/helpers/position-conversion.helper.js +3 -3
  150. package/dist/pixi/index.d.ts +3 -37
  151. package/dist/pixi/index.js +6 -22
  152. package/dist/pixi/modules/CAMERA/camera.d.ts +5 -4
  153. package/dist/pixi/modules/CAMERA/camera.js +9 -9
  154. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/camera-view.gateway.d.ts +3 -2
  155. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/camera-view.gateway.js +1 -1
  156. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera-view.controller.d.ts +3 -2
  157. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera-view.controller.js +5 -5
  158. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera.controller.d.ts +3 -3
  159. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/controllers/camera.controller.js +7 -7
  160. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/dtos/requests.dto.d.ts +8 -8
  161. package/dist/pixi/modules/CAMERA//342/232/234/357/270/217gateways/dtos/requests.dto.js +8 -8
  162. package/dist/pixi/modules/CAMERA//360/237/223/220services/camera.service.d.ts +2 -2
  163. package/dist/pixi/modules/CAMERA//360/237/223/220services/camera.service.js +12 -12
  164. package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.d.ts +17 -16
  165. package/dist/pixi/modules/CAMERA//360/237/247/251views/camera.view.js +49 -48
  166. package/dist/pixi/pixi-definitions.d.ts +38 -0
  167. package/dist/pixi/pixi-definitions.js +37 -0
  168. package/dist/pixi/services/keyboard/keyboard.d.ts +2 -2
  169. package/dist/pixi/services/keyboard/keyboard.js +9 -9
  170. package/dist/pixi/services/mouse/mouse-target-focus.service.d.ts +10 -10
  171. package/dist/pixi/services/mouse/mouse-target-focus.service.js +28 -28
  172. package/dist/pixi/services/mouse/mouse.service.d.ts +1 -1
  173. package/dist/pixi/services/mouse/mouse.service.js +5 -5
  174. package/dist/utilities/animator/animating-content/fade-in-content.test.d.ts +1 -0
  175. package/dist/utilities/animator/animating-content/fade-in-content.test.js +10 -0
  176. package/dist/utilities/animator/animating-content/slide-in-content.test.d.ts +1 -0
  177. package/dist/utilities/animator/animating-content/slide-in-content.test.js +10 -0
  178. package/dist/utilities/animator/animations.d.ts +14 -6
  179. package/dist/utilities/animator/animations.js +15 -11
  180. package/dist/utilities/animator/animator/animator.d.ts +44 -0
  181. package/dist/utilities/animator/animator/animator.js +234 -0
  182. package/dist/utilities/animator/animator/animator.memory-leak.test.d.ts +1 -0
  183. package/dist/utilities/animator/animator/animator.memory-leak.test.js +73 -0
  184. package/dist/utilities/animator/animator/animator.performance.test.d.ts +1 -0
  185. package/dist/utilities/animator/animator/animator.performance.test.js +116 -0
  186. package/dist/utilities/animator/animator/animator.test.d.ts +1 -0
  187. package/dist/utilities/animator/animator/animator.test.js +1046 -0
  188. package/dist/utilities/animator/animator.d.ts +2 -3
  189. package/dist/utilities/animator/animator.js +66 -59
  190. package/dist/utilities/animator/animator.performance.test.d.ts +1 -0
  191. package/dist/utilities/animator/animator.performance.test.js +46 -0
  192. package/dist/utilities/animator/animator.test.js +89 -28
  193. package/dist/utilities/animator/animator2/animator.d.ts +42 -0
  194. package/dist/utilities/animator/animator2/animator.js +222 -0
  195. package/dist/utilities/animator/animator2/animator.memory-leak.test.d.ts +1 -0
  196. package/dist/utilities/animator/animator2/animator.memory-leak.test.js +73 -0
  197. package/dist/utilities/animator/animator2/animator.performance.test.d.ts +1 -0
  198. package/dist/utilities/animator/animator2/animator.performance.test.js +65 -0
  199. package/dist/utilities/animator/animator2/animator.test.d.ts +1 -0
  200. package/dist/utilities/animator/animator2/animator.test.js +1007 -0
  201. package/dist/utilities/animator/animator_old/animator.d.ts +60 -0
  202. package/dist/utilities/animator/animator_old/animator.js +337 -0
  203. package/dist/utilities/animator/animator_old/animator.performance.test.d.ts +1 -0
  204. package/dist/utilities/animator/animator_old/animator.performance.test.js +121 -0
  205. package/dist/utilities/animator/animator_old/animator.test.d.ts +1 -0
  206. package/dist/utilities/animator/animator_old/animator.test.js +996 -0
  207. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.d.ts +18 -0
  208. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.js +37 -0
  209. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.test.d.ts +1 -0
  210. package/dist/utilities/animator/content-animations/fade-in/fade-in-content.test.js +10 -0
  211. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.d.ts +38 -0
  212. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.js +208 -0
  213. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.test.d.ts +1 -0
  214. package/dist/utilities/animator/content-animations/fade-in/fade-in-state-animation.test.js +439 -0
  215. package/dist/utilities/animator/content-animations/slide/slide-in-content.d.ts +41 -0
  216. package/dist/utilities/animator/content-animations/slide/slide-in-content.js +107 -0
  217. package/dist/utilities/animator/content-animations/slide/slide-in-content.test.d.ts +1 -0
  218. package/dist/utilities/animator/content-animations/slide/slide-in-content.test.js +10 -0
  219. package/dist/utilities/animator/content-animations/slide/slide-state-animation.d.ts +24 -0
  220. package/dist/utilities/animator/content-animations/slide/slide-state-animation.js +138 -0
  221. package/dist/utilities/animator/content-animations/slide/slide-state-animation.test.d.ts +1 -0
  222. package/dist/utilities/animator/content-animations/slide/slide-state-animation.test.js +307 -0
  223. package/dist/utilities/animator/content-animations/slide/state-animation.d.ts +37 -0
  224. package/dist/utilities/animator/content-animations/slide/state-animation.js +170 -0
  225. package/dist/utilities/animator/content-animations/slide/state-animation.test.d.ts +1 -0
  226. package/dist/utilities/animator/content-animations/slide/state-animation.test.js +340 -0
  227. package/dist/utilities/animator/index.d.ts +6 -6
  228. package/dist/utilities/animator/index.js +6 -6
  229. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.d.ts +18 -0
  230. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.js +37 -0
  231. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.test.d.ts +1 -0
  232. package/dist/utilities/animator/state-animation/fade-in/fade-in-content.test.js +10 -0
  233. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.d.ts +32 -0
  234. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.js +168 -0
  235. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.test.d.ts +1 -0
  236. package/dist/utilities/animator/state-animation/fade-in/fade-in-state-animation.test.js +431 -0
  237. package/dist/utilities/animator/state-animation/slide/slide-in-content.d.ts +37 -0
  238. package/dist/utilities/animator/state-animation/slide/slide-in-content.js +100 -0
  239. package/dist/utilities/animator/state-animation/slide/slide-in-content.test.d.ts +1 -0
  240. package/dist/utilities/animator/state-animation/slide/slide-in-content.test.js +10 -0
  241. package/dist/utilities/animator/state-animation/slide/slide-state-animation.d.ts +24 -0
  242. package/dist/utilities/animator/state-animation/slide/slide-state-animation.js +130 -0
  243. package/dist/utilities/animator/state-animation/slide/slide-state-animation.test.d.ts +1 -0
  244. package/dist/utilities/animator/state-animation/slide/slide-state-animation.test.js +301 -0
  245. package/dist/utilities/animator/state-animation/slide-state-animation.test.js +30 -30
  246. package/dist/utilities/animator/state-animation/state-animation.js +7 -7
  247. package/dist/utilities/animator/state-animation/state-animation.test.js +24 -24
  248. package/dist/utilities/animator/state-animation/visit-disappear-state-animation.test.js +30 -30
  249. package/dist/utilities/data-structures/vector-set/vector-set.d.ts +1 -1
  250. package/dist/utilities/data-structures/vector-set/vector-set.js +5 -5
  251. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.d.ts +1 -1
  252. package/dist/utilities/grid-algorithms/closest-available-space/closest-available-space.helper.js +5 -5
  253. package/dist/utilities/grid-algorithms/path-finder/path-finder.js +21 -21
  254. package/dist/utilities/grid-algorithms/path-finder/path-finder.test.js +9 -9
  255. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.d.ts +14 -14
  256. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.js +43 -43
  257. package/dist/utilities/grid-algorithms/vector-field-path-finder/vector-field-path-finder.test.js +21 -21
  258. package/package.json +7 -5
@@ -24,19 +24,19 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.RichTextDataInConverter = void 0;
27
- const PIXI = __importStar(require("pixi.js"));
27
+ const Pixi = __importStar(require("pixi.js"));
28
28
  const script_engine_lib_1 = require("script-engine-lib");
29
29
  const pixi_text_style_converter_1 = require("./pixi-text-style-converter");
30
30
  class RichTextDataInConverter {
31
31
  static process(text, options) {
32
32
  let styleNameSet = new Set(options.styles ? Object.keys(options.styles) : []);
33
33
  let textSegments = script_engine_lib_1.RichTextSeparator.process(text, styleNameSet);
34
- let tagsWithStyles = this.includeStylesToTags(textSegments, options);
35
- let lines = this.applyNewLines(tagsWithStyles);
36
- let chunks = this.splitIntoChunks(lines);
34
+ let tagsWithStyles = this._includeStylesToTags(textSegments, options);
35
+ let lines = this._applyNewLines(tagsWithStyles);
36
+ let chunks = this._splitIntoChunks(lines);
37
37
  return chunks;
38
38
  }
39
- static includeStylesToTags(textSegments, options) {
39
+ static _includeStylesToTags(textSegments, options) {
40
40
  let styleCache = new Map();
41
41
  let pixiStyleCache = new Map();
42
42
  const GetPixiStyle = (style, cacheKey) => {
@@ -48,9 +48,9 @@ class RichTextDataInConverter {
48
48
  return pixiStyle;
49
49
  };
50
50
  let tagsWithStyles = textSegments.map(segment => {
51
- let { style, cacheKey } = this.getCombinedStyle(segment.tags, options, styleCache);
51
+ let { style, cacheKey } = this._getCombinedStyle(segment.tags, options, styleCache);
52
52
  let pixiStyle = GetPixiStyle(style, cacheKey);
53
- let spaceMeasurement = PIXI.TextMetrics.measureText(' ', new PIXI.TextStyle(pixiStyle), false);
53
+ let spaceMeasurement = Pixi.TextMetrics.measureText(' ', new Pixi.TextStyle(pixiStyle), false);
54
54
  let data = {
55
55
  text: segment.text,
56
56
  cacheKey,
@@ -62,16 +62,16 @@ class RichTextDataInConverter {
62
62
  });
63
63
  return tagsWithStyles;
64
64
  }
65
- static getCombinedStyle(tags, options, styleCache) {
65
+ static _getCombinedStyle(tags, options, styleCache) {
66
66
  let cacheKey = tags.join('+');
67
67
  if (styleCache.has(cacheKey)) {
68
68
  return { style: styleCache.get(cacheKey), cacheKey };
69
69
  }
70
- let result = this.combineStyles(tags, options);
70
+ let result = this._combineStyles(tags, options);
71
71
  styleCache.set(cacheKey, result);
72
72
  return { style: result, cacheKey };
73
73
  }
74
- static combineStyles(tags, options) {
74
+ static _combineStyles(tags, options) {
75
75
  let result = { ...options.default };
76
76
  for (let tag of tags) {
77
77
  if (options.styles && options.styles[tag]) {
@@ -81,7 +81,7 @@ class RichTextDataInConverter {
81
81
  let { wordWrapWidth: _wordWrapWidth, align: _align, dropShadow: _dropShadow, ...supportedStyles } = result;
82
82
  return supportedStyles;
83
83
  }
84
- static applyNewLines(tokens) {
84
+ static _applyNewLines(tokens) {
85
85
  let result = [];
86
86
  let currentLine = [];
87
87
  tokens.forEach((token, index) => {
@@ -103,17 +103,17 @@ class RichTextDataInConverter {
103
103
  result.push(currentLine);
104
104
  return result;
105
105
  }
106
- static splitIntoChunks(tagsWithStyles) {
106
+ static _splitIntoChunks(tagsWithStyles) {
107
107
  let chunks = [];
108
108
  tagsWithStyles.forEach(line => {
109
109
  if (line.length === 0) {
110
110
  throw new Error('Internal Error: Line is unexpectedly empty');
111
111
  }
112
112
  let chunkData = line.flatMap(data => {
113
- let chunkStrings = this.splitToChunks(data.text);
113
+ let chunkStrings = this._splitToChunks(data.text);
114
114
  return chunkStrings.map(chunkString => {
115
- let pixiStyle = new PIXI.TextStyle(data.pixiStyle);
116
- let metrics = PIXI.TextMetrics.measureText(chunkString, pixiStyle, false);
115
+ let pixiStyle = new Pixi.TextStyle(data.pixiStyle);
116
+ let metrics = Pixi.TextMetrics.measureText(chunkString, pixiStyle, false);
117
117
  let chunkDatum = {
118
118
  text: chunkString,
119
119
  whitespace: chunkString.trim() === '',
@@ -135,7 +135,7 @@ class RichTextDataInConverter {
135
135
  });
136
136
  return chunks;
137
137
  }
138
- static splitToChunks(str) {
138
+ static _splitToChunks(str) {
139
139
  if (str === '') {
140
140
  return [''];
141
141
  }
@@ -35,7 +35,7 @@ const ExpectedPixiStyles = {
35
35
  (0, vitest_1.test)('should handle plain text without tags', () => {
36
36
  let text = 'Simple text without any tags';
37
37
  let textSegments = script_engine_lib_1.RichTextSeparator.process(text, StyleNames);
38
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['includeStylesToTags'](textSegments, DefaultRichTextOptions);
38
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_includeStylesToTags'](textSegments, DefaultRichTextOptions);
39
39
  (0, vitest_1.expect)(result).toEqual([
40
40
  {
41
41
  text: 'Simple text without any tags',
@@ -49,7 +49,7 @@ const ExpectedPixiStyles = {
49
49
  (0, vitest_1.test)('should handle single style tag correctly', () => {
50
50
  let text = '<style1>Styled text</style1>';
51
51
  let textSegments = script_engine_lib_1.RichTextSeparator.process(text, StyleNames);
52
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['includeStylesToTags'](textSegments, DefaultRichTextOptions);
52
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_includeStylesToTags'](textSegments, DefaultRichTextOptions);
53
53
  (0, vitest_1.expect)(result).toEqual([
54
54
  {
55
55
  text: 'Styled text',
@@ -63,7 +63,7 @@ const ExpectedPixiStyles = {
63
63
  (0, vitest_1.test)('should handle text with surrounding styles', () => {
64
64
  let text = 'plain text <style1>styled text</style1> more plain text';
65
65
  let textSegments = script_engine_lib_1.RichTextSeparator.process(text, StyleNames);
66
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['includeStylesToTags'](textSegments, DefaultRichTextOptions);
66
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_includeStylesToTags'](textSegments, DefaultRichTextOptions);
67
67
  (0, vitest_1.expect)(result).toEqual([
68
68
  {
69
69
  text: 'plain text ',
@@ -91,7 +91,7 @@ const ExpectedPixiStyles = {
91
91
  (0, vitest_1.test)('should handle multiple styles', () => {
92
92
  let text = '<style1>Text with style1</style1> plain text <style2>text with style2</style2>';
93
93
  let textSegments = script_engine_lib_1.RichTextSeparator.process(text, StyleNames);
94
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['includeStylesToTags'](textSegments, DefaultRichTextOptions);
94
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_includeStylesToTags'](textSegments, DefaultRichTextOptions);
95
95
  (0, vitest_1.expect)(result).toEqual([
96
96
  {
97
97
  text: 'Text with style1',
@@ -119,7 +119,7 @@ const ExpectedPixiStyles = {
119
119
  (0, vitest_1.test)('should handle nested styles', () => {
120
120
  let text = 'Text <style1>with <style2>nested</style2> styles</style1>';
121
121
  let textSegments = script_engine_lib_1.RichTextSeparator.process(text, StyleNames);
122
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['includeStylesToTags'](textSegments, DefaultRichTextOptions);
122
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_includeStylesToTags'](textSegments, DefaultRichTextOptions);
123
123
  (0, vitest_1.expect)(result).toEqual([
124
124
  {
125
125
  text: 'Text ',
@@ -164,7 +164,7 @@ const ExpectedPixiStyles = {
164
164
  (0, vitest_1.test)('should not accept "default" as a valid tag', () => {
165
165
  let text = 'Text with no default tag';
166
166
  let textSegments = script_engine_lib_1.RichTextSeparator.process(text, StyleNames);
167
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['includeStylesToTags'](textSegments, DefaultRichTextOptions);
167
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_includeStylesToTags'](textSegments, DefaultRichTextOptions);
168
168
  (0, vitest_1.expect)(result).toEqual([
169
169
  {
170
170
  text: 'Text with no default tag',
@@ -178,7 +178,7 @@ const ExpectedPixiStyles = {
178
178
  (0, vitest_1.test)('should match the example in comments', () => {
179
179
  let text = 'This is a sample <style1>Hello</style1><style2>World</style2> text';
180
180
  let textSegments = script_engine_lib_1.RichTextSeparator.process(text, StyleNames);
181
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['includeStylesToTags'](textSegments, DefaultRichTextOptions);
181
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_includeStylesToTags'](textSegments, DefaultRichTextOptions);
182
182
  (0, vitest_1.expect)(result).toEqual([
183
183
  {
184
184
  text: 'This is a sample ',
@@ -234,31 +234,31 @@ const ExpectedPixiStyles = {
234
234
  };
235
235
  (0, vitest_1.test)('empty text', () => {
236
236
  let text = '';
237
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['applyNewLines']([GetTagsWithStyles(text)]);
237
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_applyNewLines']([GetTagsWithStyles(text)]);
238
238
  (0, vitest_1.expect)(result).toEqual([[GetTagsWithStyles('')]]);
239
239
  });
240
240
  (0, vitest_1.test)('plane text', () => {
241
241
  let text = 'Simple text without styles';
242
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['applyNewLines']([GetTagsWithStyles(text)]);
242
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_applyNewLines']([GetTagsWithStyles(text)]);
243
243
  (0, vitest_1.expect)(result).toEqual([[GetTagsWithStyles('Simple text without styles')]]);
244
244
  });
245
245
  (0, vitest_1.test)('text with newlines', () => {
246
246
  let text = 'Line 1\nLine 2\nLine 3';
247
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['applyNewLines']([GetTagsWithStyles(text)]);
247
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_applyNewLines']([GetTagsWithStyles(text)]);
248
248
  (0, vitest_1.expect)(result).toEqual([[GetTagsWithStyles('Line 1')], [GetTagsWithStyles('Line 2')], [GetTagsWithStyles('Line 3')]]);
249
249
  });
250
250
  (0, vitest_1.test)('text with empty starting line', () => {
251
251
  let text = '\n0123';
252
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['applyNewLines']([GetTagsWithStyles(text)]);
252
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_applyNewLines']([GetTagsWithStyles(text)]);
253
253
  (0, vitest_1.expect)(result).toEqual([[GetTagsWithStyles('')], [GetTagsWithStyles('0123')]]);
254
254
  });
255
255
  (0, vitest_1.test)('text with empty ending line', () => {
256
256
  let text = '0123\n';
257
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['applyNewLines']([GetTagsWithStyles(text)]);
257
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_applyNewLines']([GetTagsWithStyles(text)]);
258
258
  (0, vitest_1.expect)(result).toEqual([[GetTagsWithStyles('0123')], [GetTagsWithStyles('')]]);
259
259
  });
260
260
  (0, vitest_1.test)('text with styles', () => {
261
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['applyNewLines']([
261
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_applyNewLines']([
262
262
  GetTagsWithStyles('Regular text '),
263
263
  GetTagsWithStyles('red text', 'red'),
264
264
  GetTagsWithStyles(' back to regular')
@@ -268,7 +268,7 @@ const ExpectedPixiStyles = {
268
268
  ]);
269
269
  });
270
270
  (0, vitest_1.test)('text with styles and newlines', () => {
271
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['applyNewLines']([
271
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_applyNewLines']([
272
272
  GetTagsWithStyles('Regular text '),
273
273
  GetTagsWithStyles('red text\nnew line still red', 'red'),
274
274
  GetTagsWithStyles(' back to regular')
@@ -279,11 +279,11 @@ const ExpectedPixiStyles = {
279
279
  ]);
280
280
  });
281
281
  (0, vitest_1.test)('should handle CRLF newlines', () => {
282
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['applyNewLines']([GetTagsWithStyles('Line 1\r\nLine 2\r\nLine 3')]);
282
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_applyNewLines']([GetTagsWithStyles('Line 1\r\nLine 2\r\nLine 3')]);
283
283
  (0, vitest_1.expect)(result).toEqual([[GetTagsWithStyles('Line 1')], [GetTagsWithStyles('Line 2')], [GetTagsWithStyles('Line 3')]]);
284
284
  });
285
285
  (0, vitest_1.test)('should handle empty lines', () => {
286
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['applyNewLines']([GetTagsWithStyles('Line 1\n\nLine 3')]);
286
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_applyNewLines']([GetTagsWithStyles('Line 1\n\nLine 3')]);
287
287
  (0, vitest_1.expect)(result).toEqual([[GetTagsWithStyles('Line 1')], [GetTagsWithStyles('')], [GetTagsWithStyles('Line 3')]]);
288
288
  });
289
289
  });
@@ -297,17 +297,17 @@ const ExpectedPixiStyles = {
297
297
  });
298
298
  (0, vitest_1.test)('empty string', () => {
299
299
  let nonWrappedTextData = [[GetNonWrappedTextData('')]];
300
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitIntoChunks'](nonWrappedTextData);
300
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitIntoChunks'](nonWrappedTextData);
301
301
  (0, vitest_1.expect)(result).toEqual([[(0, rich_text_to_plane_text_test_1.CreateSampleChunkData)('')]]);
302
302
  });
303
303
  (0, vitest_1.test)('single word', () => {
304
304
  let nonWrappedTextData = [[GetNonWrappedTextData('Hello')]];
305
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitIntoChunks'](nonWrappedTextData);
305
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitIntoChunks'](nonWrappedTextData);
306
306
  (0, vitest_1.expect)(result).toEqual([[(0, rich_text_to_plane_text_test_1.CreateSampleChunkData)('Hello')]]);
307
307
  });
308
308
  (0, vitest_1.test)('multiple words with spaces', () => {
309
309
  let nonWrappedTextData = [[GetNonWrappedTextData('Hello World')]];
310
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitIntoChunks'](nonWrappedTextData);
310
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitIntoChunks'](nonWrappedTextData);
311
311
  (0, vitest_1.expect)(result).toEqual([[(0, rich_text_to_plane_text_test_1.CreateSampleChunkData)('Hello'), (0, rich_text_to_plane_text_test_1.CreateSampleChunkData)(' '), (0, rich_text_to_plane_text_test_1.CreateSampleChunkData)('World')]]);
312
312
  });
313
313
  (0, vitest_1.test)('multiple lines', () => {
@@ -315,7 +315,7 @@ const ExpectedPixiStyles = {
315
315
  [GetNonWrappedTextData('Line 1')],
316
316
  [GetNonWrappedTextData('Line 2', { fontSize: 24 })]
317
317
  ];
318
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitIntoChunks'](nonWrappedTextData);
318
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitIntoChunks'](nonWrappedTextData);
319
319
  (0, vitest_1.expect)(result).toEqual([
320
320
  [(0, rich_text_to_plane_text_test_1.CreateSampleChunkData)('Line'), (0, rich_text_to_plane_text_test_1.CreateSampleChunkData)(' '), (0, rich_text_to_plane_text_test_1.CreateSampleChunkData)('1')],
321
321
  [
@@ -327,43 +327,43 @@ const ExpectedPixiStyles = {
327
327
  });
328
328
  (0, vitest_1.test)('empty line throws error', () => {
329
329
  let nonWrappedTextData = [[]];
330
- (0, vitest_1.expect)(() => rich_text_data_in_converter_1.RichTextDataInConverter['splitIntoChunks'](nonWrappedTextData)).toThrow('Internal Error: Line is unexpectedly empty');
330
+ (0, vitest_1.expect)(() => rich_text_data_in_converter_1.RichTextDataInConverter['_splitIntoChunks'](nonWrappedTextData)).toThrow('Internal Error: Line is unexpectedly empty');
331
331
  });
332
332
  });
333
333
  (0, vitest_1.describe)('splitToChunks', () => {
334
334
  (0, vitest_1.test)('empty string', () => {
335
335
  let text = '';
336
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitToChunks'](text);
336
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitToChunks'](text);
337
337
  (0, vitest_1.expect)(result).toEqual(['']);
338
338
  });
339
339
  (0, vitest_1.test)('no spaces', () => {
340
340
  let text = 'helloworld';
341
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitToChunks'](text);
341
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitToChunks'](text);
342
342
  (0, vitest_1.expect)(result).toEqual(['helloworld']);
343
343
  });
344
344
  (0, vitest_1.test)('only spaces', () => {
345
345
  let text = ' ';
346
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitToChunks'](text);
346
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitToChunks'](text);
347
347
  (0, vitest_1.expect)(result).toEqual([' ']);
348
348
  });
349
349
  (0, vitest_1.test)('spaces at start', () => {
350
350
  let text = ' hello world';
351
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitToChunks'](text);
351
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitToChunks'](text);
352
352
  (0, vitest_1.expect)(result).toEqual([' ', 'hello', ' ', 'world']);
353
353
  });
354
354
  (0, vitest_1.test)('spaces at end', () => {
355
355
  let text = 'hello world ';
356
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitToChunks'](text);
356
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitToChunks'](text);
357
357
  (0, vitest_1.expect)(result).toEqual(['hello', ' ', 'world', ' ']);
358
358
  });
359
359
  (0, vitest_1.test)('multiple spaces in between', () => {
360
360
  let text = 'hello world';
361
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitToChunks'](text);
361
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitToChunks'](text);
362
362
  (0, vitest_1.expect)(result).toEqual(['hello', ' ', 'world']);
363
363
  });
364
364
  (0, vitest_1.test)('should handle text with alternating spaces and words', () => {
365
365
  let text = ' a b c d ';
366
- let result = rich_text_data_in_converter_1.RichTextDataInConverter['splitToChunks'](text);
366
+ let result = rich_text_data_in_converter_1.RichTextDataInConverter['_splitToChunks'](text);
367
367
  (0, vitest_1.expect)(result).toEqual([' ', 'a', ' ', 'b', ' ', 'c', ' ', 'd', ' ']);
368
368
  });
369
369
  });
@@ -2,5 +2,5 @@ import { ChunkData } from '../../rich-text-to-plane-text';
2
2
  import { PositionedChunk, RichTextTypewriter } from './rich-text-typewriter';
3
3
  export declare class ConsistentSpaceTextWrapper {
4
4
  static wrapText(sheet: ChunkData[][], typewriter: RichTextTypewriter): PositionedChunk[][];
5
- private static wrapSpaces;
5
+ private static _wrapSpaces;
6
6
  }
@@ -13,7 +13,7 @@ class ConsistentSpaceTextWrapper {
13
13
  typewriter.insertWord(chunk);
14
14
  }
15
15
  else {
16
- this.wrapSpaces(chunk, typewriter);
16
+ this._wrapSpaces(chunk, typewriter);
17
17
  }
18
18
  }
19
19
  else {
@@ -25,7 +25,7 @@ class ConsistentSpaceTextWrapper {
25
25
  typewriter.insertWord(chunk);
26
26
  }
27
27
  else if (chunk.whitespace) {
28
- this.wrapSpaces(chunk, typewriter);
28
+ this._wrapSpaces(chunk, typewriter);
29
29
  }
30
30
  else {
31
31
  typewriter.newLine();
@@ -37,7 +37,7 @@ class ConsistentSpaceTextWrapper {
37
37
  });
38
38
  return typewriter.print();
39
39
  }
40
- static wrapSpaces(chunk, typewriter) {
40
+ static _wrapSpaces(chunk, typewriter) {
41
41
  let spacesThatCanFit = Math.max(0, Math.floor(typewriter.remainingWidth / chunk.style.spaceWidth));
42
42
  let spacesToInsert = Math.max(0, Math.min(spacesThatCanFit, chunk.text.length - 1));
43
43
  if (spacesToInsert > 0) {
@@ -11,27 +11,27 @@ export interface RichTextTypewriterOptions {
11
11
  readonly verticalAlignment?: 'top' | 'center' | 'bottom';
12
12
  }
13
13
  export declare class RichTextTypewriter {
14
- private readonly wordWrapWidth;
15
- private lines;
16
- private currentLine;
17
- private cursorPosition;
18
- private linePosition;
19
- private currentLineHeight;
20
- private readonly cut?;
21
- private readonly horizontalAlignment;
22
- private readonly verticalAlignment;
14
+ private readonly _wordWrapWidth;
15
+ private _lines;
16
+ private _currentLine;
17
+ private _cursorPosition;
18
+ private _linePosition;
19
+ private _currentLineHeight;
20
+ private readonly _cut?;
21
+ private readonly _horizontalAlignment;
22
+ private readonly _verticalAlignment;
23
23
  get lineIsEmpty(): boolean;
24
24
  get remainingWidth(): number;
25
- constructor(wordWrapWidth: number, options?: RichTextTypewriterOptions);
25
+ constructor(_wordWrapWidth: number, options?: RichTextTypewriterOptions);
26
26
  isSpaceAvailable(size: Vector): boolean;
27
27
  insertWord(chunk: ChunkData): void;
28
28
  newLine(): void;
29
29
  print(): PositionedChunk[][];
30
- private flushCurrentLine;
31
- private alignLine;
32
- private horizontallyAlign;
33
- private verticallyAlign;
34
- private getLineStart;
35
- private getLineEnd;
36
- private convertRectangleCut;
30
+ private _flushCurrentLine;
31
+ private _alignLine;
32
+ private _horizontallyAlign;
33
+ private _verticallyAlign;
34
+ private _getLineStart;
35
+ private _getLineEnd;
36
+ private _convertRectangleCut;
37
37
  }
@@ -4,83 +4,83 @@ exports.RichTextTypewriter = void 0;
4
4
  const helpers_lib_1 = require("helpers-lib");
5
5
  class RichTextTypewriter {
6
6
  get lineIsEmpty() {
7
- return this.currentLine.length === 0;
7
+ return this._currentLine.length === 0;
8
8
  }
9
9
  get remainingWidth() {
10
- return this.wordWrapWidth - this.cursorPosition;
10
+ return this._wordWrapWidth - this._cursorPosition;
11
11
  }
12
- constructor(wordWrapWidth, options) {
13
- this.wordWrapWidth = wordWrapWidth;
14
- this.lines = [];
15
- this.currentLine = [];
16
- this.cursorPosition = 0;
17
- this.linePosition = new helpers_lib_1.Vector(0, 0);
18
- this.currentLineHeight = 0;
19
- this.horizontalAlignment = options?.horizontalAlignment ?? 'left';
20
- this.verticalAlignment = options?.verticalAlignment ?? 'bottom';
12
+ constructor(_wordWrapWidth, options) {
13
+ this._wordWrapWidth = _wordWrapWidth;
14
+ this._lines = [];
15
+ this._currentLine = [];
16
+ this._cursorPosition = 0;
17
+ this._linePosition = new helpers_lib_1.Vector(0, 0);
18
+ this._currentLineHeight = 0;
19
+ this._horizontalAlignment = options?.horizontalAlignment ?? 'left';
20
+ this._verticalAlignment = options?.verticalAlignment ?? 'bottom';
21
21
  if (options?.rectangleCutOption) {
22
22
  if (options.rectangleCutOption.position.x < 0 ||
23
- options.rectangleCutOption.position.x >= this.wordWrapWidth ||
23
+ options.rectangleCutOption.position.x >= this._wordWrapWidth ||
24
24
  options.rectangleCutOption.position.y < 0) {
25
25
  throw new Error('Rectangle cut position is out of bounds');
26
26
  }
27
- this.cut = {
27
+ this._cut = {
28
28
  direction: options.rectangleCutOption.direction,
29
- rectangle: this.convertRectangleCut(options.rectangleCutOption)
29
+ rectangle: this._convertRectangleCut(options.rectangleCutOption)
30
30
  };
31
31
  }
32
32
  }
33
33
  isSpaceAvailable(size) {
34
- let lineHeightToBe = Math.max(this.currentLineHeight, size.y);
35
- let lineEnd = this.getLineEnd(this.linePosition.y, this.linePosition.y + lineHeightToBe);
36
- let cursorToBe = this.cursorPosition + size.x;
34
+ let lineHeightToBe = Math.max(this._currentLineHeight, size.y);
35
+ let lineEnd = this._getLineEnd(this._linePosition.y, this._linePosition.y + lineHeightToBe);
36
+ let cursorToBe = this._cursorPosition + size.x;
37
37
  return cursorToBe <= lineEnd;
38
38
  }
39
39
  insertWord(chunk) {
40
- let lineHeightToBe = Math.max(this.currentLineHeight, chunk.style.height);
41
- if (this.currentLine.length === 0) {
42
- let lineStart = this.getLineStart(this.linePosition.y, this.linePosition.y + lineHeightToBe);
43
- this.linePosition = new helpers_lib_1.Vector(lineStart, this.linePosition.y);
44
- this.cursorPosition = this.linePosition.x;
40
+ let lineHeightToBe = Math.max(this._currentLineHeight, chunk.style.height);
41
+ if (this._currentLine.length === 0) {
42
+ let lineStart = this._getLineStart(this._linePosition.y, this._linePosition.y + lineHeightToBe);
43
+ this._linePosition = new helpers_lib_1.Vector(lineStart, this._linePosition.y);
44
+ this._cursorPosition = this._linePosition.x;
45
45
  }
46
- this.currentLine.push({ chunk, position: new helpers_lib_1.Vector(this.cursorPosition, this.linePosition.y) });
47
- this.currentLineHeight = lineHeightToBe;
48
- this.cursorPosition += chunk.style.width;
46
+ this._currentLine.push({ chunk, position: new helpers_lib_1.Vector(this._cursorPosition, this._linePosition.y) });
47
+ this._currentLineHeight = lineHeightToBe;
48
+ this._cursorPosition += chunk.style.width;
49
49
  }
50
50
  newLine() {
51
- let lineY = this.linePosition.y + this.currentLineHeight;
52
- let lineX = this.getLineStart(lineY, lineY);
53
- this.flushCurrentLine();
54
- this.linePosition = new helpers_lib_1.Vector(lineX, lineY);
55
- this.cursorPosition = this.linePosition.x;
56
- this.currentLineHeight = 0;
51
+ let lineY = this._linePosition.y + this._currentLineHeight;
52
+ let lineX = this._getLineStart(lineY, lineY);
53
+ this._flushCurrentLine();
54
+ this._linePosition = new helpers_lib_1.Vector(lineX, lineY);
55
+ this._cursorPosition = this._linePosition.x;
56
+ this._currentLineHeight = 0;
57
57
  }
58
58
  print() {
59
- this.flushCurrentLine();
60
- return this.lines;
59
+ this._flushCurrentLine();
60
+ return this._lines;
61
61
  }
62
- flushCurrentLine() {
63
- if (this.currentLine.length > 0) {
64
- this.lines.push(this.alignLine(this.currentLine));
65
- this.currentLine = [];
62
+ _flushCurrentLine() {
63
+ if (this._currentLine.length > 0) {
64
+ this._lines.push(this._alignLine(this._currentLine));
65
+ this._currentLine = [];
66
66
  }
67
67
  }
68
- alignLine(line) {
69
- line = this.verticallyAlign(line);
70
- line = this.horizontallyAlign(line);
68
+ _alignLine(line) {
69
+ line = this._verticallyAlign(line);
70
+ line = this._horizontallyAlign(line);
71
71
  return line;
72
72
  }
73
- horizontallyAlign(line) {
74
- if (this.horizontalAlignment === 'left') {
73
+ _horizontallyAlign(line) {
74
+ if (this._horizontalAlignment === 'left') {
75
75
  return line;
76
76
  }
77
- let linePositionEnd = this.linePosition.y + this.currentLineHeight;
78
- let lineStart = this.getLineStart(this.linePosition.y, linePositionEnd);
79
- let lineEnd = this.getLineEnd(this.linePosition.y, linePositionEnd);
77
+ let linePositionEnd = this._linePosition.y + this._currentLineHeight;
78
+ let lineStart = this._getLineStart(this._linePosition.y, linePositionEnd);
79
+ let lineEnd = this._getLineEnd(this._linePosition.y, linePositionEnd);
80
80
  let lineWidth = lineEnd - lineStart;
81
81
  let totalWidth = Math.min(lineWidth, line.reduce((acc, chunk) => acc + chunk.chunk.style.width, 0));
82
82
  let offset;
83
- if (this.horizontalAlignment === 'center') {
83
+ if (this._horizontalAlignment === 'center') {
84
84
  offset = (lineWidth - totalWidth) / 2;
85
85
  }
86
86
  else {
@@ -94,12 +94,12 @@ class RichTextTypewriter {
94
94
  return positionedChunk;
95
95
  });
96
96
  }
97
- verticallyAlign(line) {
97
+ _verticallyAlign(line) {
98
98
  let maxAscent = Math.max(...line.map(chunk => chunk.chunk.style.ascent));
99
99
  let maxDescent = Math.max(...line.map(chunk => chunk.chunk.style.descent));
100
100
  return line.map(positionedChunk => {
101
101
  let offset;
102
- switch (this.verticalAlignment) {
102
+ switch (this._verticalAlignment) {
103
103
  case 'top':
104
104
  offset = maxDescent - positionedChunk.chunk.style.descent;
105
105
  break;
@@ -117,31 +117,31 @@ class RichTextTypewriter {
117
117
  return positionedChunk;
118
118
  });
119
119
  }
120
- getLineStart(heightStart, heightEnd) {
121
- if (this.cut) {
122
- if (this.cut.direction === 'topLeft' || this.cut.direction === 'bottomLeft') {
123
- let intersectingWithCut = this.cut.rectangle.isPointInside(new helpers_lib_1.Vector(0, heightStart), { includeEdges: false }) ||
124
- this.cut.rectangle.isPointInside(new helpers_lib_1.Vector(0, heightEnd), { includeEdges: false });
120
+ _getLineStart(heightStart, heightEnd) {
121
+ if (this._cut) {
122
+ if (this._cut.direction === 'topLeft' || this._cut.direction === 'bottomLeft') {
123
+ let intersectingWithCut = this._cut.rectangle.isPointInside(new helpers_lib_1.Vector(0, heightStart), { includeEdges: false }) ||
124
+ this._cut.rectangle.isPointInside(new helpers_lib_1.Vector(0, heightEnd), { includeEdges: false });
125
125
  if (intersectingWithCut) {
126
- return this.cut.rectangle.bottomRight.x;
126
+ return this._cut.rectangle.bottomRight.x;
127
127
  }
128
128
  }
129
129
  }
130
130
  return 0;
131
131
  }
132
- getLineEnd(heightStart, heightEnd) {
133
- if (this.cut) {
134
- if (this.cut.direction === 'topRight' || this.cut.direction === 'bottomRight') {
135
- let intersectingWithCut = this.cut.rectangle.isPointInside(new helpers_lib_1.Vector(this.wordWrapWidth, heightStart), { includeEdges: false }) ||
136
- this.cut.rectangle.isPointInside(new helpers_lib_1.Vector(this.wordWrapWidth, heightEnd), { includeEdges: false });
132
+ _getLineEnd(heightStart, heightEnd) {
133
+ if (this._cut) {
134
+ if (this._cut.direction === 'topRight' || this._cut.direction === 'bottomRight') {
135
+ let intersectingWithCut = this._cut.rectangle.isPointInside(new helpers_lib_1.Vector(this._wordWrapWidth, heightStart), { includeEdges: false }) ||
136
+ this._cut.rectangle.isPointInside(new helpers_lib_1.Vector(this._wordWrapWidth, heightEnd), { includeEdges: false });
137
137
  if (intersectingWithCut) {
138
- return this.cut.rectangle.topLeft.x;
138
+ return this._cut.rectangle.topLeft.x;
139
139
  }
140
140
  }
141
141
  }
142
- return this.wordWrapWidth;
142
+ return this._wordWrapWidth;
143
143
  }
144
- convertRectangleCut(rectangleCut) {
144
+ _convertRectangleCut(rectangleCut) {
145
145
  let topLeft;
146
146
  let bottomRight;
147
147
  switch (rectangleCut.direction) {
@@ -30,12 +30,12 @@ const rich_text_typewriter_1 = require("./rich-text-typewriter");
30
30
  typewriter.newLine();
31
31
  typewriter.insertWord((0, rich_text_to_plane_text_test_1.CreateSampleChunkData)('123', { fontSize: 15 }));
32
32
  typewriter.newLine();
33
- (0, vitest_1.expect)(typewriter['linePosition']).toEqual(new helpers_lib_1.Vector(0, 35));
33
+ (0, vitest_1.expect)(typewriter['_linePosition']).toEqual(new helpers_lib_1.Vector(0, 35));
34
34
  });
35
35
  (0, vitest_1.test)('insertWord should insert word even if it does not fit', () => {
36
36
  const Chunk = (0, rich_text_to_plane_text_test_1.CreateSampleChunkData)('01234567890123456789');
37
37
  typewriter.insertWord(Chunk);
38
- (0, vitest_1.expect)(typewriter['currentLine']).toEqual([
38
+ (0, vitest_1.expect)(typewriter['_currentLine']).toEqual([
39
39
  { chunk: (0, rich_text_to_plane_text_test_1.CreateSampleChunkData)('01234567890123456789'), position: new helpers_lib_1.Vector(0, 0) }
40
40
  ]);
41
41
  });
@@ -2,7 +2,7 @@ import { TextData } from '../..';
2
2
  import { PositionedChunk } from '../2-wrapping-text/rich-text-typewriter';
3
3
  export declare class RichTextDataOutConverter {
4
4
  static process(sheet: PositionedChunk[][]): TextData[];
5
- private static mergeSameStyleChunks;
6
- private static trimEmptySpaces;
7
- private static chunksToTextData;
5
+ private static _mergeSameStyleChunks;
6
+ private static _trimEmptySpaces;
7
+ private static _chunksToTextData;
8
8
  }
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RichTextDataOutConverter = void 0;
4
4
  class RichTextDataOutConverter {
5
5
  static process(sheet) {
6
- sheet = this.mergeSameStyleChunks(sheet);
7
- sheet = this.trimEmptySpaces(sheet);
8
- return this.chunksToTextData(sheet);
6
+ sheet = this._mergeSameStyleChunks(sheet);
7
+ sheet = this._trimEmptySpaces(sheet);
8
+ return this._chunksToTextData(sheet);
9
9
  }
10
- static mergeSameStyleChunks(sheet) {
10
+ static _mergeSameStyleChunks(sheet) {
11
11
  return sheet.map(line => {
12
12
  let mergedChunks = [];
13
13
  let currentChunk;
@@ -42,7 +42,7 @@ class RichTextDataOutConverter {
42
42
  return mergedChunks;
43
43
  });
44
44
  }
45
- static trimEmptySpaces(sheet) {
45
+ static _trimEmptySpaces(sheet) {
46
46
  return sheet.map(line => {
47
47
  if (line.length === 0) {
48
48
  return [];
@@ -71,7 +71,7 @@ class RichTextDataOutConverter {
71
71
  return line;
72
72
  });
73
73
  }
74
- static chunksToTextData(sheet) {
74
+ static _chunksToTextData(sheet) {
75
75
  return sheet
76
76
  .flatMap(line => line.map(positionedChunk => {
77
77
  let phrase = {