@reicek/neataptic-ts 0.1.21 → 0.1.23

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 (361) hide show
  1. package/.github/agents/boundary-mapper.agent.md +31 -0
  2. package/.github/agents/docs-scout.agent.md +29 -0
  3. package/.github/agents/plan-scout.agent.md +31 -0
  4. package/.github/agents/solid-split.agent.md +143 -0
  5. package/.github/copilot-instructions.md +119 -0
  6. package/.github/skills/solid-split-playbook/SKILL.md +220 -0
  7. package/.github/skills/solid-split-playbook/assets/docs-checklist.md +34 -0
  8. package/.github/skills/solid-split-playbook/assets/split-plan-template.md +48 -0
  9. package/.github/skills/solid-split-playbook/assets/split-workflow-checklist.md +51 -0
  10. package/.github/skills/trace-analyzer-extension/SKILL.md +63 -0
  11. package/.github/skills/trace-analyzer-extension/assets/extension-checklist.md +24 -0
  12. package/.github/skills/trace-analyzer-extension/references/analyzer-extension-workflow.md +101 -0
  13. package/.github/skills/trace-audit-reporting/SKILL.md +96 -0
  14. package/.github/skills/trace-audit-reporting/assets/performance-report-template.md +123 -0
  15. package/.github/skills/trace-audit-reporting/references/trace-analysis-workflow.md +132 -0
  16. package/package.json +7 -3
  17. package/plans/ES2023 migration +13 -8
  18. package/plans/Evolution_Training_Interoperability_Contracts.md +1 -1
  19. package/plans/Flappy_Bird_Folder_Documentation_Pass.md +53 -0
  20. package/plans/Flappy_Evolution_Worker_Documentation_Pass.md +58 -0
  21. package/plans/Interactive_Examples_and_Learning_Path.md +10 -2
  22. package/plans/Memory_Optimization.md +3 -3
  23. package/plans/README.md +63 -0
  24. package/plans/Roadmap.md +15 -3
  25. package/plans/asciiMaze_SOLID_split.done.md +130 -0
  26. package/plans/flappy_bird_SOLID_split.done.md +67 -0
  27. package/scripts/analyze-trace.ts +590 -0
  28. package/scripts/assets/theme.css +221 -34
  29. package/scripts/copy-examples.mjs +9 -5
  30. package/scripts/export-onnx.mjs +3 -3
  31. package/scripts/generate-bench-tables.mjs +10 -10
  32. package/scripts/generate-bench-tables.ts +10 -10
  33. package/scripts/generate-docs.ts +1415 -449
  34. package/scripts/render-docs-html.ts +15 -8
  35. package/src/README.md +127 -222
  36. package/src/architecture/README.md +117 -184
  37. package/src/architecture/architect.ts +6 -0
  38. package/src/architecture/layer/README.md +38 -38
  39. package/src/architecture/network/README.md +49 -31
  40. package/src/architecture/network/activate/README.md +77 -77
  41. package/src/architecture/network/connect/README.md +15 -13
  42. package/src/architecture/network/deterministic/README.md +7 -7
  43. package/src/architecture/network/evolve/README.md +44 -44
  44. package/src/architecture/network/gating/README.md +20 -20
  45. package/src/architecture/network/genetic/README.md +51 -51
  46. package/src/architecture/network/mutate/README.md +97 -97
  47. package/src/architecture/network/network.types.ts +39 -0
  48. package/src/architecture/network/onnx/README.md +264 -264
  49. package/src/architecture/network/prune/README.md +39 -39
  50. package/src/architecture/network/remove/README.md +26 -26
  51. package/src/architecture/network/serialize/README.md +56 -56
  52. package/src/architecture/network/serialize/network.serialize.json.utils.ts +1 -0
  53. package/src/architecture/network/serialize/network.serialize.utils.ts +6 -1
  54. package/src/architecture/network/serialize/network.serialize.utils.types.ts +1 -1
  55. package/src/architecture/network/slab/README.md +61 -61
  56. package/src/architecture/network/standalone/README.md +24 -24
  57. package/src/architecture/network/stats/README.md +9 -9
  58. package/src/architecture/network/topology/README.md +46 -46
  59. package/src/architecture/network/training/README.md +21 -21
  60. package/src/architecture/network.ts +114 -10
  61. package/src/methods/README.md +9 -87
  62. package/src/multithreading/README.md +8 -77
  63. package/src/multithreading/workers/README.md +2 -2
  64. package/src/multithreading/workers/browser/README.md +0 -6
  65. package/src/multithreading/workers/node/README.md +0 -3
  66. package/src/neat/README.md +623 -568
  67. package/src/neat/neat.evolve.population.utils.ts +29 -5
  68. package/src/neat/neat.helpers.ts +16 -0
  69. package/src/neat/neat.topology-intent.utils.ts +160 -0
  70. package/src/utils/README.md +18 -18
  71. package/test/examples/asciiMaze/README.md +59 -59
  72. package/test/examples/asciiMaze/asciiMaze.e2e.test.ts +14 -9
  73. package/test/examples/asciiMaze/browser-entry/README.md +196 -0
  74. package/test/examples/asciiMaze/browser-entry/browser-entry.abort.services.ts +95 -0
  75. package/test/examples/asciiMaze/browser-entry/browser-entry.constants.ts +23 -0
  76. package/test/examples/asciiMaze/browser-entry/browser-entry.curriculum.services.ts +115 -0
  77. package/test/examples/asciiMaze/browser-entry/browser-entry.globals.services.ts +106 -0
  78. package/test/examples/asciiMaze/browser-entry/browser-entry.host.services.ts +157 -0
  79. package/test/examples/asciiMaze/browser-entry/browser-entry.services.ts +14 -0
  80. package/test/examples/asciiMaze/browser-entry/browser-entry.ts +129 -0
  81. package/test/examples/asciiMaze/browser-entry/browser-entry.types.ts +120 -0
  82. package/test/examples/asciiMaze/browser-entry/browser-entry.utils.ts +98 -0
  83. package/test/examples/asciiMaze/browser-entry.ts +10 -576
  84. package/test/examples/asciiMaze/dashboardManager/README.md +276 -0
  85. package/test/examples/asciiMaze/dashboardManager/archive/README.md +16 -0
  86. package/test/examples/asciiMaze/dashboardManager/archive/dashboardManager.archive.services.ts +267 -0
  87. package/test/examples/asciiMaze/dashboardManager/dashboardManager.constants.ts +35 -0
  88. package/test/examples/asciiMaze/dashboardManager/dashboardManager.services.ts +103 -0
  89. package/test/examples/asciiMaze/dashboardManager/dashboardManager.ts +181 -0
  90. package/test/examples/asciiMaze/dashboardManager/dashboardManager.types.ts +267 -0
  91. package/test/examples/asciiMaze/dashboardManager/dashboardManager.utils.ts +254 -0
  92. package/test/examples/asciiMaze/dashboardManager/live/README.md +14 -0
  93. package/test/examples/asciiMaze/dashboardManager/live/dashboardManager.live.services.ts +264 -0
  94. package/test/examples/asciiMaze/dashboardManager/telemetry/README.md +47 -0
  95. package/test/examples/asciiMaze/dashboardManager/telemetry/dashboardManager.telemetry.services.ts +513 -0
  96. package/test/examples/asciiMaze/dashboardManager.ts +13 -2335
  97. package/test/examples/asciiMaze/evolutionEngine/README.md +1058 -0
  98. package/test/examples/asciiMaze/evolutionEngine/curriculumPhase.ts +90 -0
  99. package/test/examples/asciiMaze/evolutionEngine/engineState.constants.ts +36 -0
  100. package/test/examples/asciiMaze/evolutionEngine/engineState.ts +58 -513
  101. package/test/examples/asciiMaze/evolutionEngine/engineState.types.ts +212 -0
  102. package/test/examples/asciiMaze/evolutionEngine/engineState.utils.ts +301 -0
  103. package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.types.ts +445 -0
  104. package/test/examples/asciiMaze/evolutionEngine/evolutionLoop.ts +81 -50
  105. package/test/examples/asciiMaze/evolutionEngine/optionsAndSetup.ts +2 -4
  106. package/test/examples/asciiMaze/evolutionEngine/populationDynamics.ts +17 -33
  107. package/test/examples/asciiMaze/evolutionEngine/populationPruning.ts +1 -1
  108. package/test/examples/asciiMaze/evolutionEngine/rngAndTiming.ts +1 -2
  109. package/test/examples/asciiMaze/evolutionEngine/sampling.ts +1 -1
  110. package/test/examples/asciiMaze/evolutionEngine/scratchPools.ts +2 -5
  111. package/test/examples/asciiMaze/evolutionEngine/setupHelpers.ts +30 -37
  112. package/test/examples/asciiMaze/evolutionEngine/telemetryMetrics.ts +16 -58
  113. package/test/examples/asciiMaze/evolutionEngine/trainingWarmStart.ts +2 -2
  114. package/test/examples/asciiMaze/evolutionEngine.ts +55 -55
  115. package/test/examples/asciiMaze/fitness.ts +2 -2
  116. package/test/examples/asciiMaze/fitness.types.ts +65 -0
  117. package/test/examples/asciiMaze/interfaces.ts +64 -1352
  118. package/test/examples/asciiMaze/mazeMovement/README.md +356 -0
  119. package/test/examples/asciiMaze/mazeMovement/finalization/README.md +49 -0
  120. package/test/examples/asciiMaze/mazeMovement/finalization/mazeMovement.finalization.ts +138 -0
  121. package/test/examples/asciiMaze/mazeMovement/mazeMovement.constants.ts +101 -0
  122. package/test/examples/asciiMaze/mazeMovement/mazeMovement.services.ts +230 -0
  123. package/test/examples/asciiMaze/mazeMovement/mazeMovement.ts +299 -0
  124. package/test/examples/asciiMaze/mazeMovement/mazeMovement.types.ts +185 -0
  125. package/test/examples/asciiMaze/mazeMovement/mazeMovement.utils.ts +153 -0
  126. package/test/examples/asciiMaze/mazeMovement/policy/README.md +91 -0
  127. package/test/examples/asciiMaze/mazeMovement/policy/mazeMovement.policy.ts +467 -0
  128. package/test/examples/asciiMaze/mazeMovement/runtime/README.md +95 -0
  129. package/test/examples/asciiMaze/mazeMovement/runtime/mazeMovement.runtime.ts +354 -0
  130. package/test/examples/asciiMaze/mazeMovement/shaping/README.md +124 -0
  131. package/test/examples/asciiMaze/mazeMovement/shaping/mazeMovement.shaping.ts +459 -0
  132. package/test/examples/asciiMaze/mazeMovement.ts +12 -2978
  133. package/test/examples/flappy_bird/README.md +193 -88
  134. package/test/examples/flappy_bird/browser-entry/README.md +1441 -0
  135. package/test/examples/flappy_bird/browser-entry/browser-entry.host.utils.ts +4 -324
  136. package/test/examples/flappy_bird/browser-entry/browser-entry.network-view.utils.ts +9 -396
  137. package/test/examples/flappy_bird/browser-entry/browser-entry.playback.utils.ts +6 -714
  138. package/test/examples/flappy_bird/browser-entry/browser-entry.render.types.ts +26 -3
  139. package/test/examples/flappy_bird/browser-entry/browser-entry.runtime.types.ts +16 -1
  140. package/test/examples/flappy_bird/browser-entry/browser-entry.simulation.types.ts +39 -5
  141. package/test/examples/flappy_bird/browser-entry/browser-entry.spawn.utils.ts +11 -31
  142. package/test/examples/flappy_bird/browser-entry/browser-entry.stats.types.ts +32 -4
  143. package/test/examples/flappy_bird/browser-entry/browser-entry.ts +11 -0
  144. package/test/examples/flappy_bird/browser-entry/browser-entry.types.ts +8 -0
  145. package/test/examples/flappy_bird/browser-entry/browser-entry.visualization.types.ts +50 -7
  146. package/test/examples/flappy_bird/browser-entry/browser-entry.visualization.utils.ts +21 -893
  147. package/test/examples/flappy_bird/browser-entry/browser-entry.worker.types.ts +91 -10
  148. package/test/examples/flappy_bird/browser-entry/host/README.md +318 -0
  149. package/test/examples/flappy_bird/browser-entry/host/host.canvas.service.ts +16 -0
  150. package/test/examples/flappy_bird/browser-entry/host/host.constants.ts +20 -0
  151. package/test/examples/flappy_bird/browser-entry/host/host.dom.service.ts +10 -0
  152. package/test/examples/flappy_bird/browser-entry/host/host.resize.service.ts +1 -295
  153. package/test/examples/flappy_bird/browser-entry/host/host.stats.service.ts +14 -0
  154. package/test/examples/flappy_bird/browser-entry/host/host.ts +592 -6
  155. package/test/examples/flappy_bird/browser-entry/host/host.types.ts +13 -0
  156. package/test/examples/flappy_bird/browser-entry/host/resize/README.md +309 -0
  157. package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.constants.ts +47 -0
  158. package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.services.ts +392 -0
  159. package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.ts +132 -0
  160. package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.types.ts +92 -0
  161. package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.utils.ts +272 -0
  162. package/test/examples/flappy_bird/browser-entry/network-view/README.md +389 -0
  163. package/test/examples/flappy_bird/browser-entry/network-view/network-view.draw.service.ts +13 -0
  164. package/test/examples/flappy_bird/browser-entry/network-view/network-view.labels.utils.ts +12 -0
  165. package/test/examples/flappy_bird/browser-entry/network-view/network-view.layout.utils.ts +14 -0
  166. package/test/examples/flappy_bird/browser-entry/network-view/network-view.topology.utils.ts +267 -0
  167. package/test/examples/flappy_bird/browser-entry/network-view/network-view.ts +823 -7
  168. package/test/examples/flappy_bird/browser-entry/network-view/network-view.types.ts +11 -0
  169. package/test/examples/flappy_bird/browser-entry/playback/README.md +845 -0
  170. package/test/examples/flappy_bird/browser-entry/playback/background/README.md +355 -0
  171. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/README.md +1068 -0
  172. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.batch.services.ts +64 -0
  173. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.cache.services.ts +207 -0
  174. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.constants.ts +197 -0
  175. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.batch.utils.ts +114 -0
  176. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.layout.utils.test.ts +96 -0
  177. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.layout.utils.ts +204 -0
  178. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.services.ts +49 -0
  179. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.utils.ts +313 -0
  180. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.layer.services.ts +81 -0
  181. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils.test.ts +33 -0
  182. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils.ts +201 -0
  183. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.selection.utils.ts +171 -0
  184. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.timing.utils.ts +124 -0
  185. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.test.ts +279 -0
  186. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.ts +132 -0
  187. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.scene.services.ts +26 -0
  188. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.services.ts +65 -0
  189. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.ts +48 -0
  190. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types.ts +342 -0
  191. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.utils.ts +10 -0
  192. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.cache.services.ts +96 -0
  193. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.constants.ts +127 -0
  194. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.draw.services.ts +184 -0
  195. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.scene.services.ts +64 -0
  196. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.services.ts +6 -0
  197. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.ts +53 -0
  198. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.types.ts +105 -0
  199. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.utils.ts +100 -0
  200. package/test/examples/flappy_bird/browser-entry/playback/frame-render/README.md +541 -0
  201. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.bird.utils.ts +180 -0
  202. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.canvas.services.ts +77 -0
  203. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.entity.services.ts +167 -0
  204. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.scene.services.ts +57 -0
  205. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.service.test.ts +176 -0
  206. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.service.ts +113 -0
  207. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.services.ts +35 -0
  208. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.trail.utils.ts +248 -0
  209. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types.ts +103 -0
  210. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.utils.ts +11 -0
  211. package/test/examples/flappy_bird/browser-entry/playback/playback.constants.ts +1 -1
  212. package/test/examples/flappy_bird/browser-entry/playback/playback.frame-render.service.ts +10 -0
  213. package/test/examples/flappy_bird/browser-entry/playback/playback.iteration.services.ts +192 -0
  214. package/test/examples/flappy_bird/browser-entry/playback/playback.loop.service.ts +12 -0
  215. package/test/examples/flappy_bird/browser-entry/playback/playback.orchestration.types.ts +78 -0
  216. package/test/examples/flappy_bird/browser-entry/playback/playback.render.pipe-outline.service.ts +128 -0
  217. package/test/examples/flappy_bird/browser-entry/playback/playback.render.service.ts +1 -116
  218. package/test/examples/flappy_bird/browser-entry/playback/playback.session.services.ts +184 -0
  219. package/test/examples/flappy_bird/browser-entry/playback/playback.snapshot.utils.test.ts +121 -0
  220. package/test/examples/flappy_bird/browser-entry/playback/playback.snapshot.utils.ts +8 -0
  221. package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.layer.services.ts +36 -0
  222. package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.service.ts +11 -128
  223. package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.services.ts +268 -0
  224. package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.types.ts +91 -0
  225. package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.utils.ts +11 -4
  226. package/test/examples/flappy_bird/browser-entry/playback/playback.trail.utils.ts +9 -86
  227. package/test/examples/flappy_bird/browser-entry/playback/playback.ts +75 -7
  228. package/test/examples/flappy_bird/browser-entry/playback/playback.types.ts +12 -9
  229. package/test/examples/flappy_bird/browser-entry/playback/playback.worker-channel.utils.ts +11 -123
  230. package/test/examples/flappy_bird/browser-entry/playback/snapshot/README.md +55 -0
  231. package/test/examples/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.services.ts +103 -0
  232. package/test/examples/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.summary.utils.test.ts +45 -0
  233. package/test/examples/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.summary.utils.ts +28 -0
  234. package/test/examples/flappy_bird/browser-entry/playback/trail/README.md +95 -0
  235. package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.history.services.test.ts +35 -0
  236. package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.history.services.ts +64 -0
  237. package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.opacity.utils.test.ts +37 -0
  238. package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.opacity.utils.ts +74 -0
  239. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/README.md +71 -0
  240. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.request.services.ts +45 -0
  241. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.summary.services.ts +74 -0
  242. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.types.ts +53 -0
  243. package/test/examples/flappy_bird/browser-entry/runtime/README.md +304 -0
  244. package/test/examples/flappy_bird/browser-entry/runtime/runtime.browser-globals.service.ts +15 -0
  245. package/test/examples/flappy_bird/browser-entry/runtime/runtime.errors.ts +17 -0
  246. package/test/examples/flappy_bird/browser-entry/runtime/runtime.evolution-launch.service.ts +56 -0
  247. package/test/examples/flappy_bird/browser-entry/runtime/runtime.evolution-loop.service.ts +19 -0
  248. package/test/examples/flappy_bird/browser-entry/runtime/runtime.lifecycle.service.ts +96 -0
  249. package/test/examples/flappy_bird/browser-entry/runtime/runtime.startup.service.ts +92 -0
  250. package/test/examples/flappy_bird/browser-entry/runtime/runtime.telemetry.service.ts +24 -0
  251. package/test/examples/flappy_bird/browser-entry/runtime/runtime.ts +31 -121
  252. package/test/examples/flappy_bird/browser-entry/runtime/runtime.types.ts +65 -0
  253. package/test/examples/flappy_bird/browser-entry/visualization/README.md +568 -0
  254. package/test/examples/flappy_bird/browser-entry/visualization/visualization.colors.utils.ts +26 -0
  255. package/test/examples/flappy_bird/browser-entry/visualization/visualization.constants.ts +110 -0
  256. package/test/examples/flappy_bird/browser-entry/visualization/visualization.draw.service.ts +979 -19
  257. package/test/examples/flappy_bird/browser-entry/visualization/visualization.legend.utils.ts +157 -3
  258. package/test/examples/flappy_bird/browser-entry/visualization/visualization.topology.utils.ts +13 -27
  259. package/test/examples/flappy_bird/browser-entry/visualization/visualization.ts +7 -20
  260. package/test/examples/flappy_bird/browser-entry/visualization/visualization.types.ts +14 -0
  261. package/test/examples/flappy_bird/browser-entry/worker-channel/README.md +238 -0
  262. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.errors.ts +11 -0
  263. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.generation.service.ts +12 -0
  264. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.playback.service.test.ts +143 -0
  265. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.playback.service.ts +140 -14
  266. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.request.service.ts +27 -0
  267. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.ts +8 -0
  268. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.types.ts +23 -0
  269. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.url.service.ts +5 -0
  270. package/test/examples/flappy_bird/constants/README.md +1163 -0
  271. package/test/examples/flappy_bird/constants/constants.birds.ts +16 -38
  272. package/test/examples/flappy_bird/constants/constants.difficulty.ts +21 -0
  273. package/test/examples/flappy_bird/constants/constants.network-view.ts +24 -0
  274. package/test/examples/flappy_bird/constants/constants.network.ts +1 -1
  275. package/test/examples/flappy_bird/constants/constants.observation.ts +7 -0
  276. package/test/examples/flappy_bird/constants/constants.palette.ts +9 -2
  277. package/test/examples/flappy_bird/constants/constants.physics.ts +9 -0
  278. package/test/examples/flappy_bird/constants/constants.pipe-render.ts +3 -0
  279. package/test/examples/flappy_bird/constants/constants.pipes.ts +22 -3
  280. package/test/examples/flappy_bird/constants/constants.runtime.ts +28 -4
  281. package/test/examples/flappy_bird/constants/constants.starfield.ts +78 -3
  282. package/test/examples/flappy_bird/constants/constants.ts +6 -0
  283. package/test/examples/flappy_bird/environment/README.md +182 -0
  284. package/test/examples/flappy_bird/environment/environment.collision.utils.ts +7 -0
  285. package/test/examples/flappy_bird/environment/environment.constants.ts +16 -3
  286. package/test/examples/flappy_bird/environment/environment.observation.utils.ts +12 -19
  287. package/test/examples/flappy_bird/environment/environment.state.service.ts +10 -0
  288. package/test/examples/flappy_bird/environment/environment.step.service.ts +15 -66
  289. package/test/examples/flappy_bird/environment/environment.types.ts +14 -0
  290. package/test/examples/flappy_bird/evaluation/README.md +155 -0
  291. package/test/examples/flappy_bird/evaluation/evaluation.constants.ts +23 -4
  292. package/test/examples/flappy_bird/evaluation/evaluation.fitness.utils.ts +16 -1
  293. package/test/examples/flappy_bird/evaluation/evaluation.rollout.service.ts +7 -374
  294. package/test/examples/flappy_bird/evaluation/evaluation.seed.utils.ts +4 -0
  295. package/test/examples/flappy_bird/evaluation/evaluation.types.ts +18 -2
  296. package/test/examples/flappy_bird/evaluation/rollout/README.md +355 -0
  297. package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.constants.ts +38 -0
  298. package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.service.ts +71 -0
  299. package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.services.ts +338 -0
  300. package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.types.ts +69 -0
  301. package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.utils.ts +399 -0
  302. package/test/examples/flappy_bird/flappy-evolution-worker/README.md +845 -0
  303. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.constants.ts +49 -7
  304. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.errors.ts +34 -3
  305. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.evolution.service.ts +22 -0
  306. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.playback.service.ts +62 -26
  307. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.protocol.service.ts +27 -1
  308. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.runtime.service.ts +23 -0
  309. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.frame.service.ts +378 -0
  310. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.types.ts +22 -0
  311. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.utils.ts +20 -203
  312. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.snapshot.utils.test.ts +94 -0
  313. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.snapshot.utils.ts +78 -13
  314. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.ts +235 -344
  315. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.types.ts +170 -22
  316. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.warm-start.service.ts +314 -0
  317. package/test/examples/flappy_bird/flappy.simulation.shared.utils.ts +17 -0
  318. package/test/examples/flappy_bird/flappyEnvironment.ts +21 -0
  319. package/test/examples/flappy_bird/flappyEvaluation.ts +12 -0
  320. package/test/examples/flappy_bird/flappyEvolution.worker.ts +7 -0
  321. package/test/examples/flappy_bird/index.ts +8 -2
  322. package/test/examples/flappy_bird/rng.ts +10 -0
  323. package/test/examples/flappy_bird/simulation-shared/README.md +518 -0
  324. package/test/examples/flappy_bird/simulation-shared/observation/README.md +255 -0
  325. package/test/examples/flappy_bird/simulation-shared/observation/observation.features.utils.ts +339 -0
  326. package/test/examples/flappy_bird/simulation-shared/observation/observation.ts +19 -0
  327. package/test/examples/flappy_bird/simulation-shared/observation/observation.vector.utils.ts +81 -0
  328. package/test/examples/flappy_bird/simulation-shared/simulation-shared.constants.ts +3 -0
  329. package/test/examples/flappy_bird/simulation-shared/simulation-shared.control.utils.ts +6 -0
  330. package/test/examples/flappy_bird/simulation-shared/simulation-shared.difficulty.utils.ts +9 -0
  331. package/test/examples/flappy_bird/simulation-shared/simulation-shared.errors.ts +10 -1
  332. package/test/examples/flappy_bird/simulation-shared/simulation-shared.memory.utils.ts +18 -0
  333. package/test/examples/flappy_bird/simulation-shared/simulation-shared.observation.utils.ts +7 -402
  334. package/test/examples/flappy_bird/simulation-shared/simulation-shared.spawn.utils.ts +36 -6
  335. package/test/examples/flappy_bird/{evaluation/evaluation.statistics.utils.ts → simulation-shared/simulation-shared.statistics.utils.ts} +30 -9
  336. package/test/examples/flappy_bird/simulation-shared/simulation-shared.types.ts +38 -5
  337. package/test/examples/flappy_bird/trainFlappyBird.ts +13 -0
  338. package/test/examples/flappy_bird/trainer/README.md +676 -0
  339. package/test/examples/flappy_bird/trainer/evaluation/README.md +253 -0
  340. package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.constants.ts +15 -0
  341. package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.services.ts +86 -0
  342. package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.ts +187 -0
  343. package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.types.ts +32 -0
  344. package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.utils.ts +182 -0
  345. package/test/examples/flappy_bird/trainer/trainer.evaluation.service.ts +13 -0
  346. package/test/examples/flappy_bird/trainer/trainer.fitness.service.ts +23 -1
  347. package/test/examples/flappy_bird/trainer/trainer.loop.service.ts +17 -1
  348. package/test/examples/flappy_bird/trainer/trainer.report.service.services.ts +181 -0
  349. package/test/examples/flappy_bird/trainer/trainer.report.service.ts +136 -0
  350. package/test/examples/flappy_bird/trainer/trainer.selection.utils.ts +89 -0
  351. package/test/examples/flappy_bird/trainer/trainer.setup.service.ts +22 -0
  352. package/test/examples/flappy_bird/trainer/trainer.signals.service.ts +8 -0
  353. package/test/examples/flappy_bird/trainer/trainer.ts +38 -553
  354. package/test/examples/flappy_bird/trainer/trainer.types.ts +44 -7
  355. package/test/neat/neat.topology-intent.test.ts +129 -0
  356. package/test/network/network.topology-intent.test.ts +44 -0
  357. package/test/examples/flappy_bird/browser-entry/browser-entry.utils.ts +0 -12
  358. package/test/examples/flappy_bird/environment/environment.ts +0 -7
  359. package/test/examples/flappy_bird/evaluation/evaluation.ts +0 -7
  360. package/test/examples/flappy_bird/simulation-shared/simulation-shared.ts +0 -15
  361. package/test/examples/flappy_bird/trainer/trainer.statistics.utils.ts +0 -78
@@ -1,34 +1,221 @@
1
- :root{--bg:#0b0f14;--panel:#121a24;--panel-2:#0f1722;--text:#d7e4f3;--muted:#8aa0b8;--line:#263446;--brand:#5a86ff;--brand-2:#88a8ff;--code:#0f141c}
2
- *{box-sizing:border-box}
3
- html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
4
- a{color:var(--brand-2);text-decoration:none}
5
- a:hover{text-decoration:underline}
6
- .topbar{position:sticky;top:0;z-index:30;background:rgba(10,14,20,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
7
- .topbar .inner{max-width:1400px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}
8
- .brand a{font-family:'Raleway',sans-serif;font-weight:700;color:#fff;font-size:1.1rem}
9
- .main-nav{display:flex;gap:14px;flex-wrap:wrap}
10
- .main-nav a{padding:6px 10px;border-radius:8px;color:var(--muted)}
11
- .main-nav a.active,.main-nav a:hover{background:#1a2533;color:#fff;text-decoration:none}
12
- .layout{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:280px minmax(0,1fr)280px;gap:20px;padding:20px 18px 30px}
13
- .sidebar,.toc{position:sticky;top:72px;max-height:calc(100vh - 90px);overflow:auto;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px}
14
- .content{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px}
15
- .sidebar-sections{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
16
- .sidebar-sections ul{list-style:none;padding-left:12px;margin:8px 0 0}
17
- .sidebar-sections li a{display:block;padding:5px 8px;border-radius:7px;color:var(--muted)}
18
- .sidebar-sections li.current>a,.sidebar-sections li a:hover{background:#1a2533;color:#fff;text-decoration:none}
19
- .g-head{font-family:'Raleway',sans-serif;font-weight:700;color:#c7d6ea;padding:6px 8px}
20
- h1,h2,h3,h4{font-family:'Raleway',sans-serif;color:#fff;line-height:1.25}
21
- h1{margin-top:0}
22
- p,li,td,th{line-height:1.6}
23
- pre,code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
24
- code{background:var(--code);padding:.1rem .35rem;border-radius:6px;border:1px solid #1c2634}
25
- pre{background:var(--code);padding:14px;border-radius:10px;border:1px solid #1c2634;overflow:auto}
26
- table{width:100%;border-collapse:collapse;display:block;overflow:auto}
27
- th,td{border:1px solid var(--line);padding:8px 10px;text-align:left}
28
- th{background:#172231}
29
- blockquote{margin:0;padding:12px 14px;border-left:3px solid var(--brand);background:#121d2b;border-radius:8px}
30
- .page-toc h2{margin:0 0 8px}
31
- .toc-file{margin:0 0 8px}
32
- .site-footer{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}
33
- @media (max-width:1180px){.layout{grid-template-columns:260px minmax(0,1fr)}.toc{display:none}}
34
- @media (max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:static;max-height:none}.content{padding:18px}}
1
+ :root {
2
+ --bg: #0b0f14;
3
+ --panel: #121a24;
4
+ --panel-2: #0f1722;
5
+ --text: #d7e4f3;
6
+ --muted: #8aa0b8;
7
+ --line: #263446;
8
+ --brand: #5a86ff;
9
+ --brand-2: #88a8ff;
10
+ --code: #0f141c;
11
+ }
12
+ * {
13
+ box-sizing: border-box;
14
+ }
15
+ html,
16
+ body {
17
+ margin: 0;
18
+ padding: 0;
19
+ background: var(--bg);
20
+ color: var(--text);
21
+ font-family:
22
+ 'Open Sans',
23
+ system-ui,
24
+ -apple-system,
25
+ Segoe UI,
26
+ Roboto,
27
+ Arial,
28
+ sans-serif;
29
+ }
30
+ a {
31
+ color: var(--brand-2);
32
+ text-decoration: none;
33
+ }
34
+ a:hover {
35
+ text-decoration: underline;
36
+ }
37
+ .topbar {
38
+ position: sticky;
39
+ top: 0;
40
+ z-index: 30;
41
+ background: rgba(10, 14, 20, 0.9);
42
+ backdrop-filter: blur(8px);
43
+ border-bottom: 1px solid var(--line);
44
+ }
45
+ .topbar .inner {
46
+ max-width: 1400px;
47
+ margin: 0 auto;
48
+ padding: 12px 18px;
49
+ display: flex;
50
+ align-items: center;
51
+ justify-content: space-between;
52
+ gap: 20px;
53
+ }
54
+ .brand a {
55
+ font-family: 'Raleway', sans-serif;
56
+ font-weight: 700;
57
+ color: #fff;
58
+ font-size: 1.1rem;
59
+ }
60
+ .main-nav {
61
+ display: flex;
62
+ gap: 14px;
63
+ flex-wrap: wrap;
64
+ }
65
+ .main-nav a {
66
+ padding: 6px 10px;
67
+ border-radius: 8px;
68
+ color: var(--muted);
69
+ }
70
+ .main-nav a.active,
71
+ .main-nav a:hover {
72
+ background: #1a2533;
73
+ color: #fff;
74
+ text-decoration: none;
75
+ }
76
+ .layout {
77
+ max-width: 1400px;
78
+ margin: 0 auto;
79
+ display: grid;
80
+ grid-template-columns: 280px minmax(0, 1fr) 280px;
81
+ gap: 20px;
82
+ padding: 20px 18px 30px;
83
+ }
84
+ .sidebar,
85
+ .toc {
86
+ position: sticky;
87
+ top: 72px;
88
+ max-height: calc(100vh - 90px);
89
+ overflow: auto;
90
+ background: var(--panel-2);
91
+ border: 1px solid var(--line);
92
+ border-radius: 12px;
93
+ padding: 12px;
94
+ }
95
+ .content {
96
+ min-width: 0;
97
+ background: var(--panel);
98
+ border: 1px solid var(--line);
99
+ border-radius: 12px;
100
+ padding: 24px;
101
+ }
102
+ .sidebar-sections {
103
+ list-style: none;
104
+ padding: 0;
105
+ margin: 0;
106
+ display: flex;
107
+ flex-direction: column;
108
+ gap: 8px;
109
+ }
110
+ .sidebar-sections ul {
111
+ list-style: none;
112
+ padding-left: 12px;
113
+ margin: 8px 0 0;
114
+ }
115
+ .sidebar-sections li a {
116
+ display: block;
117
+ padding: 5px 8px;
118
+ border-radius: 7px;
119
+ color: var(--muted);
120
+ }
121
+ .sidebar-sections li.current > a,
122
+ .sidebar-sections li a:hover {
123
+ background: #1a2533;
124
+ color: #fff;
125
+ text-decoration: none;
126
+ }
127
+ .g-head {
128
+ font-family: 'Raleway', sans-serif;
129
+ font-weight: 700;
130
+ color: #c7d6ea;
131
+ padding: 6px 8px;
132
+ }
133
+ h1,
134
+ h2,
135
+ h3,
136
+ h4 {
137
+ font-family: 'Raleway', sans-serif;
138
+ color: #fff;
139
+ line-height: 1.25;
140
+ }
141
+ h1 {
142
+ margin-top: 0;
143
+ }
144
+ p,
145
+ li,
146
+ td,
147
+ th {
148
+ line-height: 1.6;
149
+ }
150
+ pre,
151
+ code {
152
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
153
+ }
154
+ code {
155
+ background: var(--code);
156
+ padding: 0.1rem 0.35rem;
157
+ border-radius: 6px;
158
+ border: 1px solid #1c2634;
159
+ }
160
+ pre {
161
+ background: var(--code);
162
+ padding: 14px;
163
+ border-radius: 10px;
164
+ border: 1px solid #1c2634;
165
+ overflow: auto;
166
+ }
167
+ table {
168
+ width: 100%;
169
+ border-collapse: collapse;
170
+ display: block;
171
+ overflow: auto;
172
+ }
173
+ th,
174
+ td {
175
+ border: 1px solid var(--line);
176
+ padding: 8px 10px;
177
+ text-align: left;
178
+ }
179
+ th {
180
+ background: #172231;
181
+ }
182
+ blockquote {
183
+ margin: 0;
184
+ padding: 12px 14px;
185
+ border-left: 3px solid var(--brand);
186
+ background: #121d2b;
187
+ border-radius: 8px;
188
+ }
189
+ .page-toc h2 {
190
+ margin: 0 0 8px;
191
+ }
192
+ .toc-file {
193
+ margin: 0 0 8px;
194
+ }
195
+ .site-footer {
196
+ margin-top: 28px;
197
+ padding-top: 14px;
198
+ border-top: 1px solid var(--line);
199
+ color: var(--muted);
200
+ font-size: 0.92rem;
201
+ }
202
+ @media (max-width: 1180px) {
203
+ .layout {
204
+ grid-template-columns: 260px minmax(0, 1fr);
205
+ }
206
+ .toc {
207
+ display: none;
208
+ }
209
+ }
210
+ @media (max-width: 900px) {
211
+ .layout {
212
+ grid-template-columns: 1fr;
213
+ }
214
+ .sidebar {
215
+ position: static;
216
+ max-height: none;
217
+ }
218
+ .content {
219
+ padding: 18px;
220
+ }
221
+ }
@@ -6,7 +6,7 @@ function copyAsciiMaze() {
6
6
  const srcDir = path.resolve('test', 'examples', 'asciiMaze');
7
7
  if (!fs.existsSync(srcDir)) {
8
8
  console.warn(
9
- '[docs:examples] asciiMaze source directory not found, skipping'
9
+ '[docs:examples] asciiMaze source directory not found, skipping',
10
10
  );
11
11
  return;
12
12
  }
@@ -26,7 +26,7 @@ function copyFlappyBird() {
26
26
  const srcDir = path.resolve('test', 'examples', 'flappy_bird');
27
27
  if (!fs.existsSync(srcDir)) {
28
28
  console.warn(
29
- '[docs:examples] flappy_bird source directory not found, skipping'
29
+ '[docs:examples] flappy_bird source directory not found, skipping',
30
30
  );
31
31
  return;
32
32
  }
@@ -47,7 +47,11 @@ function writeExamplesLandingPage() {
47
47
  fs.mkdirSync(examplesDir, { recursive: true });
48
48
 
49
49
  const demoEntries = [
50
- { dirName: 'asciiMaze', label: 'asciiMaze', title: 'ASCII Maze (NeatapticTS)' },
50
+ {
51
+ dirName: 'asciiMaze',
52
+ label: 'asciiMaze',
53
+ title: 'ASCII Maze (NeatapticTS)',
54
+ },
51
55
  {
52
56
  dirName: 'flappy_bird',
53
57
  label: 'flappy_bird',
@@ -57,11 +61,11 @@ function writeExamplesLandingPage() {
57
61
 
58
62
  const linksMarkup = demoEntries
59
63
  .filter((entry) =>
60
- fs.existsSync(path.join(examplesDir, entry.dirName, 'index.html'))
64
+ fs.existsSync(path.join(examplesDir, entry.dirName, 'index.html')),
61
65
  )
62
66
  .map(
63
67
  (entry) =>
64
- `<li><a href="./${entry.dirName}/index.html">${entry.title}</a> <span class="demo-path">(examples/${entry.label})</span></li>`
68
+ `<li><a href="./${entry.dirName}/index.html">${entry.title}</a> <span class="demo-path">(examples/${entry.label})</span></li>`,
65
69
  )
66
70
  .join('');
67
71
 
@@ -21,7 +21,7 @@ const flag = (name) => args.includes(name);
21
21
 
22
22
  if (flag('--help') || flag('-h')) {
23
23
  console.log(
24
- `Usage: node scripts/export-onnx.mjs --in network.json --out model.onnx.json [--metadata] [--batch] [--legacy] [--partial] [--mixed]\n`
24
+ `Usage: node scripts/export-onnx.mjs --in network.json --out model.onnx.json [--metadata] [--batch] [--legacy] [--partial] [--mixed]\n`,
25
25
  );
26
26
  process.exit(0);
27
27
  }
@@ -48,7 +48,7 @@ async function loadDist() {
48
48
  // Fallback to network/network.onnx if direct path changed
49
49
  return import(
50
50
  pathToFileURL(
51
- path.resolve('dist', 'architecture', 'network', 'network.onnx.js')
51
+ path.resolve('dist', 'architecture', 'network', 'network.onnx.js'),
52
52
  ).href
53
53
  );
54
54
  });
@@ -76,7 +76,7 @@ async function loadDist() {
76
76
  fs.writeFileSync(
77
77
  path.resolve(outputFile),
78
78
  JSON.stringify(onnx, null, 2),
79
- 'utf8'
79
+ 'utf8',
80
80
  );
81
81
  console.log(`ONNX JSON written to ${outputFile}`);
82
82
  } catch (err) {
@@ -61,10 +61,10 @@ function buildVariantDeltaTable(artifact) {
61
61
  const ordered = Array.from(sizes).sort((a, b) => parseInt(a) - parseInt(b));
62
62
  const rows = [];
63
63
  rows.push(
64
- 'Size Metric Src Mean Dist Mean Δ Abs Δ % Flag Result'
64
+ 'Size Metric Src Mean Dist Mean Δ Abs Δ % Flag Result',
65
65
  );
66
66
  rows.push(
67
- '------ ----------------- ------------- ------------- ------------- ---------- ------------- ------------------------------------------------------------'
67
+ '------ ----------------- ------------- ------------- ------------- ---------- ------------- ------------------------------------------------------------',
68
68
  );
69
69
  const metrics = ['buildMs', 'fwdAvgMs', 'bytesPerConn'];
70
70
  for (const size of ordered) {
@@ -91,8 +91,8 @@ function buildVariantDeltaTable(artifact) {
91
91
  ? 'Dist bytes divergence'
92
92
  : 'Parity'
93
93
  : flag === '(REG)'
94
- ? `Dist ${dAbs > 0 ? 'slower' : 'faster'} ${metric}`
95
- : 'Parity';
94
+ ? `Dist ${dAbs > 0 ? 'slower' : 'faster'} ${metric}`
95
+ : 'Parity';
96
96
  rows.push(
97
97
  cell(size, 6) +
98
98
  ' ' +
@@ -106,19 +106,19 @@ function buildVariantDeltaTable(artifact) {
106
106
  typeof dAbs === 'number'
107
107
  ? (dAbs >= 0 ? '+' : '') + fmtNum(dAbs, 4)
108
108
  : '',
109
- 13
109
+ 13,
110
110
  ) +
111
111
  ' ' +
112
112
  cell(
113
113
  typeof dPct === 'number'
114
114
  ? (dPct >= 0 ? '+' : '') + fmtNum(dPct, 2)
115
115
  : '',
116
- 10
116
+ 10,
117
117
  ) +
118
118
  ' ' +
119
119
  cell(flag, 13) +
120
120
  ' ' +
121
- note
121
+ note,
122
122
  );
123
123
  }
124
124
  }
@@ -130,10 +130,10 @@ function buildHeapTable(artifact) {
130
130
  const ordered = Array.from(sizes).sort((a, b) => parseInt(a) - parseInt(b));
131
131
  const rows = [];
132
132
  rows.push(
133
- 'Size Metric Src Bytes Dist Bytes Src MB Dist MB Δ Bytes Δ % Note'
133
+ 'Size Metric Src Bytes Dist Bytes Src MB Dist MB Δ Bytes Δ % Note',
134
134
  );
135
135
  rows.push(
136
- '------ -------------- ------------ ------------ --------- --------- ----------- ------- -------------------------------------------------'
136
+ '------ -------------- ------------ ------------ --------- --------- ----------- ------- -------------------------------------------------',
137
137
  );
138
138
  for (const size of ordered) {
139
139
  for (const metric of ['heapUsed', 'rss']) {
@@ -159,7 +159,7 @@ function buildHeapTable(artifact) {
159
159
  ' ' +
160
160
  cell((dPct >= 0 ? '+' : '') + dPct.toFixed(2), 7) +
161
161
  ' ' +
162
- 'Informational'
162
+ 'Informational',
163
163
  );
164
164
  }
165
165
  }
@@ -56,10 +56,10 @@ function buildVariantDeltaTable(artifact: any): string {
56
56
  const ordered = Array.from(sizes).sort((a, b) => parseInt(a) - parseInt(b));
57
57
  const rows: string[] = [];
58
58
  rows.push(
59
- 'Size Metric Src Mean Dist Mean Δ Abs Δ % Flag Result'
59
+ 'Size Metric Src Mean Dist Mean Δ Abs Δ % Flag Result',
60
60
  );
61
61
  rows.push(
62
- '------ ----------------- ------------- ------------- ------------- ---------- ------------- ------------------------------------------------------------'
62
+ '------ ----------------- ------------- ------------- ------------- ---------- ------------- ------------------------------------------------------------',
63
63
  );
64
64
  const metrics = ['buildMs', 'fwdAvgMs', 'bytesPerConn'];
65
65
  for (const size of ordered) {
@@ -89,8 +89,8 @@ function buildVariantDeltaTable(artifact: any): string {
89
89
  ? 'Dist bytes divergence'
90
90
  : 'Parity'
91
91
  : flag === '(REG)'
92
- ? `Dist ${dAbs! > 0 ? 'slower' : 'faster'} ${metric}`
93
- : 'Parity';
92
+ ? `Dist ${dAbs! > 0 ? 'slower' : 'faster'} ${metric}`
93
+ : 'Parity';
94
94
  rows.push(
95
95
  cell(size, 6) +
96
96
  ' ' +
@@ -104,19 +104,19 @@ function buildVariantDeltaTable(artifact: any): string {
104
104
  typeof dAbs === 'number'
105
105
  ? (dAbs >= 0 ? '+' : '') + fmtNum(dAbs, 4)
106
106
  : '',
107
- 13
107
+ 13,
108
108
  ) +
109
109
  ' ' +
110
110
  cell(
111
111
  typeof dPct === 'number'
112
112
  ? (dPct >= 0 ? '+' : '') + fmtNum(dPct, 2)
113
113
  : '',
114
- 10
114
+ 10,
115
115
  ) +
116
116
  ' ' +
117
117
  cell(flag, 13) +
118
118
  ' ' +
119
- note
119
+ note,
120
120
  );
121
121
  }
122
122
  }
@@ -129,10 +129,10 @@ function buildHeapTable(artifact: any): string {
129
129
  const ordered = Array.from(sizes).sort((a, b) => parseInt(a) - parseInt(b));
130
130
  const rows: string[] = [];
131
131
  rows.push(
132
- 'Size Metric Src Bytes Dist Bytes Src MB Dist MB Δ Bytes Δ % Note'
132
+ 'Size Metric Src Bytes Dist Bytes Src MB Dist MB Δ Bytes Δ % Note',
133
133
  );
134
134
  rows.push(
135
- '------ -------------- ------------ ------------ --------- --------- ----------- ------- -------------------------------------------------'
135
+ '------ -------------- ------------ ------------ --------- --------- ----------- ------- -------------------------------------------------',
136
136
  );
137
137
  for (const size of ordered) {
138
138
  for (const metric of ['heapUsed', 'rss']) {
@@ -158,7 +158,7 @@ function buildHeapTable(artifact: any): string {
158
158
  ' ' +
159
159
  cell((dPct >= 0 ? '+' : '') + dPct.toFixed(2), 7) +
160
160
  ' ' +
161
- 'Informational'
161
+ 'Informational',
162
162
  );
163
163
  }
164
164
  }