@reicek/neataptic-ts 0.1.27 → 0.1.29

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 (833) hide show
  1. package/.github/copilot-instructions.md +11 -11
  2. package/.github/skills/educational-docs/SKILL.md +1 -1
  3. package/.github/skills/educational-docs/assets/readme-tone-model.md +1 -1
  4. package/.github/skills/educational-docs/assets/visual-style-guide.md +1 -1
  5. package/.github/skills/solid-split/SKILL.md +6 -6
  6. package/.github/skills/trace-audit-reporting/SKILL.md +1 -1
  7. package/.github/skills/trace-audit-reporting/references/trace-analysis-workflow.md +1 -1
  8. package/.github/workflows/ci.yml +2 -0
  9. package/.github/workflows/publish.yml +8 -4
  10. package/CONTRIBUTING.md +1 -1
  11. package/README.md +10 -10
  12. package/STYLEGUIDE.md +2 -2
  13. package/benchmarks/asciiMaze.micro.bench.ts +10 -0
  14. package/benchmarks/benchmark.asciiMaze.micro.bench.test.ts +12 -0
  15. package/{test/benchmarks → benchmarks}/benchmark.browser.headless.test.ts +29 -15
  16. package/{test/benchmarks → benchmarks}/benchmark.fieldAudit.test.ts +1 -1
  17. package/{test/benchmarks → benchmarks}/benchmark.memory.test.ts +5 -5
  18. package/benchmarks/benchmark.neat.evaluate.hotspot.test.ts +11 -0
  19. package/{test/benchmarks → benchmarks}/benchmark.nodePool.determinism.test.ts +2 -2
  20. package/{test/benchmarks → benchmarks}/benchmark.nodePool.memory.test.ts +3 -3
  21. package/{test/benchmarks → benchmarks}/benchmark.nodePool.removeRelease.test.ts +4 -4
  22. package/{test/benchmarks → benchmarks}/benchmark.nodePool.stress.test.ts +2 -2
  23. package/{test/benchmarks → benchmarks}/benchmark.poolStats.persist.test.ts +1 -1
  24. package/{test/benchmarks → benchmarks}/benchmark.serialization.gater.test.ts +4 -4
  25. package/{test/benchmarks → benchmarks}/benchmark.slab.fragmentation.bounds.test.ts +4 -4
  26. package/{test/benchmarks → benchmarks}/benchmark.slab.fragmentation.trend.test.ts +4 -4
  27. package/{test/examples → examples}/README.md +1 -1
  28. package/{test/examples → examples}/asciiMaze/README.md +1 -1
  29. package/{test/examples → examples}/asciiMaze/asciiMaze.e2e.test.ts +1 -1
  30. package/{test/examples → examples}/asciiMaze/dashboardManager/dashboardManager.ts +1 -1
  31. package/{test/examples → examples}/asciiMaze/dashboardManager/dashboardManager.types.ts +1 -1
  32. package/{test/examples → examples}/asciiMaze/evolutionEngine/curriculumPhase.ts +1 -1
  33. package/{test/examples → examples}/asciiMaze/evolutionEngine/evolutionEngine.types.ts +3 -3
  34. package/{test/examples → examples}/asciiMaze/evolutionEngine/neatConfiguration.ts +1 -1
  35. package/{test/examples → examples}/asciiMaze/evolutionEngine/optionsAndSetup.ts +1 -1
  36. package/{test/examples → examples}/asciiMaze/evolutionEngine/populationDynamics.ts +3 -3
  37. package/{test/examples → examples}/asciiMaze/evolutionEngine/populationPruning.ts +1 -1
  38. package/{test/examples → examples}/asciiMaze/evolutionEngine/telemetryMetrics.ts +2 -2
  39. package/{test/examples → examples}/asciiMaze/evolutionEngine/trainingWarmStart.ts +2 -2
  40. package/{test/examples → examples}/asciiMaze/evolutionEngine.ts +1 -1
  41. package/{test/examples → examples}/asciiMaze/index.html +3 -3
  42. package/{test/examples → examples}/asciiMaze/networkRefinement.ts +1 -1
  43. package/{test/examples → examples}/asciiMaze/refineWinner.ts +2 -2
  44. package/{test/examples → examples}/flappy_bird/README.md +2 -2
  45. package/{test/examples → examples}/flappy_bird/browser-entry/README.md +71 -3
  46. package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.visualization.types.ts +55 -1
  47. package/{test/examples → examples}/flappy_bird/browser-entry/host/host.ts +491 -8
  48. package/{test/examples → examples}/flappy_bird/browser-entry/network-view/README.md +84 -12
  49. package/{test/examples → examples}/flappy_bird/browser-entry/network-view/network-view.draw.service.ts +49 -21
  50. package/{test/examples → examples}/flappy_bird/browser-entry/network-view/network-view.topology.utils.ts +1 -1
  51. package/{test/examples → examples}/flappy_bird/browser-entry/network-view/network-view.ts +144 -28
  52. package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.service.test.ts +5 -5
  53. package/{test/examples → examples}/flappy_bird/browser-entry/runtime/README.md +215 -0
  54. package/{test/examples → examples}/flappy_bird/browser-entry/runtime/docs.order.json +2 -0
  55. package/{test/examples → examples}/flappy_bird/browser-entry/runtime/runtime.evolution-loop.service.ts +121 -10
  56. package/examples/flappy_bird/browser-entry/runtime/runtime.startup-preview.service.ts +318 -0
  57. package/examples/flappy_bird/browser-entry/runtime/runtime.startup-preview.utils.test.ts +103 -0
  58. package/examples/flappy_bird/browser-entry/runtime/runtime.startup-preview.utils.ts +103 -0
  59. package/{test/examples → examples}/flappy_bird/browser-entry/runtime/runtime.types.ts +6 -0
  60. package/{test/examples → examples}/flappy_bird/browser-entry/visualization/README.md +31 -46
  61. package/{test/examples → examples}/flappy_bird/browser-entry/visualization/visualization.colors.utils.ts +1 -1
  62. package/{test/examples → examples}/flappy_bird/browser-entry/visualization/visualization.constants.ts +14 -19
  63. package/{test/examples → examples}/flappy_bird/browser-entry/visualization/visualization.draw.service.ts +254 -182
  64. package/{test/examples → examples}/flappy_bird/browser-entry/visualization/visualization.legend.utils.ts +1 -1
  65. package/{test/examples → examples}/flappy_bird/constants/README.md +72 -8
  66. package/{test/examples → examples}/flappy_bird/constants/constants.network.ts +1 -1
  67. package/{test/examples → examples}/flappy_bird/constants/constants.runtime.ts +30 -5
  68. package/{test/examples → examples}/flappy_bird/constants/constants.ts +8 -0
  69. package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.evolution.service.test.ts +2 -2
  70. package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.evolution.service.ts +2 -2
  71. package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.playback.service.ts +2 -2
  72. package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.runtime.service.ts +2 -2
  73. package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.utils.ts +1 -1
  74. package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.snapshot.utils.test.ts +1 -1
  75. package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.ts +2 -2
  76. package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.types.ts +1 -1
  77. package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.warm-start.service.test.ts +2 -2
  78. package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.warm-start.service.ts +2 -2
  79. package/{test/examples → examples}/flappy_bird/index.html +5 -4
  80. package/{test/examples → examples}/flappy_bird/trainer/README.md +1 -1
  81. package/{test/examples → examples}/flappy_bird/trainer/trainer.setup.service.ts +3 -3
  82. package/{test/examples → examples}/flappy_bird/trainer/trainer.ts +1 -1
  83. package/jest.config.mjs +30 -15
  84. package/package.json +9 -8
  85. package/plans/ES2023 migration +594 -66
  86. package/plans/HyperEvoDevoMorphoNEAT.md +1 -0
  87. package/plans/HyperEvoDevo_Racing_Curriculum_and_Behavioral_Drives.md +341 -0
  88. package/plans/Memory_Optimization.md +2 -2
  89. package/plans/README.md +8 -4
  90. package/plans/Roadmap.md +13 -10
  91. package/plans/flappy-network-visualizer-hover-highlight.plans.md +95 -0
  92. package/plans/flappy-startup-loading-preview.logs.md +56 -0
  93. package/plans/flappy-startup-loading-preview.plans.md +58 -0
  94. package/plans/test-colocation-and-root-examples.logs.md +27 -0
  95. package/plans/test-colocation-and-root-examples.plans.md +38 -0
  96. package/scripts/analyze-trace/analyze-trace.io.ts +1 -1
  97. package/scripts/analyze-trace/analyze-trace.ts +1 -1
  98. package/scripts/copy-examples.ts +2 -2
  99. package/scripts/generate-bench-tables.ts +1 -1
  100. package/scripts/generate-docs/generate-docs.constants.ts +5 -15
  101. package/scripts/render-docs-html/render-docs-html.shared.ts +10 -13
  102. package/src/architecture/activationArrayPool/activationArrayPool.capacity.test.ts +29 -0
  103. package/src/architecture/activationArrayPool/activationArrayPool.test.ts +93 -0
  104. package/src/architecture/architect/README.md +28 -0
  105. package/src/architecture/architect/architect.errors.ts +59 -0
  106. package/src/architecture/architect/architect.ts +21 -10
  107. package/src/architecture/connection/connection.test.ts +290 -0
  108. package/src/architecture/group/README.md +16 -0
  109. package/src/architecture/group/group.errors.ts +29 -0
  110. package/src/architecture/group/group.test.ts +308 -0
  111. package/src/architecture/group/group.ts +9 -4
  112. package/src/architecture/layer/README.md +32 -0
  113. package/src/architecture/layer/layer.activation.utils.ts +2 -1
  114. package/src/architecture/layer/layer.connection.utils.ts +10 -4
  115. package/src/architecture/layer/layer.errors.ts +69 -0
  116. package/src/architecture/layer/layer.factory.recurrent.utils.ts +6 -2
  117. package/src/architecture/layer/layer.propagation.utils.ts +2 -1
  118. package/src/architecture/layer/layer.test.ts +194 -0
  119. package/src/architecture/network/README.md +8 -4
  120. package/src/architecture/network/activate/README.md +16 -0
  121. package/src/architecture/network/activate/network.activate.batch.utils.ts +10 -2
  122. package/src/architecture/network/activate/network.activate.core.utils.ts +8 -2
  123. package/src/architecture/network/activate/network.activate.errors.ts +29 -0
  124. package/src/architecture/network/activate/network.activate.notrace.utils.ts +4 -1
  125. package/src/architecture/network/activate/network.activate.test.ts +361 -0
  126. package/src/architecture/network/bootstrap/README.md +10 -2
  127. package/src/architecture/network/bootstrap/network.bootstrap.errors.ts +9 -0
  128. package/src/architecture/network/bootstrap/network.bootstrap.utils.ts +3 -2
  129. package/src/architecture/network/deterministic/network.deterministic.test.ts +211 -0
  130. package/src/architecture/network/evolve/README.md +36 -0
  131. package/src/architecture/network/evolve/network.evolve.branches.test.ts +95 -0
  132. package/src/architecture/network/evolve/network.evolve.errors.ts +33 -0
  133. package/src/architecture/network/evolve/network.evolve.multithread.test.ts +157 -0
  134. package/src/architecture/network/evolve/network.evolve.setup.utils.ts +13 -3
  135. package/src/architecture/network/evolve/network.evolve.test.ts +325 -0
  136. package/src/architecture/network/gating/README.md +16 -0
  137. package/src/architecture/network/gating/network.gating.errors.ts +29 -0
  138. package/src/architecture/network/gating/network.gating.gate.utils.ts +2 -1
  139. package/src/architecture/network/gating/network.gating.remove.utils.ts +10 -2
  140. package/src/architecture/network/gating/network.gating.test.ts +236 -0
  141. package/src/architecture/network/genetic/README.md +8 -0
  142. package/src/architecture/network/genetic/network.genetic.errors.ts +9 -0
  143. package/src/architecture/network/genetic/network.genetic.setup.utils.ts +4 -1
  144. package/src/architecture/network/genetic/network.genetic.test.ts +311 -0
  145. package/src/architecture/network/mutate/README.md +19 -7
  146. package/src/architecture/network/mutate/network.mutate.effects.test.ts +199 -0
  147. package/src/architecture/network/mutate/network.mutate.errors.ts +19 -0
  148. package/src/architecture/network/mutate/network.mutate.handlers.utils.ts +4 -1
  149. package/src/architecture/network/mutate/network.mutate.test.ts +540 -0
  150. package/src/architecture/network/mutate/network.mutate.utils.ts +2 -1
  151. package/src/architecture/network/network.errors.ts +9 -0
  152. package/src/architecture/network/network.ts +4 -1
  153. package/src/architecture/network/network.types.ts +0 -6
  154. package/src/architecture/network/onnx/README.md +24 -0
  155. package/src/architecture/network/onnx/export/layers/network.onnx.export-layer-graph.utils.ts +2 -1
  156. package/src/architecture/network/onnx/export/network.onnx.export.conv.test.ts +432 -0
  157. package/src/architecture/network/onnx/export/network.onnx.export.recurrent.test.ts +183 -0
  158. package/src/architecture/network/onnx/export/network.onnx.export.test.ts +722 -0
  159. package/src/architecture/network/onnx/import/network.onnx.import.recurrent.test.ts +180 -0
  160. package/src/architecture/network/onnx/import/network.onnx.import.test.ts +195 -0
  161. package/src/architecture/network/onnx/import/network.onnx.runtime-load.utils.ts +4 -1
  162. package/src/architecture/network/onnx/network.onnx.errors.ts +49 -0
  163. package/src/architecture/network/onnx/network.onnx.layer-analysis.utils.ts +10 -3
  164. package/src/architecture/network/onnx/network.onnx.test.ts +134 -0
  165. package/src/architecture/network/prune/network.prune.test.ts +416 -0
  166. package/src/architecture/network/remove/README.md +33 -21
  167. package/src/architecture/network/remove/network.remove.errors.ts +19 -0
  168. package/src/architecture/network/remove/network.remove.test.ts +103 -0
  169. package/src/architecture/network/remove/network.remove.validation.utils.ts +8 -2
  170. package/src/architecture/network/runtime/README.md +58 -6
  171. package/src/architecture/network/runtime/docs.order.json +8 -0
  172. package/src/architecture/network/runtime/network.runtime.controls.utils.ts +49 -11
  173. package/src/architecture/network/runtime/network.runtime.diagnostics.utils.ts +4 -1
  174. package/src/architecture/network/runtime/network.runtime.dropconnect.test.ts +82 -0
  175. package/src/architecture/network/runtime/network.runtime.dropout.test.ts +126 -0
  176. package/src/architecture/network/runtime/network.runtime.errors.ts +119 -0
  177. package/src/architecture/network/runtime/network.runtime.stochasticdepth.test.ts +82 -0
  178. package/src/architecture/network/runtime/network.runtime.weightnoise.test.ts +112 -0
  179. package/src/architecture/network/serialize/README.md +11 -3
  180. package/src/architecture/network/serialize/network.serialize.errors.ts +9 -0
  181. package/src/architecture/network/serialize/network.serialize.json.utils.ts +2 -1
  182. package/src/architecture/network/serialize/network.serialize.test.ts +762 -0
  183. package/src/architecture/network/slab/network.slab.alloc.stats.reuse.test.ts +51 -0
  184. package/src/architecture/network/slab/network.slab.async.test.ts +210 -0
  185. package/src/architecture/network/slab/network.slab.capacity.test.ts +97 -0
  186. package/src/architecture/network/slab/network.slab.fast-path.test.ts +162 -0
  187. package/src/architecture/network/slab/network.slab.flags.test.ts +67 -0
  188. package/src/architecture/network/slab/network.slab.gain.omission.test.ts +111 -0
  189. package/src/architecture/network/slab/network.slab.plasticity.test.ts +89 -0
  190. package/src/architecture/network/slab/network.slab.versioning.test.ts +57 -0
  191. package/src/architecture/network/standalone/README.md +37 -0
  192. package/src/architecture/network/standalone/network.standalone.errors.ts +24 -0
  193. package/src/architecture/network/standalone/network.standalone.test.ts +374 -0
  194. package/src/architecture/network/standalone/network.standalone.utils.activation.ts +24 -1
  195. package/src/architecture/network/standalone/network.standalone.utils.finalize.ts +6 -1
  196. package/src/architecture/network/standalone/network.standalone.utils.setup.ts +2 -1
  197. package/src/architecture/network/standalone/network.standalone.utils.types.ts +2 -2
  198. package/src/architecture/network/stats/README.md +18 -2
  199. package/src/architecture/network/stats/network.stats.errors.ts +29 -0
  200. package/src/architecture/network/stats/network.stats.test.ts +170 -0
  201. package/src/architecture/network/stats/network.stats.test.utils.ts +10 -3
  202. package/src/architecture/network/stats/network.stats.utils.ts +3 -29
  203. package/src/architecture/network/topology/network.topology.architecture.test.ts +169 -0
  204. package/src/architecture/network/topology/network.topology.test.ts +283 -0
  205. package/src/architecture/network/training/README.md +161 -113
  206. package/src/architecture/network/training/docs.order.json +13 -0
  207. package/src/architecture/network/training/network.training.advanced.test.ts +215 -0
  208. package/src/architecture/network/training/network.training.backprop.utils.ts +4 -1
  209. package/src/architecture/network/training/network.training.basic.test.ts +643 -0
  210. package/src/architecture/network/training/network.training.cost.test.ts +140 -0
  211. package/src/architecture/network/training/network.training.dropout.test.ts +117 -0
  212. package/src/architecture/network/training/network.training.earlystopping.test.ts +136 -0
  213. package/src/architecture/network/training/network.training.errors.ts +109 -0
  214. package/src/architecture/network/training/network.training.finalize.utils.ts +37 -13
  215. package/src/architecture/network/training/network.training.gradient-clip.utils.ts +1 -1
  216. package/src/architecture/network/training/network.training.gradient.features.test.ts +175 -0
  217. package/src/architecture/network/training/network.training.gradient.refinements.test.ts +225 -0
  218. package/src/architecture/network/training/network.training.gradient.separate-bias.test.ts +92 -0
  219. package/src/architecture/network/training/network.training.helpers.test.ts +239 -0
  220. package/src/architecture/network/training/network.training.learning-capability.test.ts +279 -0
  221. package/src/architecture/network/training/network.training.mixed-precision.test.ts +131 -0
  222. package/src/architecture/network/training/network.training.optimizer.behavior.test.ts +216 -0
  223. package/src/architecture/network/training/network.training.optimizer.formula.test.ts +195 -0
  224. package/src/architecture/network/training/network.training.optimizer.test.ts +105 -0
  225. package/src/architecture/network/training/network.training.plateau-smoothing.test.ts +72 -0
  226. package/src/architecture/network/training/network.training.propagate.test.ts +68 -0
  227. package/src/architecture/network/training/network.training.regularization.test.ts +275 -0
  228. package/src/architecture/network/training/network.training.smoothing.test.ts +188 -0
  229. package/src/architecture/network/training/network.training.smoothing.utils.ts +3 -3
  230. package/src/architecture/node/README.md +24 -0
  231. package/src/architecture/node/node.errors.ts +49 -0
  232. package/src/architecture/node/node.test.ts +337 -0
  233. package/src/architecture/node/node.ts +17 -6
  234. package/src/architecture/nodePool/nodePool.test.ts +93 -0
  235. package/src/methods/activation/activation.test.ts +462 -0
  236. package/src/methods/connection/connection.test.ts +104 -0
  237. package/src/methods/cost/README.md +8 -0
  238. package/src/methods/cost/cost.errors.ts +9 -0
  239. package/src/methods/cost/cost.test.ts +244 -0
  240. package/src/methods/cost/cost.utils.ts +2 -1
  241. package/src/methods/crossover/crossover.test.ts +109 -0
  242. package/src/methods/gating/gating.test.ts +91 -0
  243. package/src/methods/mutation/mutation.test.ts +214 -0
  244. package/src/methods/rate/README.md +8 -3
  245. package/src/methods/rate/rate.errors.ts +9 -0
  246. package/src/methods/rate/rate.test.ts +533 -0
  247. package/src/methods/rate/rate.utils.ts +3 -1
  248. package/src/methods/selection/selection.test.ts +115 -0
  249. package/src/multithreading/multi.test.ts +65 -0
  250. package/src/multithreading/multi.utils.test.ts +220 -0
  251. package/src/multithreading/workers/node/testworker.test.ts +147 -0
  252. package/src/multithreading/workers/node/worker.test.ts +41 -0
  253. package/src/multithreading/workers/workers.test.ts +25 -0
  254. package/src/neat/adaptive/acceptance/adaptive.acceptance.test.ts +88 -0
  255. package/src/neat/adaptive/complexity/adaptive.complexity.test.ts +276 -0
  256. package/src/neat/adaptive/lineage/adaptive.lineage.test.ts +213 -0
  257. package/src/neat/adaptive/mutation/adaptive.mutation.test.ts +214 -0
  258. package/src/neat/compat/compat.test.ts +88 -0
  259. package/src/neat/diversity/diversity.test.ts +77 -0
  260. package/src/neat/evaluate/auto-distance/evaluate.auto-distance.test.ts +62 -0
  261. package/src/neat/evaluate/entropy-compat/evaluate.entropy-compat.test.ts +68 -0
  262. package/src/neat/evaluate/entropy-sharing/evaluate.entropy-sharing.test.ts +63 -0
  263. package/src/neat/evaluate/fitness/evaluate.fitness.test.ts +119 -0
  264. package/src/neat/evaluate/novelty/evaluate.novelty.test.ts +86 -0
  265. package/src/neat/evaluate/objectives/evaluate.objectives.test.ts +72 -0
  266. package/src/neat/evolve/adaptive/evolve.adaptive.test.ts +287 -0
  267. package/src/neat/evolve/evolve.test.ts +41 -0
  268. package/src/neat/evolve/objectives/evolve.objectives.test.ts +328 -0
  269. package/src/neat/evolve/offspring/evolve.offspring.test.ts +93 -0
  270. package/src/neat/evolve/population/evolve.population.test.ts +336 -0
  271. package/src/neat/evolve/speciation/evolve.speciation.test.ts +51 -0
  272. package/src/neat/export/README.md +12 -0
  273. package/src/neat/export/neat.export.errors.ts +19 -0
  274. package/src/neat/export/neat.export.test.ts +178 -0
  275. package/src/neat/export/neat.export.ts +8 -2
  276. package/src/neat/helpers/neat.helpers.test.ts +210 -0
  277. package/src/neat/init/neat.init.test.ts +96 -0
  278. package/src/neat/init/neat.init.ts +1 -1
  279. package/src/neat/lineage/lineage.test.ts +33 -0
  280. package/src/neat/maintenance/facade/maintenance.facade.test.ts +35 -0
  281. package/src/neat/multiobjective/category/multiobjective.category.test.ts +317 -0
  282. package/src/neat/multiobjective/crowding/README.md +8 -0
  283. package/src/neat/multiobjective/crowding/multiobjective.crowding.errors.ts +9 -0
  284. package/src/neat/multiobjective/crowding/multiobjective.crowding.ts +4 -1
  285. package/src/neat/multiobjective/multiobjective.test.ts +140 -0
  286. package/src/neat/mutation/add-conn/mutation.add-conn.test.ts +259 -0
  287. package/src/neat/mutation/add-node/mutation.add-node.test.ts +198 -0
  288. package/src/neat/mutation/flow/mutation.flow.test.ts +87 -0
  289. package/src/neat/mutation/mutation.test.ts +257 -0
  290. package/src/neat/mutation/select/mutation.select.test.ts +298 -0
  291. package/src/neat/objectives/objectives.test.ts +117 -0
  292. package/src/neat/pruning/pruning.test.ts +137 -0
  293. package/src/neat/rng/rng.test.ts +59 -0
  294. package/src/neat/selection/core/README.md +8 -0
  295. package/src/neat/selection/core/selection.core.errors.ts +9 -0
  296. package/src/neat/selection/core/selection.core.ts +4 -1
  297. package/src/neat/selection/facade/selection.facade.test.ts +95 -0
  298. package/src/neat/selection/selection.test.ts +103 -0
  299. package/src/neat/speciation/assignment/speciation.assignment.test.ts +150 -0
  300. package/{test/neat/neat.speciation.age.penalty.test.ts → src/neat/speciation/history/speciation.history.test.ts} +24 -19
  301. package/src/neat/speciation/sharing/speciation.sharing.test.ts +181 -0
  302. package/src/neat/speciation/speciation.test.ts +57 -0
  303. package/src/neat/speciation/threshold/speciation.threshold.test.ts +169 -0
  304. package/src/neat/species/history/read/species.history.read.test.ts +204 -0
  305. package/src/neat/telemetry/exports/telemetry.exports.test.ts +263 -0
  306. package/src/neat/telemetry/facade/archive/telemetry.facade.archive.test.ts +169 -0
  307. package/src/neat/telemetry/facade/buffer/telemetry.facade.buffer.test.ts +265 -0
  308. package/src/neat/telemetry/facade/lineage/telemetry.facade.lineage.test.ts +34 -0
  309. package/src/neat/telemetry/facade/novelty/telemetry.facade.novelty.test.ts +42 -0
  310. package/src/neat/telemetry/facade/objectives/telemetry.facade.objectives.test.ts +83 -0
  311. package/src/neat/telemetry/facade/operator-stats/telemetry.facade.operator-stats.test.ts +31 -0
  312. package/src/neat/telemetry/facade/runtime/telemetry.facade.runtime.test.ts +81 -0
  313. package/src/neat/telemetry/facade/species/telemetry.facade.species.test.ts +162 -0
  314. package/src/neat/telemetry/metrics/telemetry.metrics.diversity.test.ts +78 -0
  315. package/src/neat/telemetry/metrics/telemetry.metrics.lineage.test.ts +82 -0
  316. package/src/neat/telemetry/metrics/telemetry.metrics.objectives.test.ts +122 -0
  317. package/src/neat/telemetry/metrics/telemetry.metrics.objectives.ts +3 -3
  318. package/src/neat/telemetry/recorder/telemetry.recorder.test.ts +302 -0
  319. package/src/neat/telemetry/recorder/telemetry.recorder.ts +2 -2
  320. package/src/neat/telemetry/runtime/telemetry.runtime.test.ts +128 -0
  321. package/src/neat/topology-intent/neat.topology-intent.test.ts +154 -0
  322. package/src/neat.ts +0 -1
  323. package/src/utils/README.md +49 -0
  324. package/src/utils/safeStructuredClone.ts +29 -0
  325. package/testing/jest-setup.ts +22 -0
  326. package/tsconfig.json +1 -1
  327. package/tsconfig.test.json +10 -5
  328. package/bench-browser/dev.bundle.1759662879868-23916.js +0 -10517
  329. package/bench-browser/dev.bundle.js +0 -15045
  330. package/bench-browser/dev.bundle.js.map +0 -7
  331. package/bench-browser/jest-dev.html +0 -25
  332. package/bench-browser/jest-prod.html +0 -25
  333. package/bench-browser/prod.bundle.1759662879868-23916.js +0 -41
  334. package/bench-browser/prod.bundle.js +0 -10155
  335. package/bench-browser/tmp-dev.html +0 -25
  336. package/bench-browser/tmp-prod.html +0 -25
  337. package/test/architecture/activationArrayPool.capacity.test.ts +0 -30
  338. package/test/architecture/activationArrayPool.test.ts +0 -46
  339. package/test/architecture/connection.test.ts +0 -301
  340. package/test/architecture/group.test.ts +0 -964
  341. package/test/architecture/layer.test.ts +0 -1605
  342. package/test/architecture/node.test.ts +0 -1608
  343. package/test/architecture/nodePool.test.ts +0 -50
  344. package/test/benchmarks/benchmark.asciiMaze.micro.bench.test.ts +0 -0
  345. package/test/benchmarks/benchmark.neat.evaluate.hotspot.test.ts +0 -0
  346. package/test/methods/activation.test.ts +0 -1081
  347. package/test/methods/connection.test.ts +0 -147
  348. package/test/methods/cost.test.ts +0 -1123
  349. package/test/methods/crossover.test.ts +0 -206
  350. package/test/methods/gating.test.ts +0 -150
  351. package/test/methods/mutation.test.ts +0 -454
  352. package/test/methods/optimizers.advanced.test.ts +0 -88
  353. package/test/methods/optimizers.behavior.test.ts +0 -114
  354. package/test/methods/optimizers.formula.test.ts +0 -109
  355. package/test/methods/rate.cosineWarmRestarts.test.ts +0 -44
  356. package/test/methods/rate.linearWarmupDecay.test.ts +0 -41
  357. package/test/methods/rate.reduceOnPlateau.test.ts +0 -45
  358. package/test/methods/rate.test.ts +0 -684
  359. package/test/methods/selection.test.ts +0 -245
  360. package/test/multithreading/activations.functions.test.ts +0 -55
  361. package/test/multithreading/multi.test.ts +0 -309
  362. package/test/multithreading/worker.node.process.test.ts +0 -39
  363. package/test/multithreading/workers.coverage.test.ts +0 -44
  364. package/test/multithreading/workers.dynamic.import.test.ts +0 -8
  365. package/test/neat/neat.adaptive.ancestorUniq.cooldown.test.ts +0 -45
  366. package/test/neat/neat.adaptive.ancestorUniq.epsilon.test.ts +0 -94
  367. package/test/neat/neat.adaptive.ancestorUniq.lineagePressure.test.ts +0 -84
  368. package/test/neat/neat.adaptive.complexityBudget.connShrink.test.ts +0 -33
  369. package/test/neat/neat.adaptive.complexityBudget.growth.novelty.test.ts +0 -45
  370. package/test/neat/neat.adaptive.complexityBudget.minClamp.test.ts +0 -27
  371. package/test/neat/neat.adaptive.complexityBudget.test.ts +0 -36
  372. package/test/neat/neat.adaptive.complexityBudget.trend.test.ts +0 -59
  373. package/test/neat/neat.adaptive.criterion.complexity.test.ts +0 -55
  374. package/test/neat/neat.adaptive.minimalCriterion.rejection.test.ts +0 -36
  375. package/test/neat/neat.adaptive.mutation.amount.adapt.test.ts +0 -41
  376. package/test/neat/neat.adaptive.mutation.anneal.strategy.test.ts +0 -38
  377. package/test/neat/neat.adaptive.mutation.exploreLow.strategy.test.ts +0 -38
  378. package/test/neat/neat.adaptive.mutation.strategy.test.ts +0 -44
  379. package/test/neat/neat.adaptive.mutation.twotier.balance.test.ts +0 -39
  380. package/test/neat/neat.adaptive.mutation.twotier.fallback.single.test.ts +0 -35
  381. package/test/neat/neat.adaptive.operator.adaptation.decay.balance.test.ts +0 -38
  382. package/test/neat/neat.adaptive.operator.bandit.decay.test.ts +0 -30
  383. package/test/neat/neat.adaptive.operator.decay.test.ts +0 -33
  384. package/test/neat/neat.adaptive.phasedComplexity.test.ts +0 -27
  385. package/test/neat/neat.adaptive.phasedComplexity.toggle.test.ts +0 -30
  386. package/test/neat/neat.adaptive.pruning.test.ts +0 -28
  387. package/test/neat/neat.adaptive.targetSpecies.test.ts +0 -43
  388. package/test/neat/neat.additional.coverage.test.ts +0 -146
  389. package/test/neat/neat.advanced.enhancements.test.ts +0 -85
  390. package/test/neat/neat.advanced.test.ts +0 -606
  391. package/test/neat/neat.compat.distance.cache.test.ts +0 -52
  392. package/test/neat/neat.diversity.autocompat.test.ts +0 -55
  393. package/test/neat/neat.diversity.metrics.test.ts +0 -22
  394. package/test/neat/neat.diversity.stats.test.ts +0 -43
  395. package/test/neat/neat.enhancements.test.ts +0 -92
  396. package/test/neat/neat.entropy.ancestorAdaptive.test.ts +0 -158
  397. package/test/neat/neat.entropy.compat.csv.test.ts +0 -104
  398. package/test/neat/neat.evolution.pruning.test.ts +0 -39
  399. package/test/neat/neat.export.meta.fromjson.test.ts +0 -25
  400. package/test/neat/neat.export.state.rehydrate.test.ts +0 -40
  401. package/test/neat/neat.fastmode.autotune.test.ts +0 -46
  402. package/test/neat/neat.helpers.spawn.pool.test.ts +0 -53
  403. package/test/neat/neat.innovation.test.ts +0 -213
  404. package/test/neat/neat.lineage.antibreeding.test.ts +0 -53
  405. package/test/neat/neat.lineage.buildAnc.window.test.ts +0 -32
  406. package/test/neat/neat.lineage.entropy.test.ts +0 -68
  407. package/test/neat/neat.lineage.inbreeding.test.ts +0 -68
  408. package/test/neat/neat.lineage.pressure.test.ts +0 -35
  409. package/test/neat/neat.multiobjective.adaptive.test.ts +0 -61
  410. package/test/neat/neat.multiobjective.dynamic.schedule.test.ts +0 -45
  411. package/test/neat/neat.multiobjective.dynamic.test.ts +0 -38
  412. package/test/neat/neat.multiobjective.fastsort.delegation.test.ts +0 -66
  413. package/test/neat/neat.multiobjective.prune.test.ts +0 -45
  414. package/test/neat/neat.multiobjective.test.ts +0 -21
  415. package/test/neat/neat.mutation.addconn.cycle.guard.test.ts +0 -66
  416. package/test/neat/neat.mutation.undefined.pool.test.ts +0 -30
  417. package/test/neat/neat.objective.events.test.ts +0 -26
  418. package/test/neat/neat.objective.importance.test.ts +0 -21
  419. package/test/neat/neat.objective.lifetimes.test.ts +0 -33
  420. package/test/neat/neat.objectives.register.clear.test.ts +0 -61
  421. package/test/neat/neat.offspring.allocation.test.ts +0 -37
  422. package/test/neat/neat.operator.bandit.test.ts +0 -17
  423. package/test/neat/neat.operator.phases.test.ts +0 -50
  424. package/test/neat/neat.pruneInactive.behavior.test.ts +0 -69
  425. package/test/neat/neat.pruning.adaptive.test.ts +0 -69
  426. package/test/neat/neat.reenable.adaptation.test.ts +0 -24
  427. package/test/neat/neat.rng.state.test.ts +0 -40
  428. package/test/neat/neat.selection.strategies.test.ts +0 -51
  429. package/test/neat/neat.spawn.add.test.ts +0 -156
  430. package/test/neat/neat.speciation.assign.existing.test.ts +0 -75
  431. package/test/neat/neat.speciation.auto.tuning.jitter.test.ts +0 -91
  432. package/test/neat/neat.speciation.create.newSpecies.test.ts +0 -74
  433. package/test/neat/neat.speciation.fitnessSharing.equal.test.ts +0 -51
  434. package/test/neat/neat.speciation.fitnessSharing.kernel.test.ts +0 -51
  435. package/test/neat/neat.speciation.pid.threshold.clip.max.test.ts +0 -81
  436. package/test/neat/neat.speciation.pid.threshold.clip.min.test.ts +0 -81
  437. package/test/neat/neat.speciation.stagnation.prune.test.ts +0 -51
  438. package/test/neat/neat.speciation.test.ts +0 -98
  439. package/test/neat/neat.species.allocation.telemetry.test.ts +0 -26
  440. package/test/neat/neat.species.history.csv.test.ts +0 -24
  441. package/test/neat/neat.species.history.fallbacks.test.ts +0 -102
  442. package/test/neat/neat.telemetry.advanced.test.ts +0 -286
  443. package/test/neat/neat.telemetry.csv.lineage.test.ts +0 -24
  444. package/test/neat/neat.telemetry.fastmode.diversity.test.ts +0 -88
  445. package/test/neat/neat.telemetry.objective.events.test.ts +0 -109
  446. package/test/neat/neat.telemetry.parity.test.ts +0 -48
  447. package/test/neat/neat.telemetry.select.entropy.cache.test.ts +0 -95
  448. package/test/neat/neat.telemetry.stream.test.ts +0 -27
  449. package/test/neat/neat.telemetry.test.ts +0 -16
  450. package/test/neat/neat.test.ts +0 -445
  451. package/test/neat/neat.topology-intent.test.ts +0 -129
  452. package/test/neat/neat.utilities.test.ts +0 -62
  453. package/test/network/__suppress_console.ts +0 -9
  454. package/test/network/acyclic.topoorder.test.ts +0 -17
  455. package/test/network/architecture.descriptor.test.ts +0 -111
  456. package/test/network/checkpoint.metricshook.test.ts +0 -40
  457. package/test/network/error.handling.test.ts +0 -613
  458. package/test/network/evolution.test.ts +0 -288
  459. package/test/network/genetic.test.ts +0 -227
  460. package/test/network/learning.capability.test.ts +0 -252
  461. package/test/network/mutation.effects.test.ts +0 -512
  462. package/test/network/network.activate.test.ts +0 -141
  463. package/test/network/network.activateBatch.test.ts +0 -30
  464. package/test/network/network.deterministic.test.ts +0 -77
  465. package/test/network/network.evolve.branches.test.ts +0 -83
  466. package/test/network/network.evolve.multithread.branches.test.ts +0 -103
  467. package/test/network/network.evolve.test.ts +0 -122
  468. package/test/network/network.gating.removal.test.ts +0 -98
  469. package/test/network/network.mutate.additional.test.ts +0 -146
  470. package/test/network/network.mutate.edgecases.test.ts +0 -103
  471. package/test/network/network.mutate.test.ts +0 -103
  472. package/test/network/network.prune.earlyexit.test.ts +0 -72
  473. package/test/network/network.pruning.test.ts +0 -63
  474. package/test/network/network.remove.errors.test.ts +0 -45
  475. package/test/network/network.slab.alloc.stats.reuse.test.ts +0 -36
  476. package/test/network/network.slab.async.test.ts +0 -164
  477. package/test/network/network.slab.capacity.test.ts +0 -83
  478. package/test/network/network.slab.fallbacks.test.ts +0 -42
  479. package/test/network/network.slab.fast.gain.parity.test.ts +0 -43
  480. package/test/network/network.slab.fast.gating.guard.test.ts +0 -46
  481. package/test/network/network.slab.fast.parity.test.ts +0 -39
  482. package/test/network/network.slab.flags.test.ts +0 -52
  483. package/test/network/network.slab.gain.omission.test.ts +0 -58
  484. package/test/network/network.slab.gain.release-on-reset.test.ts +0 -50
  485. package/test/network/network.slab.phase3.test.ts +0 -52
  486. package/test/network/network.slab.plasticity.test.ts +0 -72
  487. package/test/network/network.slab.versioning.test.ts +0 -52
  488. package/test/network/network.stats.test.ts +0 -70
  489. package/test/network/network.topology-intent.test.ts +0 -44
  490. package/test/network/network.training.advanced.test.ts +0 -176
  491. package/test/network/network.training.basic.test.ts +0 -301
  492. package/test/network/network.training.helpers.test.ts +0 -186
  493. package/test/network/onnx.export.test.ts +0 -620
  494. package/test/network/onnx.recurrent.fused.test.ts +0 -178
  495. package/test/network/pruning.topology.test.ts +0 -323
  496. package/test/network/regularization.determinism.test.ts +0 -97
  497. package/test/network/regularization.dropconnect.test.ts +0 -17
  498. package/test/network/regularization.dropconnect.validation.test.ts +0 -18
  499. package/test/network/regularization.stochasticdepth.test.ts +0 -42
  500. package/test/network/regularization.test.ts +0 -863
  501. package/test/network/regularization.weightnoise.test.ts +0 -35
  502. package/test/network/setupTests.ts +0 -2
  503. package/test/network/standalone.test.ts +0 -334
  504. package/test/network/structure.serialization.test.ts +0 -630
  505. package/test/onnx/onnx.conv.groundwork.test.ts +0 -105
  506. package/test/onnx/onnx.conv.infer.test.ts +0 -44
  507. package/test/onnx/onnx.conv.pool.flatten.test.ts +0 -31
  508. package/test/onnx/onnx.conv.pool.validation.test.ts +0 -174
  509. package/test/onnx/onnx.export.test.ts +0 -490
  510. package/test/onnx/onnx.import.test.ts +0 -127
  511. package/test/onnx/onnx.roundtrip.test.ts +0 -81
  512. package/test/training/training.determinism.mixed-precision.test.ts +0 -136
  513. package/test/training/training.earlystopping.test.ts +0 -91
  514. package/test/training/training.edge-cases.test.ts +0 -107
  515. package/test/training/training.extensions.test.ts +0 -48
  516. package/test/training/training.gradient.features.test.ts +0 -112
  517. package/test/training/training.gradient.refinements.test.ts +0 -178
  518. package/test/training/training.gradient.separate-bias.test.ts +0 -41
  519. package/test/training/training.optimizer.test.ts +0 -59
  520. package/test/training/training.plateau.smoothing.test.ts +0 -58
  521. package/test/training/training.smoothing.types.test.ts +0 -178
  522. package/test/training/training.train.options.coverage.test.ts +0 -52
  523. package/test/types/es2023.d.ts +0 -10
  524. package/test/utils/console-helper.ts +0 -80
  525. package/test/utils/jest-setup.ts +0 -184
  526. package/test/utils/pollUntil.test.ts +0 -44
  527. package/test/utils/pollUntil.ts +0 -67
  528. package/test/utils/test-helpers.ts +0 -180
  529. /package/{test/benchmarks → benchmarks}/benchmark.browser.memory.test.ts +0 -0
  530. /package/{test/benchmarks → benchmarks}/benchmark.buildVariants.test.ts +0 -0
  531. /package/{test/benchmarks → benchmarks}/benchmark.regressionAnnotations.test.ts +0 -0
  532. /package/{test/benchmarks → benchmarks}/benchmark.report.test.ts +0 -0
  533. /package/{test/benchmarks → benchmarks}/benchmark.variance.escalation.test.ts +0 -0
  534. /package/{test/benchmarks → benchmarks}/benchmark.variance.test.ts +0 -0
  535. /package/{test/examples → examples}/asciiMaze/asciiMaze.ts +0 -0
  536. /package/{test/examples → examples}/asciiMaze/browser-entry/README.md +0 -0
  537. /package/{test/examples → examples}/asciiMaze/browser-entry/browser-entry.abort.services.ts +0 -0
  538. /package/{test/examples → examples}/asciiMaze/browser-entry/browser-entry.constants.ts +0 -0
  539. /package/{test/examples → examples}/asciiMaze/browser-entry/browser-entry.curriculum.services.ts +0 -0
  540. /package/{test/examples → examples}/asciiMaze/browser-entry/browser-entry.globals.services.ts +0 -0
  541. /package/{test/examples → examples}/asciiMaze/browser-entry/browser-entry.host.services.ts +0 -0
  542. /package/{test/examples → examples}/asciiMaze/browser-entry/browser-entry.services.ts +0 -0
  543. /package/{test/examples → examples}/asciiMaze/browser-entry/browser-entry.ts +0 -0
  544. /package/{test/examples → examples}/asciiMaze/browser-entry/browser-entry.types.ts +0 -0
  545. /package/{test/examples → examples}/asciiMaze/browser-entry/browser-entry.utils.ts +0 -0
  546. /package/{test/examples → examples}/asciiMaze/browser-entry.ts +0 -0
  547. /package/{test/examples → examples}/asciiMaze/browserLogger.ts +0 -0
  548. /package/{test/examples → examples}/asciiMaze/browserTerminalUtility.ts +0 -0
  549. /package/{test/examples → examples}/asciiMaze/colors.ts +0 -0
  550. /package/{test/examples → examples}/asciiMaze/dashboardManager/README.md +0 -0
  551. /package/{test/examples → examples}/asciiMaze/dashboardManager/archive/README.md +0 -0
  552. /package/{test/examples → examples}/asciiMaze/dashboardManager/archive/dashboardManager.archive.services.ts +0 -0
  553. /package/{test/examples → examples}/asciiMaze/dashboardManager/dashboardManager.constants.ts +0 -0
  554. /package/{test/examples → examples}/asciiMaze/dashboardManager/dashboardManager.services.ts +0 -0
  555. /package/{test/examples → examples}/asciiMaze/dashboardManager/dashboardManager.utils.ts +0 -0
  556. /package/{test/examples → examples}/asciiMaze/dashboardManager/live/README.md +0 -0
  557. /package/{test/examples → examples}/asciiMaze/dashboardManager/live/dashboardManager.live.services.ts +0 -0
  558. /package/{test/examples → examples}/asciiMaze/dashboardManager/telemetry/README.md +0 -0
  559. /package/{test/examples → examples}/asciiMaze/dashboardManager/telemetry/dashboardManager.telemetry.services.ts +0 -0
  560. /package/{test/examples → examples}/asciiMaze/dashboardManager.ts +0 -0
  561. /package/{test/examples → examples}/asciiMaze/evolutionEngine/README.md +0 -0
  562. /package/{test/examples → examples}/asciiMaze/evolutionEngine/docs.order.json +0 -0
  563. /package/{test/examples → examples}/asciiMaze/evolutionEngine/engineState.constants.ts +0 -0
  564. /package/{test/examples → examples}/asciiMaze/evolutionEngine/engineState.ts +0 -0
  565. /package/{test/examples → examples}/asciiMaze/evolutionEngine/engineState.types.ts +0 -0
  566. /package/{test/examples → examples}/asciiMaze/evolutionEngine/engineState.utils.ts +0 -0
  567. /package/{test/examples → examples}/asciiMaze/evolutionEngine/evolutionEngine.constants.ts +0 -0
  568. /package/{test/examples → examples}/asciiMaze/evolutionEngine/evolutionEngine.services.ts +0 -0
  569. /package/{test/examples → examples}/asciiMaze/evolutionEngine/evolutionEngine.utils.ts +0 -0
  570. /package/{test/examples → examples}/asciiMaze/evolutionEngine/evolutionLoop.ts +0 -0
  571. /package/{test/examples → examples}/asciiMaze/evolutionEngine/networkInspection.ts +0 -0
  572. /package/{test/examples → examples}/asciiMaze/evolutionEngine/rngAndTiming.ts +0 -0
  573. /package/{test/examples → examples}/asciiMaze/evolutionEngine/sampling.ts +0 -0
  574. /package/{test/examples → examples}/asciiMaze/evolutionEngine/scratchPools.ts +0 -0
  575. /package/{test/examples → examples}/asciiMaze/evolutionEngine/setupHelpers.ts +0 -0
  576. /package/{test/examples → examples}/asciiMaze/fitness.ts +0 -0
  577. /package/{test/examples → examples}/asciiMaze/fitness.types.ts +0 -0
  578. /package/{test/examples → examples}/asciiMaze/index.ts +0 -0
  579. /package/{test/examples → examples}/asciiMaze/interfaces.ts +0 -0
  580. /package/{test/examples → examples}/asciiMaze/mazeMovement/README.md +0 -0
  581. /package/{test/examples → examples}/asciiMaze/mazeMovement/finalization/README.md +0 -0
  582. /package/{test/examples → examples}/asciiMaze/mazeMovement/finalization/mazeMovement.finalization.ts +0 -0
  583. /package/{test/examples → examples}/asciiMaze/mazeMovement/mazeMovement.constants.ts +0 -0
  584. /package/{test/examples → examples}/asciiMaze/mazeMovement/mazeMovement.services.ts +0 -0
  585. /package/{test/examples → examples}/asciiMaze/mazeMovement/mazeMovement.ts +0 -0
  586. /package/{test/examples → examples}/asciiMaze/mazeMovement/mazeMovement.types.ts +0 -0
  587. /package/{test/examples → examples}/asciiMaze/mazeMovement/mazeMovement.utils.ts +0 -0
  588. /package/{test/examples → examples}/asciiMaze/mazeMovement/policy/README.md +0 -0
  589. /package/{test/examples → examples}/asciiMaze/mazeMovement/policy/mazeMovement.policy.ts +0 -0
  590. /package/{test/examples → examples}/asciiMaze/mazeMovement/runtime/README.md +0 -0
  591. /package/{test/examples → examples}/asciiMaze/mazeMovement/runtime/mazeMovement.runtime.ts +0 -0
  592. /package/{test/examples → examples}/asciiMaze/mazeMovement/shaping/README.md +0 -0
  593. /package/{test/examples → examples}/asciiMaze/mazeMovement/shaping/mazeMovement.shaping.ts +0 -0
  594. /package/{test/examples → examples}/asciiMaze/mazeMovement.ts +0 -0
  595. /package/{test/examples → examples}/asciiMaze/mazeUtils.ts +0 -0
  596. /package/{test/examples → examples}/asciiMaze/mazeVision.ts +0 -0
  597. /package/{test/examples → examples}/asciiMaze/mazeVisualization.ts +0 -0
  598. /package/{test/examples → examples}/asciiMaze/mazes.ts +0 -0
  599. /package/{test/examples → examples}/asciiMaze/networkVisualization.ts +0 -0
  600. /package/{test/examples → examples}/asciiMaze/terminalUtility.ts +0 -0
  601. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.host.utils.ts +0 -0
  602. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.math.utils.ts +0 -0
  603. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.network-view.utils.ts +0 -0
  604. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.observation.utils.ts +0 -0
  605. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.playback.utils.ts +0 -0
  606. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.render.types.ts +0 -0
  607. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.runtime.types.ts +0 -0
  608. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.simulation.types.ts +0 -0
  609. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.spawn.utils.ts +0 -0
  610. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.stats.types.ts +0 -0
  611. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.stats.utils.ts +0 -0
  612. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.telemetry.utils.ts +0 -0
  613. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.text-frame.utils.ts +0 -0
  614. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.ts +0 -0
  615. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.types.ts +0 -0
  616. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.viewport.utils.ts +0 -0
  617. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.visualization.utils.ts +0 -0
  618. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.worker-channel.utils.ts +0 -0
  619. /package/{test/examples → examples}/flappy_bird/browser-entry/browser-entry.worker.types.ts +0 -0
  620. /package/{test/examples → examples}/flappy_bird/browser-entry/docs.order.json +0 -0
  621. /package/{test/examples → examples}/flappy_bird/browser-entry/host/README.md +0 -0
  622. /package/{test/examples → examples}/flappy_bird/browser-entry/host/docs.order.json +0 -0
  623. /package/{test/examples → examples}/flappy_bird/browser-entry/host/host.canvas.service.ts +0 -0
  624. /package/{test/examples → examples}/flappy_bird/browser-entry/host/host.constants.ts +0 -0
  625. /package/{test/examples → examples}/flappy_bird/browser-entry/host/host.dom.service.ts +0 -0
  626. /package/{test/examples → examples}/flappy_bird/browser-entry/host/host.resize.service.ts +0 -0
  627. /package/{test/examples → examples}/flappy_bird/browser-entry/host/host.stats.service.ts +0 -0
  628. /package/{test/examples → examples}/flappy_bird/browser-entry/host/host.types.ts +0 -0
  629. /package/{test/examples → examples}/flappy_bird/browser-entry/host/resize/README.md +0 -0
  630. /package/{test/examples → examples}/flappy_bird/browser-entry/host/resize/docs.order.json +0 -0
  631. /package/{test/examples → examples}/flappy_bird/browser-entry/host/resize/host.resize.service.constants.ts +0 -0
  632. /package/{test/examples → examples}/flappy_bird/browser-entry/host/resize/host.resize.service.services.ts +0 -0
  633. /package/{test/examples → examples}/flappy_bird/browser-entry/host/resize/host.resize.service.ts +0 -0
  634. /package/{test/examples → examples}/flappy_bird/browser-entry/host/resize/host.resize.service.types.ts +0 -0
  635. /package/{test/examples → examples}/flappy_bird/browser-entry/host/resize/host.resize.service.utils.ts +0 -0
  636. /package/{test/examples → examples}/flappy_bird/browser-entry/network-view/docs.order.json +0 -0
  637. /package/{test/examples → examples}/flappy_bird/browser-entry/network-view/network-view.constants.ts +0 -0
  638. /package/{test/examples → examples}/flappy_bird/browser-entry/network-view/network-view.labels.utils.ts +0 -0
  639. /package/{test/examples → examples}/flappy_bird/browser-entry/network-view/network-view.layout.utils.ts +0 -0
  640. /package/{test/examples → examples}/flappy_bird/browser-entry/network-view/network-view.types.ts +0 -0
  641. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/README.md +0 -0
  642. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/README.md +0 -0
  643. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/docs.order.json +0 -0
  644. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/README.md +0 -0
  645. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/docs.order.json +0 -0
  646. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.batch.services.ts +0 -0
  647. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.cache.services.ts +0 -0
  648. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.constants.ts +0 -0
  649. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.batch.utils.ts +0 -0
  650. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.layout.utils.test.ts +0 -0
  651. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.layout.utils.ts +0 -0
  652. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.services.ts +0 -0
  653. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.utils.ts +0 -0
  654. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.layer.services.ts +0 -0
  655. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils.test.ts +0 -0
  656. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils.ts +0 -0
  657. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.selection.utils.ts +0 -0
  658. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.timing.utils.ts +0 -0
  659. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.test.ts +0 -0
  660. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.ts +0 -0
  661. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.scene.services.ts +0 -0
  662. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.services.ts +0 -0
  663. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.ts +0 -0
  664. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types.ts +0 -0
  665. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.utils.ts +0 -0
  666. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/playback.background.cache.services.ts +0 -0
  667. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/playback.background.constants.ts +0 -0
  668. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/playback.background.draw.services.ts +0 -0
  669. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/playback.background.scene.services.ts +0 -0
  670. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/playback.background.services.ts +0 -0
  671. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/playback.background.ts +0 -0
  672. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/playback.background.types.ts +0 -0
  673. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/background/playback.background.utils.ts +0 -0
  674. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/docs.order.json +0 -0
  675. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/README.md +0 -0
  676. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/docs.order.json +0 -0
  677. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.bird.utils.ts +0 -0
  678. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.canvas.services.ts +0 -0
  679. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.entity.services.ts +0 -0
  680. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.scene.services.ts +0 -0
  681. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.service.ts +0 -0
  682. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.services.ts +0 -0
  683. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.trail.utils.ts +0 -0
  684. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types.ts +0 -0
  685. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.utils.ts +0 -0
  686. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.constants.ts +0 -0
  687. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.errors.ts +0 -0
  688. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.frame-render.service.ts +0 -0
  689. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.iteration.services.test.ts +0 -0
  690. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.iteration.services.ts +0 -0
  691. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.loop.service.ts +0 -0
  692. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.orchestration.types.ts +0 -0
  693. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.render.pipe-outline.service.ts +0 -0
  694. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.render.service.ts +0 -0
  695. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.render.utils.ts +0 -0
  696. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.session.services.ts +0 -0
  697. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.snapshot.utils.test.ts +0 -0
  698. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.snapshot.utils.ts +0 -0
  699. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.starfield.layer.services.ts +0 -0
  700. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.starfield.service.ts +0 -0
  701. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.starfield.services.ts +0 -0
  702. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.starfield.types.ts +0 -0
  703. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.starfield.utils.ts +0 -0
  704. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.trail.utils.ts +0 -0
  705. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.ts +0 -0
  706. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.types.ts +0 -0
  707. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/playback.worker-channel.utils.ts +0 -0
  708. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/snapshot/README.md +0 -0
  709. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/snapshot/docs.order.json +0 -0
  710. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.services.ts +0 -0
  711. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.summary.utils.test.ts +0 -0
  712. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.summary.utils.ts +0 -0
  713. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/trail/README.md +0 -0
  714. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/trail/docs.order.json +0 -0
  715. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/trail/playback.trail.history.services.test.ts +0 -0
  716. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/trail/playback.trail.history.services.ts +0 -0
  717. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/trail/playback.trail.opacity.utils.test.ts +0 -0
  718. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/trail/playback.trail.opacity.utils.ts +0 -0
  719. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/worker-channel/README.md +0 -0
  720. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/worker-channel/docs.order.json +0 -0
  721. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.request.services.ts +0 -0
  722. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.summary.services.ts +0 -0
  723. /package/{test/examples → examples}/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.types.ts +0 -0
  724. /package/{test/examples → examples}/flappy_bird/browser-entry/runtime/runtime.browser-globals.service.ts +0 -0
  725. /package/{test/examples → examples}/flappy_bird/browser-entry/runtime/runtime.errors.ts +0 -0
  726. /package/{test/examples → examples}/flappy_bird/browser-entry/runtime/runtime.evolution-launch.service.ts +0 -0
  727. /package/{test/examples → examples}/flappy_bird/browser-entry/runtime/runtime.lifecycle.service.ts +0 -0
  728. /package/{test/examples → examples}/flappy_bird/browser-entry/runtime/runtime.startup.service.ts +0 -0
  729. /package/{test/examples → examples}/flappy_bird/browser-entry/runtime/runtime.telemetry.service.ts +0 -0
  730. /package/{test/examples → examples}/flappy_bird/browser-entry/runtime/runtime.ts +0 -0
  731. /package/{test/examples → examples}/flappy_bird/browser-entry/visualization/docs.order.json +0 -0
  732. /package/{test/examples → examples}/flappy_bird/browser-entry/visualization/visualization.errors.ts +0 -0
  733. /package/{test/examples → examples}/flappy_bird/browser-entry/visualization/visualization.topology.utils.ts +0 -0
  734. /package/{test/examples → examples}/flappy_bird/browser-entry/visualization/visualization.ts +0 -0
  735. /package/{test/examples → examples}/flappy_bird/browser-entry/visualization/visualization.types.ts +0 -0
  736. /package/{test/examples → examples}/flappy_bird/browser-entry/worker-channel/README.md +0 -0
  737. /package/{test/examples → examples}/flappy_bird/browser-entry/worker-channel/docs.order.json +0 -0
  738. /package/{test/examples → examples}/flappy_bird/browser-entry/worker-channel/worker-channel.errors.ts +0 -0
  739. /package/{test/examples → examples}/flappy_bird/browser-entry/worker-channel/worker-channel.generation.service.ts +0 -0
  740. /package/{test/examples → examples}/flappy_bird/browser-entry/worker-channel/worker-channel.playback.service.test.ts +0 -0
  741. /package/{test/examples → examples}/flappy_bird/browser-entry/worker-channel/worker-channel.playback.service.ts +0 -0
  742. /package/{test/examples → examples}/flappy_bird/browser-entry/worker-channel/worker-channel.request.service.ts +0 -0
  743. /package/{test/examples → examples}/flappy_bird/browser-entry/worker-channel/worker-channel.ts +0 -0
  744. /package/{test/examples → examples}/flappy_bird/browser-entry/worker-channel/worker-channel.types.ts +0 -0
  745. /package/{test/examples → examples}/flappy_bird/browser-entry/worker-channel/worker-channel.url.service.ts +0 -0
  746. /package/{test/examples → examples}/flappy_bird/constants/constants.birds.ts +0 -0
  747. /package/{test/examples → examples}/flappy_bird/constants/constants.difficulty.ts +0 -0
  748. /package/{test/examples → examples}/flappy_bird/constants/constants.fitness.ts +0 -0
  749. /package/{test/examples → examples}/flappy_bird/constants/constants.frame.ts +0 -0
  750. /package/{test/examples → examples}/flappy_bird/constants/constants.layout.ts +0 -0
  751. /package/{test/examples → examples}/flappy_bird/constants/constants.network-view.ts +0 -0
  752. /package/{test/examples → examples}/flappy_bird/constants/constants.observation.ts +0 -0
  753. /package/{test/examples → examples}/flappy_bird/constants/constants.palette.ts +0 -0
  754. /package/{test/examples → examples}/flappy_bird/constants/constants.physics.ts +0 -0
  755. /package/{test/examples → examples}/flappy_bird/constants/constants.pipe-render.ts +0 -0
  756. /package/{test/examples → examples}/flappy_bird/constants/constants.pipes.ts +0 -0
  757. /package/{test/examples → examples}/flappy_bird/constants/constants.rendering.ts +0 -0
  758. /package/{test/examples → examples}/flappy_bird/constants/constants.starfield.ts +0 -0
  759. /package/{test/examples → examples}/flappy_bird/constants/constants.stats.ts +0 -0
  760. /package/{test/examples → examples}/flappy_bird/constants/constants.world.ts +0 -0
  761. /package/{test/examples → examples}/flappy_bird/constants/docs.order.json +0 -0
  762. /package/{test/examples → examples}/flappy_bird/environment/README.md +0 -0
  763. /package/{test/examples → examples}/flappy_bird/environment/docs.order.json +0 -0
  764. /package/{test/examples → examples}/flappy_bird/environment/environment.collision.utils.ts +0 -0
  765. /package/{test/examples → examples}/flappy_bird/environment/environment.constants.ts +0 -0
  766. /package/{test/examples → examples}/flappy_bird/environment/environment.observation.utils.ts +0 -0
  767. /package/{test/examples → examples}/flappy_bird/environment/environment.state.service.ts +0 -0
  768. /package/{test/examples → examples}/flappy_bird/environment/environment.step.service.ts +0 -0
  769. /package/{test/examples → examples}/flappy_bird/environment/environment.types.ts +0 -0
  770. /package/{test/examples → examples}/flappy_bird/evaluation/README.md +0 -0
  771. /package/{test/examples → examples}/flappy_bird/evaluation/docs.order.json +0 -0
  772. /package/{test/examples → examples}/flappy_bird/evaluation/evaluation.constants.ts +0 -0
  773. /package/{test/examples → examples}/flappy_bird/evaluation/evaluation.fitness.utils.ts +0 -0
  774. /package/{test/examples → examples}/flappy_bird/evaluation/evaluation.rollout.service.ts +0 -0
  775. /package/{test/examples → examples}/flappy_bird/evaluation/evaluation.seed.utils.ts +0 -0
  776. /package/{test/examples → examples}/flappy_bird/evaluation/evaluation.types.ts +0 -0
  777. /package/{test/examples → examples}/flappy_bird/evaluation/rollout/README.md +0 -0
  778. /package/{test/examples → examples}/flappy_bird/evaluation/rollout/docs.order.json +0 -0
  779. /package/{test/examples → examples}/flappy_bird/evaluation/rollout/evaluation.rollout.constants.ts +0 -0
  780. /package/{test/examples → examples}/flappy_bird/evaluation/rollout/evaluation.rollout.service.ts +0 -0
  781. /package/{test/examples → examples}/flappy_bird/evaluation/rollout/evaluation.rollout.services.ts +0 -0
  782. /package/{test/examples → examples}/flappy_bird/evaluation/rollout/evaluation.rollout.types.ts +0 -0
  783. /package/{test/examples → examples}/flappy_bird/evaluation/rollout/evaluation.rollout.utils.ts +0 -0
  784. /package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/README.md +0 -0
  785. /package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/docs.order.json +0 -0
  786. /package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.constants.ts +0 -0
  787. /package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.errors.ts +0 -0
  788. /package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.protocol.service.ts +0 -0
  789. /package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.frame.service.ts +0 -0
  790. /package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.types.ts +0 -0
  791. /package/{test/examples → examples}/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.snapshot.utils.ts +0 -0
  792. /package/{test/examples → examples}/flappy_bird/flappy.simulation.shared.utils.ts +0 -0
  793. /package/{test/examples → examples}/flappy_bird/flappyEnvironment.ts +0 -0
  794. /package/{test/examples → examples}/flappy_bird/flappyEvaluation.ts +0 -0
  795. /package/{test/examples → examples}/flappy_bird/flappyEvolution.worker.ts +0 -0
  796. /package/{test/examples → examples}/flappy_bird/index.ts +0 -0
  797. /package/{test/examples → examples}/flappy_bird/rng.ts +0 -0
  798. /package/{test/examples → examples}/flappy_bird/simulation-shared/README.md +0 -0
  799. /package/{test/examples → examples}/flappy_bird/simulation-shared/docs.order.json +0 -0
  800. /package/{test/examples → examples}/flappy_bird/simulation-shared/observation/README.md +0 -0
  801. /package/{test/examples → examples}/flappy_bird/simulation-shared/observation/docs.order.json +0 -0
  802. /package/{test/examples → examples}/flappy_bird/simulation-shared/observation/observation.features.utils.ts +0 -0
  803. /package/{test/examples → examples}/flappy_bird/simulation-shared/observation/observation.ts +0 -0
  804. /package/{test/examples → examples}/flappy_bird/simulation-shared/observation/observation.vector.utils.ts +0 -0
  805. /package/{test/examples → examples}/flappy_bird/simulation-shared/simulation-shared.constants.ts +0 -0
  806. /package/{test/examples → examples}/flappy_bird/simulation-shared/simulation-shared.control.utils.ts +0 -0
  807. /package/{test/examples → examples}/flappy_bird/simulation-shared/simulation-shared.difficulty.utils.ts +0 -0
  808. /package/{test/examples → examples}/flappy_bird/simulation-shared/simulation-shared.errors.ts +0 -0
  809. /package/{test/examples → examples}/flappy_bird/simulation-shared/simulation-shared.math.utils.ts +0 -0
  810. /package/{test/examples → examples}/flappy_bird/simulation-shared/simulation-shared.memory.utils.ts +0 -0
  811. /package/{test/examples → examples}/flappy_bird/simulation-shared/simulation-shared.observation.utils.ts +0 -0
  812. /package/{test/examples → examples}/flappy_bird/simulation-shared/simulation-shared.spawn.utils.ts +0 -0
  813. /package/{test/examples → examples}/flappy_bird/simulation-shared/simulation-shared.statistics.utils.ts +0 -0
  814. /package/{test/examples → examples}/flappy_bird/simulation-shared/simulation-shared.types.ts +0 -0
  815. /package/{test/examples → examples}/flappy_bird/trainFlappyBird.ts +0 -0
  816. /package/{test/examples → examples}/flappy_bird/trainer/evaluation/README.md +0 -0
  817. /package/{test/examples → examples}/flappy_bird/trainer/evaluation/trainer.evaluation.service.constants.ts +0 -0
  818. /package/{test/examples → examples}/flappy_bird/trainer/evaluation/trainer.evaluation.service.services.ts +0 -0
  819. /package/{test/examples → examples}/flappy_bird/trainer/evaluation/trainer.evaluation.service.ts +0 -0
  820. /package/{test/examples → examples}/flappy_bird/trainer/evaluation/trainer.evaluation.service.types.ts +0 -0
  821. /package/{test/examples → examples}/flappy_bird/trainer/evaluation/trainer.evaluation.service.utils.ts +0 -0
  822. /package/{test/examples → examples}/flappy_bird/trainer/trainer.constants.ts +0 -0
  823. /package/{test/examples → examples}/flappy_bird/trainer/trainer.errors.ts +0 -0
  824. /package/{test/examples → examples}/flappy_bird/trainer/trainer.evaluation-plan.utils.ts +0 -0
  825. /package/{test/examples → examples}/flappy_bird/trainer/trainer.evaluation.service.ts +0 -0
  826. /package/{test/examples → examples}/flappy_bird/trainer/trainer.fitness.service.ts +0 -0
  827. /package/{test/examples → examples}/flappy_bird/trainer/trainer.loop.service.ts +0 -0
  828. /package/{test/examples → examples}/flappy_bird/trainer/trainer.report.service.services.ts +0 -0
  829. /package/{test/examples → examples}/flappy_bird/trainer/trainer.report.service.ts +0 -0
  830. /package/{test/examples → examples}/flappy_bird/trainer/trainer.reporting.utils.ts +0 -0
  831. /package/{test/examples → examples}/flappy_bird/trainer/trainer.selection.utils.ts +0 -0
  832. /package/{test/examples → examples}/flappy_bird/trainer/trainer.signals.service.ts +0 -0
  833. /package/{test/examples → examples}/flappy_bird/trainer/trainer.types.ts +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Purpose
4
4
 
5
- When generating, modifying, or suggesting code that touches files under `src/` or `test/`, follow the project `STYLEGUIDE.md` rules and perform the quick validations listed below before returning suggestions.
5
+ When generating, modifying, or suggesting code that touches files under `src/`, `testing/`, `benchmarks/`, or `examples/`, follow the project `STYLEGUIDE.md` rules and perform the quick validations listed below before returning suggestions.
6
6
 
7
7
  ## Educational docs preference (JSDoc)
8
8
 
@@ -70,7 +70,7 @@ a compressed plan plus matching log.
70
70
 
71
71
  For split or refactor work with meaningful documentation scope, let `solid-split` own the boundary work and `educational-docs` own documentation quality.
72
72
 
73
- When you touch code under `src/` or `test/`, prefer improving JSDoc so the generated docs are:
73
+ When you touch code under `src/`, `testing/`, `benchmarks/`, or `examples/`, prefer improving JSDoc so the generated docs are:
74
74
 
75
75
  - **Interesting and explanatory**, not just type signatures.
76
76
  - **Example-driven**: include small examples in the main description (prefer fenced code blocks like ```ts) so the docs generator preserves them.
@@ -109,7 +109,7 @@ When a task touches `.github/workflows/**`, `package.json`, `package-lock.json`,
109
109
 
110
110
  Because JSDoc is auto-compiled into each folder's `README.md`, those README files are the fastest condensed overview of a module's purpose, exported surface, neighboring files, and intended usage.
111
111
 
112
- Before exploring or editing a folder in `src/` or `test/`, agents should:
112
+ Before exploring or editing a folder in `src/`, `examples/`, `benchmarks/`, or `testing/`, agents should:
113
113
 
114
114
  1. Read the nearest folder `README.md` first.
115
115
  - Example: before changing `src/architecture/network/genetic/*`, read `src/architecture/network/genetic/README.md`.
@@ -137,7 +137,7 @@ belong in that skill.
137
137
 
138
138
  ## Demo-first library gap policy (critical)
139
139
 
140
- Examples and demos in `test/examples/` are not places to normalize library ergonomics gaps. They are probes that should reveal where the public API, defaults, or runtime contracts fall short of world-class expectations.
140
+ Examples and demos in `examples/` are not places to normalize library ergonomics gaps. They are probes that should reveal where the public API, defaults, or runtime contracts fall short of world-class expectations.
141
141
 
142
142
  When demo work exposes a mismatch between obvious user intent and the library behavior:
143
143
 
@@ -206,7 +206,7 @@ Avoid (legacy/less clear):
206
206
 
207
207
  ## Standard architecture for project files
208
208
 
209
- When splitting medium or large modules in `src/` or `test/`, prefer a dedicated folder-based module boundary instead of accumulating many sibling files at the parent level.
209
+ When splitting medium or large modules in `src/`, `examples/`, `benchmarks/`, or `testing/`, prefer a dedicated folder-based module boundary instead of accumulating many sibling files at the parent level.
210
210
 
211
211
  Use this naming convention for a module named `module`:
212
212
 
@@ -243,7 +243,7 @@ Architecture rules:
243
243
  - Avoid one-off naming patterns during refactors; once a module is folderized, keep all follow-up files in the same naming scheme.
244
244
  - Replace broad catch-all files with narrower module-owned `*.types.ts`, `*.services.ts`, or `*.utils.ts` files rather than recreating another hub.
245
245
 
246
- ## Strict rules to enforce (apply to any suggestion touching `src/` or `test/`)
246
+ ## Strict rules to enforce (apply to any suggestion touching `src/`, `testing/`, `benchmarks/`, or `examples/`)
247
247
 
248
248
  1. Naming: avoid short local identifiers. Do not use these short names for non-trivial locals: `dx`, `dy`, `d`, `i`, `a`, `b`, `c`, `p`, `o`, `cand`, `tries`, `idx`.
249
249
  - If the original code uses a short name in a tiny loop (1–3 lines) and it is clearly idiomatic, allow `i`, `j` only.
@@ -251,7 +251,7 @@ Architecture rules:
251
251
 
252
252
  2. JSDoc: exported classes/functions/constants and public methods must have JSDoc with `@param` and `@returns` where appropriate. Add short `@example` when behavior is non-obvious.
253
253
 
254
- JSDoc-for-constants rule: All exported or shared default constants in `src/` and `test/` must include a concise educational JSDoc explaining what the value controls (e.g., decay factor meaning, floor rates). Keep descriptions short and clarifying.
254
+ JSDoc-for-constants rule: All exported or shared default constants in `src/`, `testing/`, `benchmarks/`, and `examples/` must include a concise educational JSDoc explaining what the value controls (e.g., decay factor meaning, floor rates). Keep descriptions short and clarifying.
255
255
 
256
256
  3. Tests: follow the single-expect rule. Each `it()` (or `test()`) must have exactly one top-level `expect(...)` statement. If multiple assertions are needed, split into multiple `it()` cases or use helper assertions.
257
257
 
@@ -261,7 +261,7 @@ Architecture rules:
261
261
 
262
262
  6. Lookup tables and enums: prefer a single table/enum for small fixed mappings (for example direction deltas) and helper methods like `#opposite(direction)` rather than scattered arithmetic.
263
263
 
264
- 7. Types: avoid `any` and `unknown` in `src/` and `test/`. Use precise types or `// eslint-disable-next-line @typescript-eslint/no-explicit-any` with a short justification comment.
264
+ 7. Types: avoid `any` and `unknown` in `src/`, `testing/`, `benchmarks/`, and `examples/`. Use precise types or `// eslint-disable-next-line @typescript-eslint/no-explicit-any` with a short justification comment.
265
265
 
266
266
  8. Local helper structure preference:
267
267
  - For new or refactored functions that introduce internal helpers, order the function as:
@@ -272,7 +272,7 @@ Architecture rules:
272
272
  - Helpers should be small and pure where practical, with step-level inline comments and JSDoc.
273
273
 
274
274
  9. Mandatory implementation pattern (always; keep cognitive complexity low):
275
- - Applies to all new code and any modified/refactored code in `src/` and `test/`.
275
+ - Applies to all new code and any modified/refactored code in `src/`, `testing/`, `benchmarks/`, and `examples/`.
276
276
  - Prefer a _declarative top-level flow_ ("collect → transform → fold/return") over deeply nested control flow.
277
277
  - Avoid ternary chains (especially nested) for multi-branch fallback logic; use named resolver helpers with early returns instead.
278
278
  - When normalizing legacy/loose data, isolate type assertions/casting into a single helper and keep the rest strongly typed.
@@ -332,7 +332,7 @@ type Output = unknown;
332
332
 
333
333
  ## Automated validations to run before finalizing a suggestion
334
334
 
335
- When you modify or create files under `src/` or `test/`, run (or advise running) these quick validations. If you cannot run them, still make sure your suggestion would pass them.
335
+ When you modify or create files under `src/`, `testing/`, `benchmarks/`, or `examples/`, run (or advise running) these quick validations. If you cannot run them, still make sure your suggestion would pass them.
336
336
 
337
337
  1. TypeScript diagnostics
338
338
 
@@ -340,7 +340,7 @@ When you modify or create files under `src/` or `test/`, run (or advise running)
340
340
 
341
341
  ## Purpose
342
342
 
343
- Give brief, actionable guidance so suggestions touching `src/` or `test/` prioritize compliance with `STYLEGUIDE.md`.
343
+ Give brief, actionable guidance so suggestions touching `src/`, `testing/`, `benchmarks/`, or `examples/` prioritize compliance with `STYLEGUIDE.md`.
344
344
 
345
345
  Keep it light: prefer small, automated checks and a short validation summary with every patch.
346
346
 
@@ -72,7 +72,7 @@ better teaching choice.
72
72
  - A generated folder README has become so large or monolithic that the better
73
73
  fix is to invoke `solid-split` and break the boundary into smaller chapter
74
74
  folders before continuing the docs pass.
75
- - A folder under `src/` or `test/` needs richer JSDoc so doc generation becomes
75
+ - A folder under `src/`, `examples/`, `benchmarks/`, or `testing/` needs richer JSDoc so doc generation becomes
76
76
  more useful.
77
77
  - A split or refactor changed a module boundary and the documentation story now
78
78
  lags behind the code.
@@ -1,7 +1,7 @@
1
1
  # README Tone Model
2
2
 
3
3
  Use this rubric when shaping JSDoc so generated README output feels closer to
4
- `test/examples/flappy_bird/README.md` and farther from a dry symbol dump.
4
+ `examples/flappy_bird/README.md` and farther from a dry symbol dump.
5
5
 
6
6
  ## What Makes The Flappy Bird README Strong
7
7
 
@@ -24,7 +24,7 @@ poster.
24
24
  ## Canonical Palette
25
25
 
26
26
  Anchor the look to the Astro Bird constants in
27
- `test/examples/flappy_bird/constants/constants.palette.ts`.
27
+ `examples/flappy_bird/constants/constants.palette.ts`.
28
28
 
29
29
  Primary colors:
30
30
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: solid-split
3
- description: 'Plan and execute repo-consistent SOLID splits in NeatapticTS across src/ or test/, starting from a user-specified root such as #file:flappy_bird. Use when folderizing a module, thinning a compatibility facade, improving JSDoc so generated README files read naturally, or continuing an incremental split pass with stable imports.'
3
+ description: 'Plan and execute repo-consistent SOLID splits in NeatapticTS across src/, examples/, benchmarks/, or testing/ surfaces, starting from a user-specified root such as #file:flappy_bird. Use when folderizing a module, thinning a compatibility facade, improving JSDoc so generated README files read naturally, or continuing an incremental split pass with stable imports.'
4
4
  argument-hint: 'Describe the split root, target module or folder, any relevant plan file, and optional detail about the next boundary to extract.'
5
5
  user-invocable: true
6
6
  disable-model-invocation: false
@@ -9,8 +9,8 @@ disable-model-invocation: false
9
9
  # Solid Split Playbook
10
10
 
11
11
  Use this skill to run the NeatapticTS house style for deliberate, resumable,
12
- documentation-aware SOLID splits in either library code under `src/` or demos
13
- and examples under `test/`.
12
+ documentation-aware SOLID splits in either library code under `src/` or
13
+ supporting surfaces under `examples/`, `benchmarks/`, and `testing/`.
14
14
 
15
15
  This skill is designed to complement the existing `solid-split` custom agent.
16
16
  The skill defines the repository-specific split protocol, documentation bar,
@@ -170,7 +170,7 @@ one-pass rewrites.
170
170
  - Keep top-level flows declarative: collect, transform, fold, return.
171
171
  - Use descriptive names and ES2023-first style where the touched code benefits.
172
172
 
173
- For demos under `test/examples/`, treat DX gaps as library/runtime evidence
173
+ For demos under `examples/`, treat DX gaps as library/runtime evidence
174
174
  first. Do not normalize demo-specific workarounds if the real issue is a shared
175
175
  API, default, or runtime contract.
176
176
 
@@ -247,8 +247,8 @@ small-chapter split pattern.
247
247
  - A good split outcome is one where a new reader can discover the boundary by
248
248
  drilling down through a few concise README pages rather than one monolithic
249
249
  README.
250
- - Apply this standard everywhere the split skill is used: `src/`, `test/`,
251
- `test/examples/`, `scripts/`, browser/demo surfaces, tooling folders, and any
250
+ - Apply this standard everywhere the split skill is used: `src/`, `examples/`,
251
+ `benchmarks/`, `testing/`, `scripts/`, browser/demo surfaces, tooling folders, and any
252
252
  other project area that has become too broad for one file or one folder README.
253
253
  - Do not treat examples, scripts, or support tooling as exceptions. If they are
254
254
  large enough to need a SOLID split, they should follow the same direct-path,
@@ -99,7 +99,7 @@ surface for the library rather than the final destination for a workaround.
99
99
 
100
100
  - This repository already includes `scripts/analyze-trace/analyze-trace.ts` for compact,
101
101
  thread-aware trace audits.
102
- - For work in `src/` or `test/`, consult the nearest folder `README.md` before
102
+ - For work in `src/`, `examples/`, `benchmarks/`, or `testing/`, consult the nearest folder `README.md` before
103
103
  deep file reads.
104
104
  - For substantial architecture findings, align the report with the relevant
105
105
  `plans/` document when one exists.
@@ -23,7 +23,7 @@ npm run trace:analyze -- <trace-path> --top=15
23
23
  Example:
24
24
 
25
25
  ```bash
26
- npm run trace:analyze -- test/examples/flappy_bird/Trace-20260309T191949.json --top=15
26
+ npm run trace:analyze -- examples/flappy_bird/Trace-20260309T191949.json --top=15
27
27
  ```
28
28
 
29
29
  ## What the Analyzer Produces
@@ -18,6 +18,8 @@ jobs:
18
18
  node-version: '24'
19
19
  - name: Install dependencies
20
20
  run: npm ci
21
+ - name: Run lint
22
+ run: npm run lint
21
23
  - name: Run tests
22
24
  run: npm test
23
25
  - name: Check for coverage file
@@ -75,6 +75,10 @@ jobs:
75
75
  if: ${{ env.LOOP_SKIP == 'false' }}
76
76
  run: npm ci
77
77
 
78
+ - name: Lint
79
+ if: ${{ env.LOOP_SKIP == 'false' }}
80
+ run: npm run lint
81
+
78
82
  - name: Test
79
83
  if: ${{ env.LOOP_SKIP == 'false' }}
80
84
  run: npm test
@@ -85,8 +89,8 @@ jobs:
85
89
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
86
90
  run: |
87
91
  set -e
88
- PKG_NAME=$(node -p "require('./package.json').name")
89
- CURR_VER=$(node -p "require('./package.json').version")
92
+ PKG_NAME=$(node --input-type=module -e "import fs from 'node:fs'; const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf8')); console.log(pkg.name);")
93
+ CURR_VER=$(node --input-type=module -e "import fs from 'node:fs'; const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf8')); console.log(pkg.version);")
90
94
  echo "Current version: $CURR_VER"
91
95
  if npm view "$PKG_NAME@$CURR_VER" version >/dev/null 2>&1; then
92
96
  echo "Version exists on registry; bumping patch.";
@@ -119,7 +123,7 @@ jobs:
119
123
  run: |
120
124
  echo "npm registry: $(npm config get registry)"
121
125
  echo "npm whoami:"; npm whoami || echo "not authenticated"
122
- echo "package:" $(node -p "require('./package.json').name + '@' + require('./package.json').version")
126
+ echo "package:" $(node --input-type=module -e "import fs from 'node:fs'; const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf8')); console.log(pkg.name + '@' + pkg.version);")
123
127
  echo "masked ~/.npmrc:";
124
128
  if [ -f ~/.npmrc ]; then sed -E 's/(:_authToken=).*/\1***REDACTED***/' ~/.npmrc || true; else echo "no ~/.npmrc"; fi
125
129
 
@@ -157,7 +161,7 @@ jobs:
157
161
  shell: bash
158
162
  run: |
159
163
  set -e
160
- VER=$(node -p "require('./package.json').version")
164
+ VER=$(node --input-type=module -e "import fs from 'node:fs'; const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf8')); console.log(pkg.version);")
161
165
  echo "version=$VER" >> "$GITHUB_OUTPUT"
162
166
 
163
167
  - name: Ensure git user (for tagging)
package/CONTRIBUTING.md CHANGED
@@ -43,7 +43,7 @@ npm run docs
43
43
 
44
44
  - Keep changes small and focused. Prefer many small PRs over one large PR.
45
45
  - Follow TypeScript types and avoid `any` unless necessary; include type updates where relevant.
46
- - Add or update tests for behavioral changes. Tests live in `test/` and run with `npm test`.
46
+ - Add or update tests for behavioral changes. Most behavioral tests now live alongside their owners in `src/**/*.test.ts`, the shared global Jest setup lives in `testing/jest-setup.ts`, and longer-running suites live in `examples/` and `benchmarks/`; run them with `npm test`.
47
47
 
48
48
  ---
49
49
 
package/README.md CHANGED
@@ -35,9 +35,9 @@ If you want a library you can inspect, modify, and learn from while still runnin
35
35
  | Goal | Best place to start |
36
36
  | --- | --- |
37
37
  | Read the architecture from the source side | [src/README.md](./src/README.md) |
38
- | Study the strongest end-to-end example | [test/examples/flappy_bird/README.md](./test/examples/flappy_bird/README.md) |
39
- | Study curriculum learning and reward shaping | [test/examples/asciiMaze/README.md](./test/examples/asciiMaze/README.md) |
40
- | Browse runnable example source directly | [test/examples](./test/examples) |
38
+ | Study the strongest end-to-end example | [examples/flappy_bird/README.md](./examples/flappy_bird/README.md) |
39
+ | Study curriculum learning and reward shaping | [examples/asciiMaze/README.md](./examples/asciiMaze/README.md) |
40
+ | Browse runnable example source directly | [examples](./examples) |
41
41
  | Review contribution standards | [CONTRIBUTING.md](./CONTRIBUTING.md) and [STYLEGUIDE.md](./STYLEGUIDE.md) |
42
42
 
43
43
  ## Reading paths
@@ -47,13 +47,13 @@ If you want a library you can inspect, modify, and learn from while still runnin
47
47
  1. Read [docs/index.html](./docs/index.html).
48
48
  2. Read [src/README.md](./src/README.md).
49
49
  3. Open one example:
50
- - [test/examples/flappy_bird/README.md](./test/examples/flappy_bird/README.md)
51
- - [test/examples/asciiMaze/README.md](./test/examples/asciiMaze/README.md)
50
+ - [examples/flappy_bird/README.md](./examples/flappy_bird/README.md)
51
+ - [examples/asciiMaze/README.md](./examples/asciiMaze/README.md)
52
52
 
53
53
  ### If you want runnable source first
54
54
 
55
- - [test/examples/flappy_bird](./test/examples/flappy_bird) for the clearest full-system example.
56
- - [test/examples/asciiMaze](./test/examples/asciiMaze) for evolution orchestration, telemetry, and visualization.
55
+ - [examples/flappy_bird](./examples/flappy_bird) for the clearest full-system example.
56
+ - [examples/asciiMaze](./examples/asciiMaze) for evolution orchestration, telemetry, and visualization.
57
57
 
58
58
  ### If you want library internals
59
59
 
@@ -66,7 +66,7 @@ If you want a library you can inspect, modify, and learn from while still runnin
66
66
 
67
67
  ### Flappy Bird
68
68
 
69
- [test/examples/flappy_bird](./test/examples/flappy_bird) is the best single example if you want to understand how NeatapticTS feels in a real project.
69
+ [examples/flappy_bird](./examples/flappy_bird) is the best single example if you want to understand how NeatapticTS feels in a real project.
70
70
 
71
71
  It combines:
72
72
 
@@ -78,7 +78,7 @@ It combines:
78
78
 
79
79
  ### ASCII Maze
80
80
 
81
- [test/examples/asciiMaze](./test/examples/asciiMaze) is the best companion example if you want to study curriculum progression, compact observations, reward shaping, and browser plus terminal visualization.
81
+ [examples/asciiMaze](./examples/asciiMaze) is the best companion example if you want to study curriculum progression, compact observations, reward shaping, and browser plus terminal visualization.
82
82
 
83
83
  ## Install
84
84
 
@@ -117,7 +117,7 @@ For options, telemetry, and subsystem details, continue in [docs/index.html](./d
117
117
  | Path | Purpose |
118
118
  | --- | --- |
119
119
  | [src](./src) | Core library code and generated module docs |
120
- | [test/examples](./test/examples) | Educational examples and demos |
120
+ | [examples](./examples) | Educational examples and demos |
121
121
  | [docs](./docs) | Generated documentation site and example assets |
122
122
  | [scripts](./scripts) | Build and docs tooling |
123
123
  | [plans](./plans) | Architecture and roadmap material |
package/STYLEGUIDE.md CHANGED
@@ -429,7 +429,7 @@ All tests in the repository must follow these rules to keep examples, tutorials,
429
429
  - Aim for 100% coverage on logic you change or add. For legacy modules where 100% isn't feasible in one pass, document missing coverage areas and add tests incrementally.
430
430
 
431
431
  - Check existing tests and folder patterns before creating a new test file:
432
- - Use existing folders (e.g. `test/neat/`) and file naming conventions as a guide.
432
+ - Use existing folders (e.g. `src/neat/`, `benchmarks/`, or `examples/`) and file naming conventions as a guide.
433
433
  - Reuse and extend existing fixtures/helpers instead of adding new duplicate files.
434
434
 
435
435
  Example test layout:
@@ -508,6 +508,6 @@ Use this regex to find likely candidates to rename (review results manually):
508
508
 
509
509
  ---
510
510
 
511
- If you want, I can run a repo-wide scan and propose a patchset that renames short locals automatically (I will not apply bulk renames without your approval). If you'd like that, say which folders to prioritize (suggestion: `test/examples/asciiMaze/` then `src/`).
511
+ If you want, I can run a repo-wide scan and propose a patchset that renames short locals automatically (I will not apply bulk renames without your approval). If you'd like that, say which folders to prioritize (suggestion: `examples/asciiMaze/` then `src/`).
512
512
 
513
513
  Thank you — I'll keep the guide updated as we iterate on modernization and educational docs. <3
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Placeholder CLI entrypoint for the standalone ASCII Maze micro-benchmark.
3
+ *
4
+ * `npm run bench:asciiMaze` historically pointed at a missing legacy file.
5
+ * Packet 10 preserves the command as a documented compatibility seam until a
6
+ * dedicated non-Jest benchmark harness is implemented.
7
+ */
8
+ console.info(
9
+ '[bench:asciiMaze] Standalone ASCII Maze micro-benchmark harness is not implemented yet.',
10
+ );
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Placeholder for a future standalone ASCII Maze micro-benchmark harness.
3
+ *
4
+ * Packet 10 moves the benchmark lane to `benchmarks/**` but does not invent a
5
+ * new harness where none exists yet. This explicit skipped test keeps the
6
+ * benchmark suite structurally honest and prevents an empty-file failure.
7
+ */
8
+ describe('benchmark.asciiMaze.micro placeholder', () => {
9
+ it.skip('tracks the standalone ASCII Maze micro-benchmark seam', () => {
10
+ expect(true).toBe(true);
11
+ });
12
+ });
@@ -50,6 +50,15 @@ interface BrowserRunRecord {
50
50
  } | null;
51
51
  }
52
52
 
53
+ /**
54
+ * Captures both the benchmark records and the temporary files created while
55
+ * loading the generated bundles in a browser page.
56
+ */
57
+ interface HeadlessRunResult {
58
+ runs: BrowserRunRecord[];
59
+ cleanupPaths: string[];
60
+ }
61
+
53
62
  /**
54
63
  * Builds development & production browser bundles with esbuild.
55
64
  *
@@ -67,9 +76,8 @@ const buildBundles = async (): Promise<{
67
76
  devPath: string;
68
77
  prodPath: string;
69
78
  }> => {
70
- // eslint-disable-next-line @typescript-eslint/no-require-imports
71
- const esbuild = require('esbuild');
72
- const benchDir = path.resolve(__dirname, '../..', 'bench-browser');
79
+ const esbuild = await import('esbuild');
80
+ const benchDir = path.resolve(__dirname, '..', 'bench-browser');
73
81
  const entry = path.join(benchDir, 'bench-entry.ts');
74
82
  if (!fs.existsSync(entry)) throw new Error('bench-entry.ts missing');
75
83
  const ts = Date.now();
@@ -119,17 +127,17 @@ const buildBundles = async (): Promise<{
119
127
  const runHeadless = async (paths: {
120
128
  devPath: string;
121
129
  prodPath: string;
122
- }): Promise<BrowserRunRecord[]> => {
123
- let puppeteer;
130
+ }): Promise<HeadlessRunResult> => {
131
+ let puppeteerModule;
124
132
  try {
125
- // eslint-disable-next-line @typescript-eslint/no-require-imports
126
- puppeteer = require('puppeteer');
133
+ puppeteerModule = await import('puppeteer');
127
134
  } catch {
128
- return [];
135
+ return { runs: [], cleanupPaths: [] };
129
136
  }
130
- const benchDir = path.resolve(__dirname, '../..', 'bench-browser');
137
+ const puppeteer = puppeteerModule.default ?? puppeteerModule;
138
+ const benchDir = path.resolve(__dirname, '..', 'bench-browser');
131
139
  const templatePath = path.join(benchDir, 'index.html');
132
- if (!fs.existsSync(templatePath)) return [];
140
+ if (!fs.existsSync(templatePath)) return { runs: [], cleanupPaths: [] };
133
141
  const template = fs.readFileSync(templatePath, 'utf-8');
134
142
  const bundles = [
135
143
  { mode: 'dev', path: paths.devPath },
@@ -137,10 +145,11 @@ const runHeadless = async (paths: {
137
145
  ];
138
146
  // Launch headless browser; tolerate launch failures (return empty results).
139
147
  const browser = await puppeteer
140
- .launch({ headless: 'new', args: ['--no-sandbox'] })
148
+ .launch({ headless: true, args: ['--no-sandbox'] })
141
149
  .catch(() => null);
142
- if (!browser) return [];
150
+ if (!browser) return { runs: [], cleanupPaths: [] };
143
151
  const runs: BrowserRunRecord[] = [];
152
+ const cleanupPaths: string[] = [];
144
153
  for (const b of bundles) {
145
154
  if (!b.path || !fs.existsSync(b.path)) continue;
146
155
  const fileName = path.basename(b.path);
@@ -151,6 +160,7 @@ const runHeadless = async (paths: {
151
160
  try {
152
161
  if (!fs.existsSync(localCopy)) {
153
162
  fs.copyFileSync(b.path, localCopy);
163
+ cleanupPaths.push(localCopy);
154
164
  }
155
165
  } catch {
156
166
  // Ignore file copy errors; bundle may already exist
@@ -162,6 +172,7 @@ const runHeadless = async (paths: {
162
172
  .replace(/__BUNDLE__/g, fileName);
163
173
  const tmpPath = path.join(benchDir, `jest-${b.mode}.${fileName}.html`);
164
174
  fs.writeFileSync(tmpPath, html, 'utf-8');
175
+ cleanupPaths.push(tmpPath);
165
176
  const page = await browser.newPage();
166
177
  await page.goto(`file://${tmpPath}`);
167
178
  // Poll the page for the benchmark payload with a hard timeout.
@@ -208,7 +219,7 @@ const runHeadless = async (paths: {
208
219
  await page.close();
209
220
  }
210
221
  await browser.close();
211
- return runs;
222
+ return { runs, cleanupPaths };
212
223
  };
213
224
 
214
225
  /**
@@ -247,17 +258,20 @@ describe('browser headless benchmark integration', () => {
247
258
  let runs: BrowserRunRecord[] = [];
248
259
  let devPath = '';
249
260
  let prodPath = '';
261
+ let cleanupPaths: string[] = [];
250
262
 
251
263
  beforeAll(async () => {
252
264
  const built = await buildBundles();
253
265
  devPath = built.devPath;
254
266
  prodPath = built.prodPath;
255
- runs = await runHeadless(built);
267
+ const headlessRun = await runHeadless(built);
268
+ runs = headlessRun.runs;
269
+ cleanupPaths = headlessRun.cleanupPaths;
256
270
  mergeResults(runs);
257
271
  });
258
272
 
259
273
  afterAll(() => {
260
- [devPath, prodPath].forEach((f) => {
274
+ Array.from(new Set([devPath, prodPath, ...cleanupPaths])).forEach((f) => {
261
275
  try {
262
276
  fs.unlinkSync(f);
263
277
  } catch {
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import fs from 'fs';
7
7
  import path from 'path';
8
- import Node from '../../src/architecture/node';
8
+ import Node from '../src/architecture/node';
9
9
 
10
10
  /**
11
11
  * Runtime interface for benchmark results with field audit data.
@@ -10,12 +10,12 @@
10
10
  * - Persist an evolving `benchmark.results.json` artifact (≤10 history entries) with
11
11
  * provenance (git commit, dist bundle hash) and optional regression annotations.
12
12
  *
13
- * NOTE: This file intentionally lives under `test/` to leverage Jest's execution & coverage
13
+ * NOTE: This file intentionally lives under `benchmarks/` to leverage Jest's execution & coverage
14
14
  * while remaining framework-agnostic for future extraction into a standalone CLI harness.
15
15
  */
16
- import { memoryStats } from '../../src/utils/memory';
17
- import Network from '../../src/architecture/network';
18
- import NeatapticNode from '../../src/architecture/node';
16
+ import { memoryStats } from '../src/utils/memory';
17
+ import Network from '../src/architecture/network';
18
+ import NeatapticNode from '../src/architecture/node';
19
19
  import type { BenchAggregateGroup } from './benchmark.report.test';
20
20
  import { aggregateBenchMeasurements } from './benchmark.report.test';
21
21
  import * as fs from 'fs';
@@ -560,7 +560,7 @@ describe('benchmark.memory dist-only', () => {
560
560
  exists: false,
561
561
  };
562
562
  try {
563
- const distPath = path.resolve(__dirname, '../../dist/neataptic.js');
563
+ const distPath = path.resolve(__dirname, '../dist/neataptic.js');
564
564
  if (fs.existsSync(distPath)) {
565
565
  const stat = fs.statSync(distPath);
566
566
  // Hash only when file reasonably small (<25MB) to avoid CI slowdown (practical upper bound here is tiny)
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Placeholder for a future NEAT evaluation hotspot benchmark.
3
+ *
4
+ * The benchmark tree migration keeps this seam visible without pretending the
5
+ * hotspot harness already exists.
6
+ */
7
+ describe('benchmark.neat.evaluate.hotspot placeholder', () => {
8
+ it.skip('tracks the evaluation hotspot benchmark seam', () => {
9
+ expect(true).toBe(true);
10
+ });
11
+ });
@@ -1,5 +1,5 @@
1
- import Network from '../../src/architecture/network';
2
- import { config } from '../../src/config';
1
+ import Network from '../src/architecture/network';
2
+ import { config } from '../src/config';
3
3
 
4
4
  /**
5
5
  * Runtime interface for mutable config properties in tests.
@@ -1,10 +1,10 @@
1
- import { memoryStats } from '../../src/utils/memory';
1
+ import { memoryStats } from '../src/utils/memory';
2
2
  import {
3
3
  acquireNode,
4
4
  releaseNode,
5
5
  resetNodePool,
6
- } from '../../src/architecture/nodePool';
7
- import { config } from '../../src/config';
6
+ } from '../src/architecture/nodePool';
7
+ import { config } from '../src/config';
8
8
 
9
9
  /**
10
10
  * Runtime interface for mutable config properties in tests.
@@ -1,7 +1,7 @@
1
- import Network from '../../src/architecture/network';
2
- import { config } from '../../src/config';
3
- import { nodePoolStats, resetNodePool } from '../../src/architecture/nodePool';
4
- import type Node from '../../src/architecture/node';
1
+ import Network from '../src/architecture/network';
2
+ import { config } from '../src/config';
3
+ import { nodePoolStats, resetNodePool } from '../src/architecture/nodePool';
4
+ import type Node from '../src/architecture/node';
5
5
 
6
6
  /**
7
7
  * Runtime interface for mutable config properties in tests.
@@ -11,8 +11,8 @@ import {
11
11
  releaseNode,
12
12
  nodePoolStats,
13
13
  resetNodePool,
14
- } from '../../src/architecture/nodePool';
15
- import type Node from '../../src/architecture/node';
14
+ } from '../src/architecture/nodePool';
15
+ import type Node from '../src/architecture/node';
16
16
 
17
17
  describe('benchmark.nodePool.stress', () => {
18
18
  it('achieves recycledRatio >=0.5 with stable highWaterMark tail', () => {
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import * as fs from 'fs';
6
6
  import * as path from 'path';
7
- import { memoryStats } from '../../src/utils/memory';
7
+ import { memoryStats } from '../src/utils/memory';
8
8
 
9
9
  describe('benchmark.poolStats.persist', () => {
10
10
  it('injects meta.poolStats.nodePool snapshot (single expectation)', () => {
@@ -4,15 +4,15 @@
4
4
  * both compact tuple and verbose JSON serialization round-trips.
5
5
  * Single expectation style aggregating all checks.
6
6
  */
7
- import Network from '../../src/architecture/network';
8
- import type Node from '../../src/architecture/node';
9
- import type Connection from '../../src/architecture/connection';
7
+ import Network from '../src/architecture/network';
8
+ import type Node from '../src/architecture/node';
9
+ import type Connection from '../src/architecture/connection';
10
10
  import {
11
11
  serialize as serializeTuple,
12
12
  deserialize as deserializeTuple,
13
13
  toJSONImpl,
14
14
  fromJSONImpl,
15
- } from '../../src/architecture/network/network.utils';
15
+ } from '../src/architecture/network/network.utils';
16
16
 
17
17
  /**
18
18
  * Runtime interface for Network with internal properties and methods.
@@ -2,10 +2,10 @@
2
2
  * benchmark.slab.fragmentation.bounds.test.ts
3
3
  * Ensures fragmentation percentage stays within [0,100] and responds to growth+prune cycles.
4
4
  */
5
- import Network from '../../src/architecture/network';
6
- import { memoryStats } from '../../src/utils/memory';
7
- import { config } from '../../src/config';
8
- import type Node from '../../src/architecture/node';
5
+ import Network from '../src/architecture/network';
6
+ import { memoryStats } from '../src/utils/memory';
7
+ import { config } from '../src/config';
8
+ import type Node from '../src/architecture/node';
9
9
 
10
10
  /**
11
11
  * Runtime interface for Network with slab management methods.
@@ -4,10 +4,10 @@
4
4
  * Scenario: grow network to expand slab capacity, capture low fragmentation state, prune nodes to induce higher
5
5
  * fragmentation (capacity retained, used shrinks), then regrow slightly. Verifies fragmentationPct increases after prune.
6
6
  */
7
- import Network from '../../src/architecture/network';
8
- import { memoryStats } from '../../src/utils/memory';
9
- import { config } from '../../src/config';
10
- import type Node from '../../src/architecture/node';
7
+ import Network from '../src/architecture/network';
8
+ import { memoryStats } from '../src/utils/memory';
9
+ import { config } from '../src/config';
10
+ import type Node from '../src/architecture/node';
11
11
 
12
12
  /**
13
13
  * Runtime interface for Network with slab management methods.