@reicek/neataptic-ts 0.1.22 → 0.1.24

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 (899) hide show
  1. package/.github/agents/boundary-mapper.agent.md +27 -2
  2. package/.github/agents/docs-scout.agent.md +27 -1
  3. package/.github/agents/plan-scout.agent.md +21 -1
  4. package/.github/agents/solid-split.agent.md +37 -16
  5. package/.github/copilot-instructions.md +122 -99
  6. package/.github/skills/educational-docs/SKILL.md +604 -0
  7. package/.github/skills/educational-docs/assets/external-sources-and-media.md +118 -0
  8. package/.github/skills/educational-docs/assets/mermaid-diagram-playbook.md +763 -0
  9. package/.github/skills/educational-docs/assets/readme-tone-model.md +74 -0
  10. package/.github/skills/educational-docs/assets/source-mapping-checklist.md +60 -0
  11. package/.github/skills/educational-docs/assets/visual-style-guide.md +165 -0
  12. package/.github/skills/plan-alignment/SKILL.md +114 -0
  13. package/.github/skills/solid-split/SKILL.md +426 -0
  14. package/.github/skills/solid-split/assets/docs-checklist.md +40 -0
  15. package/.github/skills/solid-split/assets/split-plan-template.md +48 -0
  16. package/.github/skills/solid-split/assets/split-workflow-checklist.md +51 -0
  17. package/.github/skills/test-fix-workflow/SKILL.md +105 -0
  18. package/.github/skills/trace-analyzer-extension/SKILL.md +68 -0
  19. package/.github/skills/trace-analyzer-extension/assets/extension-checklist.md +24 -0
  20. package/.github/skills/trace-analyzer-extension/references/analyzer-extension-workflow.md +101 -0
  21. package/.github/skills/trace-audit-reporting/SKILL.md +105 -0
  22. package/.github/skills/trace-audit-reporting/assets/performance-report-template.md +123 -0
  23. package/.github/skills/trace-audit-reporting/references/trace-analysis-workflow.md +132 -0
  24. package/.github/skills/tracker-handoff/SKILL.md +153 -0
  25. package/README.md +84 -1610
  26. package/eslint.config.mjs +1 -1
  27. package/jest.config.mjs +1 -3
  28. package/nn.jpg +0 -0
  29. package/package.json +37 -31
  30. package/plans/Architecture_Primitives_Node_Group_Layer.md +2 -0
  31. package/plans/Browser_Build_and_CDN_Distribution.md +2 -0
  32. package/plans/Construct_From_Parts_Graph_Assembly.md +2 -0
  33. package/plans/ES2023 migration +2 -0
  34. package/plans/Evolution_Training_Interoperability_Contracts.md +2 -0
  35. package/plans/Flappy_Bird_Folder_Documentation_Pass.md +117 -0
  36. package/plans/HyperEvoDevoMorphoNEAT.md +2 -0
  37. package/plans/Interactive_Examples_and_Learning_Path.md +2 -0
  38. package/plans/Memory_Optimization.md +2 -0
  39. package/plans/Network_Visualization_Export_Schema.md +2 -0
  40. package/plans/ONNX_EXPORT_PLAN.md +2 -0
  41. package/plans/Population_Save_Resume_and_Checkpointing.md +2 -0
  42. package/plans/Preconfigured_Architectures_MLP_LSTM_GRU_NARX.md +2 -0
  43. package/plans/README.md +9 -0
  44. package/plans/Roadmap.md +92 -25
  45. package/plans/Stable_Activation_Ordering_and_Explicit_IO_Roles.md +2 -0
  46. package/plans/Standalone_Inference_Export.md +2 -0
  47. package/plans/Turnkey_Multithread_Evaluation_API.md +2 -0
  48. package/plans/Worker_Friendly_Network_Serialization_Fastpath.md +2 -0
  49. package/plans/architecture-solid-split.plans.md +675 -0
  50. package/plans/asciiMaze-typescript-repair.plans.md +42 -0
  51. package/plans/methods-docs.plans.md +173 -0
  52. package/plans/methods-solid-split.plans.md +78 -0
  53. package/plans/neat-docs.plans.md +68 -0
  54. package/plans/neat-test-surface-repair.plans.md +38 -0
  55. package/plans/neat.plans.md +4 -2
  56. package/plans/src-no-explicit-any-cleanup.plans.md +175 -0
  57. package/plans/utils-docs.plans.md +44 -0
  58. package/scripts/analyze-trace.ts +590 -0
  59. package/scripts/assets/theme.css +532 -55
  60. package/scripts/generate-docs.ts +1491 -114
  61. package/scripts/mermaid-cli.mjs +158 -0
  62. package/scripts/render-docs-html.sidebar.ts +513 -0
  63. package/scripts/render-docs-html.ts +391 -90
  64. package/src/README.md +2304 -917
  65. package/src/architecture/README.md +19 -2041
  66. package/src/architecture/activationArrayPool/README.md +35 -0
  67. package/src/architecture/activationArrayPool/activationArrayPool.ts +185 -0
  68. package/src/architecture/activationArrayPool.ts +6 -136
  69. package/src/architecture/architect/README.md +198 -0
  70. package/src/architecture/architect/architect.ts +550 -0
  71. package/src/architecture/architect.ts +5 -635
  72. package/src/architecture/connection/README.md +260 -0
  73. package/src/architecture/connection/connection.ts +455 -0
  74. package/src/architecture/connection.ts +4 -397
  75. package/src/architecture/docs.order.json +35 -0
  76. package/src/architecture/group/README.md +193 -0
  77. package/src/architecture/group/group.ts +506 -0
  78. package/src/architecture/group.ts +5 -417
  79. package/src/architecture/layer/README.md +1101 -458
  80. package/src/architecture/layer/layer.activation.utils.ts +1 -1
  81. package/src/architecture/layer/layer.connection.utils.ts +2 -2
  82. package/src/architecture/layer/layer.factory.core.utils.ts +2 -2
  83. package/src/architecture/layer/layer.factory.experimental.utils.ts +1 -1
  84. package/src/architecture/layer/layer.factory.normalization.utils.ts +1 -1
  85. package/src/architecture/layer/layer.factory.recurrent.utils.ts +3 -7
  86. package/src/architecture/layer/layer.guard.utils.ts +1 -1
  87. package/src/architecture/layer/layer.ts +488 -0
  88. package/src/architecture/layer/layer.utils.types.ts +2 -2
  89. package/src/architecture/layer.ts +4 -470
  90. package/src/architecture/network/README.md +2563 -1264
  91. package/src/architecture/network/activate/README.md +1001 -522
  92. package/src/architecture/network/activate/network.activate.contexts.utils.ts +1 -1
  93. package/src/architecture/network/activate/network.activate.core.utils.ts +4 -4
  94. package/src/architecture/network/activate/network.activate.notrace.utils.ts +1 -1
  95. package/src/architecture/network/activate/network.activate.raw.utils.ts +1 -1
  96. package/src/architecture/network/activate/network.activate.utils.ts +3 -3
  97. package/src/architecture/network/activate/network.activate.utils.types.ts +2 -2
  98. package/src/architecture/network/bootstrap/README.md +207 -0
  99. package/src/architecture/network/bootstrap/network.bootstrap.utils.ts +295 -0
  100. package/src/architecture/network/connect/README.md +146 -60
  101. package/src/architecture/network/connect/network.connect.create.utils.ts +1 -1
  102. package/src/architecture/network/connect/network.connect.remove.utils.ts +1 -1
  103. package/src/architecture/network/connect/network.connect.utils.ts +2 -2
  104. package/src/architecture/network/deterministic/README.md +236 -113
  105. package/src/architecture/network/deterministic/network.deterministic.lifecycle.utils.ts +1 -1
  106. package/src/architecture/network/deterministic/network.deterministic.setup.utils.ts +2 -2
  107. package/src/architecture/network/deterministic/network.deterministic.state.utils.ts +2 -2
  108. package/src/architecture/network/deterministic/network.deterministic.utils.ts +2 -2
  109. package/src/architecture/network/docs.order.json +8 -0
  110. package/src/architecture/network/evolve/README.md +550 -261
  111. package/src/architecture/network/evolve/network.evolve.finalize.utils.ts +1 -1
  112. package/src/architecture/network/evolve/network.evolve.fitness.utils.ts +1 -1
  113. package/src/architecture/network/evolve/network.evolve.loop.utils.ts +1 -1
  114. package/src/architecture/network/evolve/network.evolve.setup.utils.ts +1 -1
  115. package/src/architecture/network/evolve/network.evolve.utils.ts +1 -1
  116. package/src/architecture/network/gating/README.md +221 -111
  117. package/src/architecture/network/gating/network.gating.gate.utils.ts +1 -1
  118. package/src/architecture/network/gating/network.gating.remove.utils.ts +2 -2
  119. package/src/architecture/network/gating/network.gating.utils.ts +2 -2
  120. package/src/architecture/network/genetic/README.md +624 -287
  121. package/src/architecture/network/genetic/network.genetic.setup.utils.ts +2 -2
  122. package/src/architecture/network/genetic/network.genetic.utils.ts +1 -1
  123. package/src/architecture/network/mutate/README.md +1248 -653
  124. package/src/architecture/network/mutate/network.mutate.dispatch.utils.ts +1 -1
  125. package/src/architecture/network/mutate/network.mutate.handlers.utils.ts +15 -42
  126. package/src/architecture/network/mutate/network.mutate.public.utils.ts +60 -0
  127. package/src/architecture/network/mutate/network.mutate.utils.ts +1 -1
  128. package/src/architecture/network/mutate/network.mutate.utils.types.ts +0 -5
  129. package/src/architecture/network/network.ts +1153 -0
  130. package/src/architecture/network/network.types.ts +141 -8
  131. package/src/architecture/network/network.utils.ts +22 -15
  132. package/src/architecture/network/onnx/README.md +1039 -3171
  133. package/src/architecture/network/onnx/docs.order.json +13 -0
  134. package/src/architecture/network/onnx/export/README.md +1691 -0
  135. package/src/architecture/network/onnx/export/layers/README.md +1121 -0
  136. package/src/architecture/network/onnx/{network.onnx.export-conv.utils.ts → export/layers/network.onnx.export-conv.utils.ts} +35 -7
  137. package/src/architecture/network/onnx/{network.onnx.export-dense.utils.ts → export/layers/network.onnx.export-dense.utils.ts} +42 -9
  138. package/src/architecture/network/onnx/{network.onnx.export-layer-common.utils.ts → export/layers/network.onnx.export-layer-common.utils.ts} +22 -16
  139. package/src/architecture/network/onnx/{network.onnx.export-layer-graph.utils.ts → export/layers/network.onnx.export-layer-graph.utils.ts} +51 -4
  140. package/src/architecture/network/onnx/{network.onnx.export-recurrent.utils.ts → export/layers/network.onnx.export-recurrent.utils.ts} +27 -6
  141. package/src/architecture/network/onnx/{network.onnx.export-build.utils.ts → export/network.onnx.export-build.utils.ts} +5 -5
  142. package/src/architecture/network/onnx/{network.onnx.export-flow.utils.ts → export/network.onnx.export-flow.utils.ts} +3 -2
  143. package/src/architecture/network/onnx/{network.onnx.export-orchestrators.utils.ts → export/network.onnx.export-orchestrators.utils.ts} +9 -5
  144. package/src/architecture/network/onnx/{network.onnx.export-postprocess.utils.ts → export/network.onnx.export-postprocess.utils.ts} +11 -7
  145. package/src/architecture/network/onnx/{network.onnx.export-setup.utils.ts → export/network.onnx.export-setup.utils.ts} +9 -7
  146. package/src/architecture/network/onnx/export/network.onnx.export.types.ts +734 -0
  147. package/src/architecture/network/onnx/import/README.md +1515 -0
  148. package/src/architecture/network/onnx/import/docs.order.json +15 -0
  149. package/src/architecture/network/onnx/{network.onnx.import-activations.utils.ts → import/network.onnx.import-activations.utils.ts} +3 -3
  150. package/src/architecture/network/onnx/{network.onnx.import-flow.utils.ts → import/network.onnx.import-flow.utils.ts} +25 -5
  151. package/src/architecture/network/onnx/import/network.onnx.import-fused-recurrent.types.ts +101 -0
  152. package/src/architecture/network/onnx/{network.onnx.import-fused-recurrent.utils.ts → import/network.onnx.import-fused-recurrent.utils.ts} +10 -6
  153. package/src/architecture/network/onnx/import/network.onnx.import-orchestrators.types.ts +74 -0
  154. package/src/architecture/network/onnx/{network.onnx.import-orchestrators.utils.ts → import/network.onnx.import-orchestrators.utils.ts} +9 -7
  155. package/src/architecture/network/onnx/import/network.onnx.import-weights.types.ts +189 -0
  156. package/src/architecture/network/onnx/{network.onnx.import-weights.utils.ts → import/network.onnx.import-weights.utils.ts} +11 -7
  157. package/src/architecture/network/onnx/import/network.onnx.runtime-load.types.ts +52 -0
  158. package/src/architecture/network/onnx/{network.onnx.runtime-load.utils.ts → import/network.onnx.runtime-load.utils.ts} +2 -2
  159. package/src/architecture/network/onnx/network.onnx.layer-analysis.utils.ts +1 -1
  160. package/src/architecture/network/onnx/network.onnx.ts +20 -5
  161. package/src/architecture/network/onnx/network.onnx.utils.ts +32 -11
  162. package/src/architecture/network/onnx/network.onnx.utils.types.ts +172 -1195
  163. package/src/architecture/network/onnx/schema/README.md +120 -0
  164. package/src/architecture/network/onnx/schema/network.onnx.schema.types.ts +202 -0
  165. package/src/architecture/network/prune/README.md +453 -210
  166. package/src/architecture/network/prune/network.prune.evolutionary.utils.ts +1 -1
  167. package/src/architecture/network/prune/network.prune.regrowth.utils.ts +1 -1
  168. package/src/architecture/network/prune/network.prune.schedule.utils.ts +1 -1
  169. package/src/architecture/network/prune/network.prune.sparsity.utils.ts +1 -1
  170. package/src/architecture/network/prune/network.prune.utils.ts +16 -19
  171. package/src/architecture/network/remove/README.md +267 -132
  172. package/src/architecture/network/remove/network.remove.finalize.utils.ts +1 -1
  173. package/src/architecture/network/remove/network.remove.reconnect.utils.ts +1 -1
  174. package/src/architecture/network/remove/network.remove.snapshot.utils.ts +1 -1
  175. package/src/architecture/network/remove/network.remove.utils.ts +2 -2
  176. package/src/architecture/network/remove/network.remove.utils.types.ts +1 -1
  177. package/src/architecture/network/remove/network.remove.validation.utils.ts +1 -1
  178. package/src/architecture/network/runtime/README.md +332 -0
  179. package/src/architecture/network/runtime/network.runtime.controls.utils.ts +301 -0
  180. package/src/architecture/network/runtime/network.runtime.diagnostics.utils.ts +150 -0
  181. package/src/architecture/network/serialize/README.md +903 -359
  182. package/src/architecture/network/serialize/network.serialize.activation.utils.ts +1 -1
  183. package/src/architecture/network/serialize/network.serialize.json.utils.ts +1 -0
  184. package/src/architecture/network/serialize/network.serialize.public.utils.ts +28 -0
  185. package/src/architecture/network/serialize/network.serialize.runtime.utils.ts +1 -1
  186. package/src/architecture/network/serialize/network.serialize.utils.ts +7 -2
  187. package/src/architecture/network/serialize/network.serialize.utils.types.ts +1 -1
  188. package/src/architecture/network/slab/README.md +907 -492
  189. package/src/architecture/network/slab/network.slab.activate.utils.ts +1 -1
  190. package/src/architecture/network/slab/network.slab.adjacency.helpers.utils.ts +1 -1
  191. package/src/architecture/network/slab/network.slab.fast-path.helpers.utils.ts +2 -2
  192. package/src/architecture/network/slab/network.slab.rebuild.helpers.utils.ts +2 -2
  193. package/src/architecture/network/slab/network.slab.shared.helpers.utils.ts +1 -1
  194. package/src/architecture/network/slab/network.slab.utils.ts +3 -3
  195. package/src/architecture/network/slab/network.slab.utils.types.ts +1 -1
  196. package/src/architecture/network/slab/network.slab.view.utils.ts +1 -1
  197. package/src/architecture/network/standalone/README.md +401 -161
  198. package/src/architecture/network/standalone/network.standalone.utils.setup.ts +1 -1
  199. package/src/architecture/network/standalone/network.standalone.utils.ts +1 -1
  200. package/src/architecture/network/stats/README.md +152 -64
  201. package/src/architecture/network/stats/network.stats.test.utils.ts +1 -1
  202. package/src/architecture/network/stats/network.stats.utils.ts +5 -4
  203. package/src/architecture/network/topology/README.md +773 -280
  204. package/src/architecture/network/topology/network.topology.architecture.utils.ts +55 -1
  205. package/src/architecture/network/topology/network.topology.contract.utils.ts +78 -0
  206. package/src/architecture/network/topology/network.topology.factory.utils.ts +5 -1
  207. package/src/architecture/network/topology/network.topology.utils.ts +19 -3
  208. package/src/architecture/network/topology/network.topology.utils.types.ts +1 -1
  209. package/src/architecture/network/training/README.md +385 -158
  210. package/src/architecture/network/training/network.training.backprop.utils.ts +1 -1
  211. package/src/architecture/network/training/network.training.finalize.utils.ts +1 -1
  212. package/src/architecture/network/training/network.training.gradient-clip.utils.ts +1 -1
  213. package/src/architecture/network/training/network.training.loop.utils.ts +1 -1
  214. package/src/architecture/network/training/network.training.utils.ts +1 -1
  215. package/src/architecture/network/training/network.training.utils.types.ts +1 -1
  216. package/src/architecture/network.ts +18 -1640
  217. package/src/architecture/node/README.md +464 -0
  218. package/src/architecture/node/node.ts +1338 -0
  219. package/src/architecture/node.ts +4 -1317
  220. package/src/architecture/nodePool/README.md +78 -0
  221. package/src/architecture/nodePool/nodePool.ts +169 -0
  222. package/src/architecture/nodePool.ts +12 -150
  223. package/src/architecture/onnx.ts +7 -0
  224. package/src/methods/README.md +533 -982
  225. package/src/methods/activation/README.md +639 -0
  226. package/src/methods/{activation.ts → activation/activation.ts} +104 -11
  227. package/src/methods/{activation.utils.ts → activation/activation.utils.ts} +147 -1
  228. package/src/methods/activation/docs.order.json +7 -0
  229. package/src/methods/connection/README.md +97 -0
  230. package/src/methods/connection/connection.ts +100 -0
  231. package/src/methods/cost/README.md +509 -0
  232. package/src/methods/{cost.ts → cost/cost.ts} +56 -0
  233. package/src/methods/{cost.utils.ts → cost/cost.utils.ts} +1 -1
  234. package/src/methods/cost/docs.order.json +7 -0
  235. package/src/methods/crossover/README.md +52 -0
  236. package/src/methods/{crossover.ts → crossover/crossover.ts} +56 -0
  237. package/src/methods/docs.order.json +16 -0
  238. package/src/methods/gating/README.md +52 -0
  239. package/src/methods/gating/gating.ts +106 -0
  240. package/src/methods/methods.ts +58 -8
  241. package/src/methods/mutation/README.md +123 -0
  242. package/src/methods/{mutation.ts → mutation/mutation.ts} +87 -7
  243. package/src/methods/rate/README.md +490 -0
  244. package/src/methods/rate/docs.order.json +7 -0
  245. package/src/methods/{rate.ts → rate/rate.ts} +85 -4
  246. package/src/methods/{rate.utils.ts → rate/rate.utils.ts} +3 -3
  247. package/src/methods/selection/README.md +60 -0
  248. package/src/methods/{selection.ts → selection/selection.ts} +64 -0
  249. package/src/multithreading/README.md +281 -95
  250. package/src/multithreading/multi.ts +2 -2
  251. package/src/multithreading/workers/README.md +8 -6
  252. package/src/multithreading/workers/browser/README.md +21 -11
  253. package/src/multithreading/workers/node/README.md +52 -20
  254. package/src/neat/README.md +397 -10415
  255. package/src/neat/adaptive/README.md +281 -0
  256. package/src/neat/adaptive/acceptance/README.md +361 -0
  257. package/src/neat/adaptive/acceptance/adaptive.acceptance.ts +46 -0
  258. package/src/neat/{neat.adaptive.minimal-criterion.utils.ts → adaptive/acceptance/adaptive.minimal-criterion.utils.ts} +59 -5
  259. package/src/neat/{neat.adaptive.ts → adaptive/adaptive.ts} +103 -54
  260. package/src/neat/adaptive/complexity/README.md +519 -0
  261. package/src/neat/adaptive/complexity/adaptive.complexity.ts +42 -0
  262. package/src/neat/{neat.adaptive.complexity.utils.ts → adaptive/complexity/adaptive.complexity.utils.ts} +72 -10
  263. package/src/neat/{neat.adaptive.phases.utils.ts → adaptive/complexity/adaptive.phases.utils.ts} +27 -4
  264. package/src/neat/adaptive/core/README.md +587 -0
  265. package/src/neat/adaptive/core/adaptive.core.constants.ts +160 -0
  266. package/src/neat/adaptive/core/adaptive.core.ts +33 -0
  267. package/src/neat/{neat.adaptive.shared.ts → adaptive/core/adaptive.core.types.ts} +114 -134
  268. package/src/neat/adaptive/lineage/README.md +369 -0
  269. package/src/neat/{neat.adaptive.ancestor-uniqueness.utils.ts → adaptive/lineage/adaptive.ancestor-uniqueness.utils.ts} +59 -6
  270. package/src/neat/adaptive/lineage/adaptive.lineage.ts +49 -0
  271. package/src/neat/adaptive/mutation/README.md +754 -0
  272. package/src/neat/adaptive/mutation/adaptive.mutation.ts +51 -0
  273. package/src/neat/{neat.adaptive.mutation.utils.ts → adaptive/mutation/adaptive.mutation.utils.ts} +98 -4
  274. package/src/neat/{neat.adaptive.operator.utils.ts → adaptive/mutation/adaptive.operator.utils.ts} +30 -3
  275. package/src/neat/cache/README.md +156 -0
  276. package/src/neat/cache/cache.ts +79 -0
  277. package/src/neat/cache/core/README.md +151 -0
  278. package/src/neat/cache/core/cache.constants.ts +70 -0
  279. package/src/neat/cache/core/cache.core.ts +89 -0
  280. package/src/neat/compat/README.md +186 -0
  281. package/src/neat/compat/compat.ts +222 -0
  282. package/src/neat/compat/core/README.md +257 -0
  283. package/src/neat/{neat.compat.utils.ts → compat/core/compat.core.ts} +92 -102
  284. package/src/neat/compat/core/compat.types.ts +122 -0
  285. package/src/neat/diversity/README.md +160 -0
  286. package/src/neat/diversity/core/README.md +242 -0
  287. package/src/neat/diversity/core/diversity.core.ts +278 -0
  288. package/src/neat/diversity/core/diversity.types.ts +114 -0
  289. package/src/neat/diversity/diversity.ts +170 -0
  290. package/src/neat/evaluate/README.md +268 -0
  291. package/src/neat/evaluate/auto-distance/README.md +242 -0
  292. package/src/neat/evaluate/auto-distance/evaluate.auto-distance.ts +328 -0
  293. package/src/neat/evaluate/entropy-compat/README.md +128 -0
  294. package/src/neat/evaluate/entropy-compat/evaluate.entropy-compat.ts +163 -0
  295. package/src/neat/evaluate/entropy-sharing/README.md +147 -0
  296. package/src/neat/evaluate/entropy-sharing/evaluate.entropy-sharing.ts +179 -0
  297. package/src/neat/evaluate/evaluate.ts +158 -0
  298. package/src/neat/evaluate/fitness/README.md +90 -0
  299. package/src/neat/evaluate/fitness/evaluate.fitness.ts +104 -0
  300. package/src/neat/evaluate/novelty/README.md +281 -0
  301. package/src/neat/evaluate/novelty/evaluate.novelty.ts +348 -0
  302. package/src/neat/evaluate/objectives/README.md +112 -0
  303. package/src/neat/evaluate/objectives/evaluate.objectives.ts +121 -0
  304. package/src/neat/evaluate/shared/README.md +248 -0
  305. package/src/neat/evaluate/shared/evaluate.constants.ts +191 -0
  306. package/src/neat/{neat.evaluate.utils.types.ts → evaluate/shared/evaluate.types.ts} +112 -14
  307. package/src/neat/evaluate/speciation/README.md +138 -0
  308. package/src/neat/evaluate/speciation/evaluate.speciation.ts +144 -0
  309. package/src/neat/evolve/README.md +360 -0
  310. package/src/neat/evolve/adaptive/README.md +219 -0
  311. package/src/neat/evolve/adaptive/evolve.adaptive.utils.ts +324 -0
  312. package/src/neat/{neat.evolve.ts → evolve/evolve.ts} +204 -80
  313. package/src/neat/{neat.evolve.types.ts → evolve/evolve.types.ts} +92 -5
  314. package/src/neat/evolve/objectives/README.md +204 -0
  315. package/src/neat/{neat.evolve.objectives.utils.ts → evolve/objectives/evolve.objectives.utils.ts} +129 -24
  316. package/src/neat/evolve/offspring/README.md +145 -0
  317. package/src/neat/evolve/offspring/evolve.offspring.constants.ts +44 -0
  318. package/src/neat/evolve/offspring/evolve.offspring.utils.ts +163 -0
  319. package/src/neat/evolve/population/README.md +477 -0
  320. package/src/neat/{neat.evolve.population.utils.ts → evolve/population/evolve.population.utils.ts} +286 -44
  321. package/src/neat/evolve/runtime/README.md +188 -0
  322. package/src/neat/evolve/runtime/evolve.runtime.utils.ts +215 -0
  323. package/src/neat/evolve/speciation/README.md +227 -0
  324. package/src/neat/evolve/speciation/evolve.speciation.utils.ts +359 -0
  325. package/src/neat/evolve/telemetry/README.md +133 -0
  326. package/src/neat/evolve/telemetry/evolve.telemetry.utils.ts +143 -0
  327. package/src/neat/evolve/warnings/README.md +43 -0
  328. package/src/neat/evolve/warnings/evolve.warnings.utils.ts +48 -0
  329. package/src/neat/export/README.md +289 -0
  330. package/src/neat/{neat.export.ts → export/neat.export.ts} +127 -45
  331. package/src/neat/harness/README.md +136 -0
  332. package/src/neat/harness/neat.harness.types.ts +144 -0
  333. package/src/neat/helpers/README.md +232 -0
  334. package/src/neat/helpers/neat.helpers.ts +408 -0
  335. package/src/neat/init/README.md +140 -0
  336. package/src/neat/init/neat.init.ts +375 -0
  337. package/src/neat/lineage/README.md +141 -0
  338. package/src/neat/lineage/core/README.md +292 -0
  339. package/src/neat/lineage/core/lineage.core.ts +372 -0
  340. package/src/neat/lineage/core/lineage.types.ts +105 -0
  341. package/src/neat/lineage/lineage.ts +163 -0
  342. package/src/neat/maintenance/README.md +78 -0
  343. package/src/neat/maintenance/facade/README.md +143 -0
  344. package/src/neat/maintenance/facade/maintenance.facade.ts +168 -0
  345. package/src/neat/maintenance/maintenance.ts +80 -0
  346. package/src/neat/multiobjective/README.md +90 -0
  347. package/src/neat/multiobjective/archive/README.md +81 -0
  348. package/src/neat/multiobjective/archive/multiobjective.archive.ts +100 -0
  349. package/src/neat/multiobjective/category/README.md +208 -0
  350. package/src/neat/{neat.multiobjective.category.utils.ts → multiobjective/category/multiobjective.category.ts} +109 -18
  351. package/src/neat/multiobjective/crowding/README.md +516 -0
  352. package/src/neat/{neat.multiobjective.crowding.utils.ts → multiobjective/crowding/multiobjective.crowding.ts} +105 -3
  353. package/src/neat/multiobjective/dominance/README.md +426 -0
  354. package/src/neat/{neat.multiobjective.dominance.utils.ts → multiobjective/dominance/multiobjective.dominance.ts} +110 -4
  355. package/src/neat/multiobjective/fronts/README.md +222 -0
  356. package/src/neat/{neat.multiobjective.fronts.utils.ts → multiobjective/fronts/multiobjective.fronts.ts} +82 -4
  357. package/src/neat/multiobjective/metrics/README.md +140 -0
  358. package/src/neat/multiobjective/metrics/multiobjective.metrics.ts +153 -0
  359. package/src/neat/multiobjective/multiobjective.ts +140 -0
  360. package/src/neat/multiobjective/objectives/README.md +113 -0
  361. package/src/neat/{neat.multiobjective.objectives.utils.ts → multiobjective/objectives/multiobjective.objectives.ts} +42 -2
  362. package/src/neat/multiobjective/shared/README.md +85 -0
  363. package/src/neat/multiobjective/shared/multiobjective.types.ts +155 -0
  364. package/src/neat/mutation/README.md +282 -0
  365. package/src/neat/mutation/add-conn/README.md +271 -0
  366. package/src/neat/{neat.mutation.add-conn.utils.ts → mutation/add-conn/mutation.add-conn.ts} +87 -6
  367. package/src/neat/mutation/add-node/README.md +293 -0
  368. package/src/neat/{neat.mutation.add-node.utils.ts → mutation/add-node/mutation.add-node.ts} +97 -8
  369. package/src/neat/mutation/flow/README.md +379 -0
  370. package/src/neat/{neat.mutation.flow.utils.ts → mutation/flow/mutation.flow.ts} +147 -6
  371. package/src/neat/mutation/mutation.ts +482 -0
  372. package/src/neat/mutation/repair/README.md +497 -0
  373. package/src/neat/{neat.mutation.dead-ends.utils.ts → mutation/repair/mutation.dead-ends.ts} +75 -9
  374. package/src/neat/{neat.mutation.min-hidden.utils.ts → mutation/repair/mutation.min-hidden.ts} +73 -7
  375. package/src/neat/mutation/select/README.md +285 -0
  376. package/src/neat/{neat.mutation.select.utils.ts → mutation/select/mutation.select.ts} +102 -4
  377. package/src/neat/mutation/shared/README.md +109 -0
  378. package/src/neat/{neat.mutation.types.ts → mutation/shared/mutation.types.ts} +77 -4
  379. package/src/neat/neat.constants.ts +116 -7
  380. package/src/neat/neat.defaults.constants.ts +183 -0
  381. package/src/neat/neat.diversity.ts +5 -53
  382. package/src/neat/neat.lineage.ts +2 -134
  383. package/src/neat/neat.types.ts +59 -791
  384. package/src/neat/objectives/README.md +142 -0
  385. package/src/neat/objectives/core/README.md +288 -0
  386. package/src/neat/objectives/core/objectives.core.ts +273 -0
  387. package/src/neat/objectives/core/objectives.types.ts +63 -0
  388. package/src/neat/objectives/objectives.ts +175 -0
  389. package/src/neat/pruning/README.md +120 -0
  390. package/src/neat/pruning/core/README.md +420 -0
  391. package/src/neat/pruning/core/pruning.core.ts +410 -0
  392. package/src/neat/pruning/core/pruning.types.ts +104 -0
  393. package/src/neat/pruning/facade/README.md +121 -0
  394. package/src/neat/pruning/facade/pruning.facade.ts +124 -0
  395. package/src/neat/pruning/pruning.ts +192 -0
  396. package/src/neat/rng/README.md +323 -0
  397. package/src/neat/rng/core/README.md +503 -0
  398. package/src/neat/rng/core/rng.constants.ts +44 -0
  399. package/src/neat/rng/core/rng.core.ts +27 -0
  400. package/src/neat/rng/core/rng.types.ts +87 -0
  401. package/src/neat/rng/core/rng.utils.ts +238 -0
  402. package/src/neat/rng/facade/README.md +162 -0
  403. package/src/neat/rng/facade/rng.facade.ts +150 -0
  404. package/src/neat/rng/rng.ts +88 -0
  405. package/src/neat/selection/README.md +307 -0
  406. package/src/neat/selection/core/README.md +546 -0
  407. package/src/neat/selection/core/selection.core.ts +580 -0
  408. package/src/neat/selection/core/selection.types.ts +120 -0
  409. package/src/neat/selection/facade/README.md +180 -0
  410. package/src/neat/selection/facade/selection.facade.ts +177 -0
  411. package/src/neat/selection/selection.ts +255 -0
  412. package/src/neat/shared/README.md +361 -0
  413. package/src/neat/shared/neat.shared.types.ts +1120 -0
  414. package/src/neat/speciation/README.md +171 -0
  415. package/src/neat/speciation/assignment/README.md +274 -0
  416. package/src/neat/speciation/assignment/docs.order.json +12 -0
  417. package/src/neat/speciation/assignment/speciation.assignment.utils.ts +325 -0
  418. package/src/neat/speciation/history/README.md +254 -0
  419. package/src/neat/speciation/history/docs.order.json +12 -0
  420. package/src/neat/speciation/history/speciation.history.utils.ts +449 -0
  421. package/src/neat/speciation/shared/README.md +313 -0
  422. package/src/neat/speciation/shared/docs.order.json +31 -0
  423. package/src/neat/speciation/shared/speciation.shared.ts +393 -0
  424. package/src/neat/speciation/sharing/README.md +131 -0
  425. package/src/neat/speciation/sharing/speciation.sharing.utils.ts +287 -0
  426. package/src/neat/speciation/speciation.ts +243 -0
  427. package/src/neat/speciation/threshold/README.md +189 -0
  428. package/src/neat/speciation/threshold/speciation.threshold.utils.ts +310 -0
  429. package/src/neat/species/README.md +113 -0
  430. package/src/neat/species/core/README.md +92 -0
  431. package/src/neat/species/core/augmentation/README.md +60 -0
  432. package/src/neat/species/core/augmentation/species.core.augmentation.ts +109 -0
  433. package/src/neat/species/core/shared/README.md +92 -0
  434. package/src/neat/species/core/shared/species.core.shared.ts +154 -0
  435. package/src/neat/species/core/species.core.ts +92 -0
  436. package/src/neat/species/history/README.md +102 -0
  437. package/src/neat/species/history/context/README.md +86 -0
  438. package/src/neat/species/history/context/species.history.context.ts +112 -0
  439. package/src/neat/species/history/read/README.md +74 -0
  440. package/src/neat/species/history/read/species.history.read.ts +86 -0
  441. package/src/neat/species/history/species.history.ts +105 -0
  442. package/src/neat/species/species.ts +114 -0
  443. package/src/neat/species/stats/README.md +91 -0
  444. package/src/neat/species/stats/species.stats.ts +109 -0
  445. package/src/neat/telemetry/README.md +44 -0
  446. package/src/neat/telemetry/accessors/README.md +183 -0
  447. package/src/neat/telemetry/accessors/telemetry.accessors.ts +168 -0
  448. package/src/neat/telemetry/exports/README.md +600 -0
  449. package/src/neat/telemetry/exports/telemetry.exports.ts +549 -0
  450. package/src/neat/{neat.telemetry.exports.utils.ts → telemetry/exports/telemetry.exports.utils.ts} +76 -2
  451. package/src/neat/telemetry/facade/README.md +582 -0
  452. package/src/neat/telemetry/facade/archive/README.md +173 -0
  453. package/src/neat/telemetry/facade/archive/telemetry.facade.archive.ts +175 -0
  454. package/src/neat/telemetry/facade/buffer/README.md +141 -0
  455. package/src/neat/telemetry/facade/buffer/telemetry.facade.buffer.ts +132 -0
  456. package/src/neat/telemetry/facade/lineage/README.md +87 -0
  457. package/src/neat/telemetry/facade/lineage/telemetry.facade.lineage.ts +93 -0
  458. package/src/neat/telemetry/facade/novelty/README.md +79 -0
  459. package/src/neat/telemetry/facade/novelty/telemetry.facade.novelty.ts +70 -0
  460. package/src/neat/telemetry/facade/objectives/README.md +161 -0
  461. package/src/neat/telemetry/facade/objectives/telemetry.facade.objectives.ts +163 -0
  462. package/src/neat/telemetry/facade/operator-stats/README.md +62 -0
  463. package/src/neat/telemetry/facade/operator-stats/telemetry.facade.operator-stats.ts +63 -0
  464. package/src/neat/telemetry/facade/runtime/README.md +96 -0
  465. package/src/neat/telemetry/facade/runtime/telemetry.facade.runtime.ts +104 -0
  466. package/src/neat/telemetry/facade/species/README.md +165 -0
  467. package/src/neat/telemetry/facade/species/telemetry.facade.species.ts +171 -0
  468. package/src/neat/telemetry/facade/telemetry.facade.ts +555 -0
  469. package/src/neat/telemetry/metrics/README.md +1717 -0
  470. package/src/neat/{neat.telemetry.complexity.utils.ts → telemetry/metrics/telemetry.metrics.complexity.ts} +5 -2
  471. package/src/neat/{neat.telemetry.diversity.utils.ts → telemetry/metrics/telemetry.metrics.diversity.ts} +2 -2
  472. package/src/neat/{neat.telemetry.entropy.utils.ts → telemetry/metrics/telemetry.metrics.entropy.ts} +1 -1
  473. package/src/neat/{neat.telemetry.lineage.utils.ts → telemetry/metrics/telemetry.metrics.lineage.ts} +4 -4
  474. package/src/neat/{neat.telemetry.objectives.utils.ts → telemetry/metrics/telemetry.metrics.objectives.ts} +3 -3
  475. package/src/neat/{neat.telemetry.operator.utils.ts → telemetry/metrics/telemetry.metrics.operator.ts} +4 -1
  476. package/src/neat/{neat.telemetry.performance.utils.ts → telemetry/metrics/telemetry.metrics.performance.ts} +2 -2
  477. package/src/neat/{neat.telemetry.rng.utils.ts → telemetry/metrics/telemetry.metrics.rng.ts} +2 -2
  478. package/src/neat/{neat.telemetry.selection.utils.ts → telemetry/metrics/telemetry.metrics.selection.ts} +3 -3
  479. package/src/neat/telemetry/metrics/telemetry.metrics.ts +60 -0
  480. package/src/neat/telemetry/recorder/README.md +220 -0
  481. package/src/neat/{neat.telemetry.ts → telemetry/recorder/telemetry.recorder.ts} +91 -30
  482. package/src/neat/telemetry/runtime/README.md +106 -0
  483. package/src/neat/telemetry/runtime/telemetry.runtime.ts +119 -0
  484. package/src/neat/telemetry/telemetry.ts +46 -0
  485. package/src/neat/telemetry/types/README.md +85 -0
  486. package/src/neat/telemetry/types/telemetry.types.ts +121 -0
  487. package/src/neat/topology-intent/README.md +225 -0
  488. package/src/neat/topology-intent/neat.topology-intent.ts +305 -0
  489. package/src/neat.ts +710 -405
  490. package/src/utils/README.md +367 -114
  491. package/src/utils/memory.ts +74 -10
  492. package/src/utils/memory.utils.ts +77 -4
  493. package/test/architecture/node.test.ts +2 -2
  494. package/test/examples/README.md +168 -0
  495. package/test/examples/asciiMaze/README.md +263 -253
  496. package/test/examples/asciiMaze/asciiMaze.e2e.test.ts +4 -3
  497. package/test/examples/asciiMaze/browser-entry/README.md +316 -57
  498. package/test/examples/asciiMaze/browser-entry/browser-entry.globals.services.ts +7 -4
  499. package/test/examples/asciiMaze/browser-entry/browser-entry.host.services.ts +1 -1
  500. package/test/examples/asciiMaze/browser-entry/browser-entry.ts +16 -0
  501. package/test/examples/asciiMaze/browser-entry.ts +5 -0
  502. package/test/examples/asciiMaze/dashboardManager/README.md +182 -101
  503. package/test/examples/asciiMaze/dashboardManager/archive/README.md +25 -1
  504. package/test/examples/asciiMaze/dashboardManager/archive/dashboardManager.archive.services.ts +17 -0
  505. package/test/examples/asciiMaze/dashboardManager/dashboardManager.types.ts +1 -1
  506. package/test/examples/asciiMaze/dashboardManager/live/README.md +28 -1
  507. package/test/examples/asciiMaze/dashboardManager/live/dashboardManager.live.services.ts +22 -0
  508. package/test/examples/asciiMaze/dashboardManager/telemetry/README.md +60 -21
  509. package/test/examples/asciiMaze/dashboardManager/telemetry/dashboardManager.telemetry.services.ts +20 -0
  510. package/test/examples/asciiMaze/evolutionEngine/README.md +3471 -567
  511. package/test/examples/asciiMaze/evolutionEngine/engineState.types.ts +10 -3
  512. package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.constants.ts +95 -0
  513. package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.services.ts +93 -0
  514. package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.types.ts +74 -5
  515. package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.utils.ts +123 -0
  516. package/test/examples/asciiMaze/evolutionEngine/evolutionLoop.ts +58 -86
  517. package/test/examples/asciiMaze/evolutionEngine/neatConfiguration.ts +29 -17
  518. package/test/examples/asciiMaze/evolutionEngine/networkInspection.ts +19 -38
  519. package/test/examples/asciiMaze/evolutionEngine/optionsAndSetup.ts +96 -36
  520. package/test/examples/asciiMaze/evolutionEngine/populationDynamics.ts +194 -180
  521. package/test/examples/asciiMaze/evolutionEngine/populationPruning.ts +47 -54
  522. package/test/examples/asciiMaze/evolutionEngine/sampling.ts +18 -3
  523. package/test/examples/asciiMaze/evolutionEngine/telemetryMetrics.ts +24 -17
  524. package/test/examples/asciiMaze/evolutionEngine/trainingWarmStart.ts +83 -52
  525. package/test/examples/asciiMaze/evolutionEngine.ts +119 -231
  526. package/test/examples/asciiMaze/index.ts +30 -7
  527. package/test/examples/asciiMaze/mazeMovement/README.md +221 -108
  528. package/test/examples/asciiMaze/mazeMovement/finalization/README.md +44 -17
  529. package/test/examples/asciiMaze/mazeMovement/finalization/mazeMovement.finalization.ts +13 -1
  530. package/test/examples/asciiMaze/mazeMovement/policy/README.md +98 -46
  531. package/test/examples/asciiMaze/mazeMovement/policy/mazeMovement.policy.ts +13 -2
  532. package/test/examples/asciiMaze/mazeMovement/runtime/README.md +93 -43
  533. package/test/examples/asciiMaze/mazeMovement/runtime/mazeMovement.runtime.ts +13 -2
  534. package/test/examples/asciiMaze/mazeMovement/shaping/README.md +115 -44
  535. package/test/examples/asciiMaze/mazeMovement/shaping/mazeMovement.shaping.ts +13 -2
  536. package/test/examples/asciiMaze/mazeVisualization.ts +2 -2
  537. package/test/examples/flappy_bird/README.md +265 -95
  538. package/test/examples/flappy_bird/browser-entry/README.md +1035 -385
  539. package/test/examples/flappy_bird/browser-entry/browser-entry.network-view.utils.ts +6 -0
  540. package/test/examples/flappy_bird/browser-entry/browser-entry.observation.utils.ts +0 -1
  541. package/test/examples/flappy_bird/browser-entry/browser-entry.playback.utils.ts +8 -0
  542. package/test/examples/flappy_bird/browser-entry/browser-entry.render.types.ts +26 -3
  543. package/test/examples/flappy_bird/browser-entry/browser-entry.runtime.types.ts +16 -1
  544. package/test/examples/flappy_bird/browser-entry/browser-entry.simulation.types.ts +39 -5
  545. package/test/examples/flappy_bird/browser-entry/browser-entry.stats.types.ts +32 -4
  546. package/test/examples/flappy_bird/browser-entry/browser-entry.ts +35 -0
  547. package/test/examples/flappy_bird/browser-entry/browser-entry.types.ts +28 -0
  548. package/test/examples/flappy_bird/browser-entry/browser-entry.visualization.types.ts +50 -7
  549. package/test/examples/flappy_bird/browser-entry/browser-entry.visualization.utils.ts +6 -0
  550. package/test/examples/flappy_bird/browser-entry/browser-entry.worker.types.ts +92 -10
  551. package/test/examples/flappy_bird/browser-entry/docs.order.json +15 -0
  552. package/test/examples/flappy_bird/browser-entry/host/README.md +294 -121
  553. package/test/examples/flappy_bird/browser-entry/host/docs.order.json +15 -0
  554. package/test/examples/flappy_bird/browser-entry/host/host.canvas.service.ts +16 -0
  555. package/test/examples/flappy_bird/browser-entry/host/host.constants.ts +20 -0
  556. package/test/examples/flappy_bird/browser-entry/host/host.dom.service.ts +10 -0
  557. package/test/examples/flappy_bird/browser-entry/host/host.stats.service.ts +14 -0
  558. package/test/examples/flappy_bird/browser-entry/host/host.ts +34 -0
  559. package/test/examples/flappy_bird/browser-entry/host/host.types.ts +13 -0
  560. package/test/examples/flappy_bird/browser-entry/host/resize/README.md +310 -116
  561. package/test/examples/flappy_bird/browser-entry/host/resize/docs.order.json +10 -0
  562. package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.constants.ts +16 -0
  563. package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.services.ts +32 -0
  564. package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.ts +30 -0
  565. package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.types.ts +29 -0
  566. package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.utils.ts +22 -0
  567. package/test/examples/flappy_bird/browser-entry/network-view/README.md +392 -191
  568. package/test/examples/flappy_bird/browser-entry/network-view/docs.order.json +12 -0
  569. package/test/examples/flappy_bird/browser-entry/network-view/network-view.draw.service.ts +13 -0
  570. package/test/examples/flappy_bird/browser-entry/network-view/network-view.labels.utils.ts +12 -0
  571. package/test/examples/flappy_bird/browser-entry/network-view/network-view.layout.utils.ts +14 -0
  572. package/test/examples/flappy_bird/browser-entry/network-view/network-view.topology.utils.ts +12 -0
  573. package/test/examples/flappy_bird/browser-entry/network-view/network-view.ts +43 -44
  574. package/test/examples/flappy_bird/browser-entry/network-view/network-view.types.ts +11 -0
  575. package/test/examples/flappy_bird/browser-entry/playback/README.md +850 -295
  576. package/test/examples/flappy_bird/browser-entry/playback/background/README.md +387 -102
  577. package/test/examples/flappy_bird/browser-entry/playback/background/docs.order.json +16 -0
  578. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/README.md +1071 -335
  579. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/docs.order.json +22 -0
  580. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.batch.services.ts +64 -0
  581. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.cache.services.ts +30 -1
  582. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.constants.ts +121 -31
  583. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.batch.utils.ts +114 -0
  584. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.layout.utils.test.ts +96 -0
  585. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.layout.utils.ts +204 -0
  586. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.services.ts +49 -0
  587. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.utils.ts +38 -246
  588. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.layer.services.ts +81 -0
  589. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils.test.ts +33 -0
  590. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils.ts +84 -0
  591. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.selection.utils.ts +171 -0
  592. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.timing.utils.ts +124 -0
  593. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.test.ts +279 -0
  594. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.ts +45 -148
  595. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.scene.services.ts +26 -0
  596. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.services.ts +14 -163
  597. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.ts +16 -3
  598. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types.ts +138 -8
  599. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.utils.ts +2 -73
  600. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.constants.ts +77 -12
  601. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.draw.services.ts +184 -0
  602. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.scene.services.ts +64 -0
  603. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.services.ts +6 -244
  604. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.ts +16 -4
  605. package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.types.ts +39 -2
  606. package/test/examples/flappy_bird/browser-entry/playback/docs.order.json +23 -0
  607. package/test/examples/flappy_bird/browser-entry/playback/frame-render/README.md +654 -82
  608. package/test/examples/flappy_bird/browser-entry/playback/frame-render/docs.order.json +14 -0
  609. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.bird.utils.ts +180 -0
  610. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.canvas.services.ts +77 -0
  611. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.entity.services.ts +167 -0
  612. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.scene.services.ts +57 -0
  613. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.service.test.ts +176 -0
  614. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.service.ts +40 -7
  615. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.services.ts +12 -272
  616. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.trail.utils.ts +248 -0
  617. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types.ts +64 -0
  618. package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.utils.ts +11 -493
  619. package/test/examples/flappy_bird/browser-entry/playback/playback.frame-render.service.ts +6 -0
  620. package/test/examples/flappy_bird/browser-entry/playback/playback.iteration.services.test.ts +136 -0
  621. package/test/examples/flappy_bird/browser-entry/playback/playback.iteration.services.ts +256 -0
  622. package/test/examples/flappy_bird/browser-entry/playback/playback.loop.service.ts +12 -0
  623. package/test/examples/flappy_bird/browser-entry/playback/playback.orchestration.types.ts +90 -0
  624. package/test/examples/flappy_bird/browser-entry/playback/playback.render.pipe-outline.service.ts +128 -0
  625. package/test/examples/flappy_bird/browser-entry/playback/playback.render.service.ts +1 -116
  626. package/test/examples/flappy_bird/browser-entry/playback/playback.session.services.ts +185 -0
  627. package/test/examples/flappy_bird/browser-entry/playback/playback.snapshot.utils.test.ts +121 -0
  628. package/test/examples/flappy_bird/browser-entry/playback/playback.snapshot.utils.ts +5 -41
  629. package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.layer.services.ts +36 -0
  630. package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.service.ts +2 -36
  631. package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.services.ts +7 -11
  632. package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.types.ts +30 -1
  633. package/test/examples/flappy_bird/browser-entry/playback/playback.trail.utils.ts +9 -86
  634. package/test/examples/flappy_bird/browser-entry/playback/playback.ts +47 -363
  635. package/test/examples/flappy_bird/browser-entry/playback/playback.types.ts +11 -0
  636. package/test/examples/flappy_bird/browser-entry/playback/playback.worker-channel.utils.ts +11 -123
  637. package/test/examples/flappy_bird/browser-entry/playback/snapshot/README.md +114 -0
  638. package/test/examples/flappy_bird/browser-entry/playback/snapshot/docs.order.json +7 -0
  639. package/test/examples/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.services.ts +121 -0
  640. package/test/examples/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.summary.utils.test.ts +45 -0
  641. package/test/examples/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.summary.utils.ts +28 -0
  642. package/test/examples/flappy_bird/browser-entry/playback/trail/README.md +163 -0
  643. package/test/examples/flappy_bird/browser-entry/playback/trail/docs.order.json +7 -0
  644. package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.history.services.test.ts +35 -0
  645. package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.history.services.ts +76 -0
  646. package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.opacity.utils.test.ts +37 -0
  647. package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.opacity.utils.ts +95 -0
  648. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/README.md +128 -0
  649. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/docs.order.json +8 -0
  650. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.request.services.ts +45 -0
  651. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.summary.services.ts +74 -0
  652. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.types.ts +61 -0
  653. package/test/examples/flappy_bird/browser-entry/runtime/README.md +317 -78
  654. package/test/examples/flappy_bird/browser-entry/runtime/docs.order.json +14 -0
  655. package/test/examples/flappy_bird/browser-entry/runtime/runtime.browser-globals.service.ts +15 -0
  656. package/test/examples/flappy_bird/browser-entry/runtime/runtime.errors.ts +17 -0
  657. package/test/examples/flappy_bird/browser-entry/runtime/runtime.evolution-launch.service.ts +11 -0
  658. package/test/examples/flappy_bird/browser-entry/runtime/runtime.evolution-loop.service.ts +71 -0
  659. package/test/examples/flappy_bird/browser-entry/runtime/runtime.lifecycle.service.ts +15 -0
  660. package/test/examples/flappy_bird/browser-entry/runtime/runtime.startup.service.ts +18 -0
  661. package/test/examples/flappy_bird/browser-entry/runtime/runtime.telemetry.service.ts +24 -0
  662. package/test/examples/flappy_bird/browser-entry/runtime/runtime.ts +19 -6
  663. package/test/examples/flappy_bird/browser-entry/runtime/runtime.types.ts +29 -0
  664. package/test/examples/flappy_bird/browser-entry/visualization/README.md +538 -232
  665. package/test/examples/flappy_bird/browser-entry/visualization/docs.order.json +13 -0
  666. package/test/examples/flappy_bird/browser-entry/visualization/visualization.colors.utils.ts +26 -0
  667. package/test/examples/flappy_bird/browser-entry/visualization/visualization.draw.service.ts +22 -0
  668. package/test/examples/flappy_bird/browser-entry/visualization/visualization.legend.utils.ts +19 -0
  669. package/test/examples/flappy_bird/browser-entry/visualization/visualization.topology.utils.ts +10 -0
  670. package/test/examples/flappy_bird/browser-entry/visualization/visualization.ts +19 -0
  671. package/test/examples/flappy_bird/browser-entry/visualization/visualization.types.ts +18 -0
  672. package/test/examples/flappy_bird/browser-entry/worker-channel/README.md +225 -64
  673. package/test/examples/flappy_bird/browser-entry/worker-channel/docs.order.json +12 -0
  674. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.errors.ts +11 -0
  675. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.generation.service.ts +12 -0
  676. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.playback.service.test.ts +143 -0
  677. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.playback.service.ts +140 -14
  678. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.request.service.ts +27 -0
  679. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.ts +14 -0
  680. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.types.ts +23 -0
  681. package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.url.service.ts +5 -0
  682. package/test/examples/flappy_bird/constants/README.md +1860 -584
  683. package/test/examples/flappy_bird/constants/constants.birds.ts +16 -38
  684. package/test/examples/flappy_bird/constants/constants.difficulty.ts +21 -0
  685. package/test/examples/flappy_bird/constants/constants.network.ts +1 -1
  686. package/test/examples/flappy_bird/constants/constants.observation.ts +7 -0
  687. package/test/examples/flappy_bird/constants/constants.palette.ts +4 -4
  688. package/test/examples/flappy_bird/constants/constants.physics.ts +9 -0
  689. package/test/examples/flappy_bird/constants/constants.pipe-render.ts +3 -0
  690. package/test/examples/flappy_bird/constants/constants.pipes.ts +22 -3
  691. package/test/examples/flappy_bird/constants/constants.runtime.ts +29 -5
  692. package/test/examples/flappy_bird/constants/constants.ts +36 -0
  693. package/test/examples/flappy_bird/constants/docs.order.json +23 -0
  694. package/test/examples/flappy_bird/environment/README.md +160 -48
  695. package/test/examples/flappy_bird/environment/docs.order.json +11 -0
  696. package/test/examples/flappy_bird/environment/environment.collision.utils.ts +7 -0
  697. package/test/examples/flappy_bird/environment/environment.constants.ts +16 -3
  698. package/test/examples/flappy_bird/environment/environment.observation.utils.ts +11 -0
  699. package/test/examples/flappy_bird/environment/environment.state.service.ts +10 -0
  700. package/test/examples/flappy_bird/environment/environment.step.service.ts +12 -1
  701. package/test/examples/flappy_bird/environment/environment.types.ts +30 -0
  702. package/test/examples/flappy_bird/evaluation/README.md +175 -41
  703. package/test/examples/flappy_bird/evaluation/docs.order.json +13 -0
  704. package/test/examples/flappy_bird/evaluation/evaluation.constants.ts +23 -4
  705. package/test/examples/flappy_bird/evaluation/evaluation.fitness.utils.ts +15 -0
  706. package/test/examples/flappy_bird/evaluation/evaluation.rollout.service.ts +11 -0
  707. package/test/examples/flappy_bird/evaluation/evaluation.seed.utils.ts +4 -0
  708. package/test/examples/flappy_bird/evaluation/evaluation.types.ts +37 -2
  709. package/test/examples/flappy_bird/evaluation/rollout/README.md +347 -133
  710. package/test/examples/flappy_bird/evaluation/rollout/docs.order.json +10 -0
  711. package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.constants.ts +12 -3
  712. package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.service.ts +32 -0
  713. package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.services.ts +51 -2
  714. package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.types.ts +19 -2
  715. package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.utils.ts +34 -2
  716. package/test/examples/flappy_bird/flappy-evolution-worker/README.md +1015 -275
  717. package/test/examples/flappy_bird/flappy-evolution-worker/docs.order.json +18 -0
  718. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.constants.ts +91 -7
  719. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.errors.ts +34 -3
  720. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.evolution.service.test.ts +50 -0
  721. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.evolution.service.ts +27 -0
  722. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.playback.service.ts +55 -19
  723. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.protocol.service.ts +27 -1
  724. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.runtime.service.ts +23 -0
  725. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.frame.service.ts +15 -1
  726. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.types.ts +9 -1
  727. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.utils.ts +17 -3
  728. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.snapshot.utils.test.ts +94 -0
  729. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.snapshot.utils.ts +78 -13
  730. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.ts +74 -4
  731. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.types.ts +171 -22
  732. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.warm-start.service.test.ts +71 -0
  733. package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.warm-start.service.ts +302 -22
  734. package/test/examples/flappy_bird/flappy.simulation.shared.utils.ts +12 -0
  735. package/test/examples/flappy_bird/flappyEnvironment.ts +21 -0
  736. package/test/examples/flappy_bird/flappyEvaluation.ts +12 -0
  737. package/test/examples/flappy_bird/flappyEvolution.worker.ts +7 -0
  738. package/test/examples/flappy_bird/index.ts +23 -2
  739. package/test/examples/flappy_bird/rng.ts +10 -0
  740. package/test/examples/flappy_bird/simulation-shared/README.md +443 -182
  741. package/test/examples/flappy_bird/simulation-shared/docs.order.json +18 -0
  742. package/test/examples/flappy_bird/simulation-shared/observation/README.md +265 -67
  743. package/test/examples/flappy_bird/simulation-shared/observation/docs.order.json +8 -0
  744. package/test/examples/flappy_bird/simulation-shared/observation/observation.features.utils.ts +38 -0
  745. package/test/examples/flappy_bird/simulation-shared/observation/observation.ts +10 -0
  746. package/test/examples/flappy_bird/simulation-shared/observation/observation.vector.utils.ts +22 -0
  747. package/test/examples/flappy_bird/simulation-shared/simulation-shared.constants.ts +3 -0
  748. package/test/examples/flappy_bird/simulation-shared/simulation-shared.control.utils.ts +6 -0
  749. package/test/examples/flappy_bird/simulation-shared/simulation-shared.difficulty.utils.ts +9 -0
  750. package/test/examples/flappy_bird/simulation-shared/simulation-shared.errors.ts +10 -1
  751. package/test/examples/flappy_bird/simulation-shared/simulation-shared.memory.utils.ts +18 -0
  752. package/test/examples/flappy_bird/simulation-shared/simulation-shared.observation.utils.ts +3 -0
  753. package/test/examples/flappy_bird/simulation-shared/simulation-shared.spawn.utils.ts +16 -0
  754. package/test/examples/flappy_bird/simulation-shared/simulation-shared.statistics.utils.ts +7 -1
  755. package/test/examples/flappy_bird/simulation-shared/simulation-shared.types.ts +53 -5
  756. package/test/examples/flappy_bird/trainFlappyBird.ts +13 -0
  757. package/test/examples/flappy_bird/trainer/README.md +988 -157
  758. package/test/examples/flappy_bird/trainer/evaluation/README.md +212 -49
  759. package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.constants.ts +6 -0
  760. package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.services.ts +13 -0
  761. package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.ts +41 -1
  762. package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.types.ts +7 -0
  763. package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.utils.ts +21 -0
  764. package/test/examples/flappy_bird/trainer/trainer.constants.ts +278 -33
  765. package/test/examples/flappy_bird/trainer/trainer.errors.ts +12 -0
  766. package/test/examples/flappy_bird/trainer/trainer.evaluation-plan.utils.ts +60 -0
  767. package/test/examples/flappy_bird/trainer/trainer.evaluation.service.ts +12 -0
  768. package/test/examples/flappy_bird/trainer/trainer.fitness.service.ts +43 -1
  769. package/test/examples/flappy_bird/trainer/trainer.loop.service.ts +36 -1
  770. package/test/examples/flappy_bird/trainer/trainer.report.service.services.ts +10 -1
  771. package/test/examples/flappy_bird/trainer/trainer.report.service.ts +18 -1
  772. package/test/examples/flappy_bird/trainer/trainer.reporting.utils.ts +11 -0
  773. package/test/examples/flappy_bird/trainer/trainer.selection.utils.ts +11 -0
  774. package/test/examples/flappy_bird/trainer/trainer.setup.service.ts +31 -0
  775. package/test/examples/flappy_bird/trainer/trainer.signals.service.ts +17 -0
  776. package/test/examples/flappy_bird/trainer/trainer.ts +88 -8
  777. package/test/examples/flappy_bird/trainer/trainer.types.ts +79 -7
  778. package/test/methods/activation.test.ts +1 -1
  779. package/test/methods/connection.test.ts +1 -1
  780. package/test/methods/cost.test.ts +1 -1
  781. package/test/methods/crossover.test.ts +1 -1
  782. package/test/methods/gating.test.ts +1 -1
  783. package/test/methods/mutation.test.ts +2 -2
  784. package/test/methods/rate.cosineWarmRestarts.test.ts +1 -1
  785. package/test/methods/rate.linearWarmupDecay.test.ts +1 -1
  786. package/test/methods/rate.reduceOnPlateau.test.ts +1 -1
  787. package/test/methods/rate.test.ts +1 -1
  788. package/test/methods/selection.test.ts +1 -1
  789. package/test/neat/neat.adaptive.ancestorUniq.cooldown.test.ts +3 -3
  790. package/test/neat/neat.adaptive.ancestorUniq.epsilon.test.ts +7 -7
  791. package/test/neat/neat.adaptive.ancestorUniq.lineagePressure.test.ts +7 -7
  792. package/test/neat/neat.adaptive.complexityBudget.connShrink.test.ts +2 -2
  793. package/test/neat/neat.adaptive.complexityBudget.growth.novelty.test.ts +2 -2
  794. package/test/neat/neat.adaptive.complexityBudget.minClamp.test.ts +2 -2
  795. package/test/neat/neat.adaptive.complexityBudget.test.ts +1 -1
  796. package/test/neat/neat.adaptive.complexityBudget.trend.test.ts +2 -2
  797. package/test/neat/neat.adaptive.minimalCriterion.rejection.test.ts +2 -2
  798. package/test/neat/neat.adaptive.mutation.amount.adapt.test.ts +3 -3
  799. package/test/neat/neat.adaptive.mutation.anneal.strategy.test.ts +3 -3
  800. package/test/neat/neat.adaptive.mutation.exploreLow.strategy.test.ts +3 -3
  801. package/test/neat/neat.adaptive.mutation.twotier.balance.test.ts +3 -3
  802. package/test/neat/neat.adaptive.mutation.twotier.fallback.single.test.ts +3 -3
  803. package/test/neat/neat.adaptive.operator.adaptation.decay.balance.test.ts +3 -3
  804. package/test/neat/neat.adaptive.operator.bandit.decay.test.ts +3 -3
  805. package/test/neat/neat.adaptive.phasedComplexity.toggle.test.ts +2 -2
  806. package/test/neat/neat.additional.coverage.test.ts +1 -1
  807. package/test/neat/neat.export.meta.fromjson.test.ts +1 -1
  808. package/test/neat/neat.export.state.rehydrate.test.ts +4 -3
  809. package/test/neat/neat.helpers.spawn.pool.test.ts +1 -1
  810. package/test/neat/neat.lineage.entropy.test.ts +1 -1
  811. package/test/neat/neat.lineage.inbreeding.test.ts +1 -1
  812. package/test/neat/neat.mutation.addconn.cycle.guard.test.ts +1 -1
  813. package/test/neat/neat.mutation.undefined.pool.test.ts +1 -1
  814. package/test/neat/neat.operator.phases.test.ts +1 -1
  815. package/test/neat/neat.spawn.add.test.ts +1 -1
  816. package/test/neat/neat.speciation.age.penalty.test.ts +2 -2
  817. package/test/neat/neat.speciation.assign.existing.test.ts +2 -2
  818. package/test/neat/neat.speciation.auto.tuning.jitter.test.ts +2 -2
  819. package/test/neat/neat.speciation.create.newSpecies.test.ts +2 -2
  820. package/test/neat/neat.speciation.fitnessSharing.equal.test.ts +5 -2
  821. package/test/neat/neat.speciation.fitnessSharing.kernel.test.ts +5 -2
  822. package/test/neat/neat.speciation.pid.threshold.clip.max.test.ts +2 -2
  823. package/test/neat/neat.speciation.pid.threshold.clip.min.test.ts +2 -2
  824. package/test/neat/neat.speciation.stagnation.prune.test.ts +5 -2
  825. package/test/neat/neat.species.history.fallbacks.test.ts +2 -2
  826. package/test/neat/neat.telemetry.advanced.test.ts +1 -1
  827. package/test/neat/neat.telemetry.fastmode.diversity.test.ts +5 -2
  828. package/test/neat/neat.telemetry.objective.events.test.ts +2 -2
  829. package/test/neat/neat.telemetry.select.entropy.cache.test.ts +1 -1
  830. package/test/neat/neat.topology-intent.test.ts +129 -0
  831. package/test/network/network.deterministic.test.ts +0 -2
  832. package/test/network/network.evolve.multithread.branches.test.ts +0 -2
  833. package/test/network/network.gating.removal.test.ts +1 -1
  834. package/test/network/network.mutate.additional.test.ts +1 -1
  835. package/test/network/network.mutate.edgecases.test.ts +1 -1
  836. package/test/network/network.mutate.test.ts +1 -1
  837. package/test/network/network.topology-intent.test.ts +44 -0
  838. package/test/network/structure.serialization.test.ts +60 -98
  839. package/test/utils/test-helpers.ts +1 -1
  840. package/plans/asciiMaze_SOLID_split.done.md +0 -130
  841. package/plans/flappy_bird_SOLID_split.done.md +0 -67
  842. package/src/methods/connection.ts +0 -31
  843. package/src/methods/gating.ts +0 -43
  844. package/src/neat/neat.adaptive.utils.ts +0 -7
  845. package/src/neat/neat.cache.ts +0 -1
  846. package/src/neat/neat.cache.utils.ts +0 -12
  847. package/src/neat/neat.compat.ts +0 -103
  848. package/src/neat/neat.diversity.utils.ts +0 -359
  849. package/src/neat/neat.evaluate.auto-distance.utils.ts +0 -210
  850. package/src/neat/neat.evaluate.constants.utils.ts +0 -42
  851. package/src/neat/neat.evaluate.entropy-compat.utils.ts +0 -67
  852. package/src/neat/neat.evaluate.entropy-sharing.utils.ts +0 -78
  853. package/src/neat/neat.evaluate.fitness.utils.ts +0 -48
  854. package/src/neat/neat.evaluate.novelty.utils.ts +0 -225
  855. package/src/neat/neat.evaluate.objectives.utils.ts +0 -50
  856. package/src/neat/neat.evaluate.speciation.utils.ts +0 -35
  857. package/src/neat/neat.evaluate.ts +0 -90
  858. package/src/neat/neat.evaluate.utils.ts +0 -9
  859. package/src/neat/neat.evolve.adaptive.utils.ts +0 -224
  860. package/src/neat/neat.evolve.offspring.constants.ts +0 -8
  861. package/src/neat/neat.evolve.offspring.utils.ts +0 -107
  862. package/src/neat/neat.evolve.runtime.utils.ts +0 -128
  863. package/src/neat/neat.evolve.speciation.utils.ts +0 -251
  864. package/src/neat/neat.evolve.telemetry.utils.ts +0 -39
  865. package/src/neat/neat.evolve.utils.ts +0 -10
  866. package/src/neat/neat.evolve.warnings.utils.ts +0 -14
  867. package/src/neat/neat.harness.types.ts +0 -35
  868. package/src/neat/neat.helpers.ts +0 -300
  869. package/src/neat/neat.lineage.utils.ts +0 -387
  870. package/src/neat/neat.multiobjective.archive.utils.ts +0 -59
  871. package/src/neat/neat.multiobjective.metrics.utils.ts +0 -65
  872. package/src/neat/neat.multiobjective.ts +0 -93
  873. package/src/neat/neat.multiobjective.utils.ts +0 -10
  874. package/src/neat/neat.multiobjective.utils.types.ts +0 -112
  875. package/src/neat/neat.mutation.ts +0 -335
  876. package/src/neat/neat.mutation.utils.ts +0 -6
  877. package/src/neat/neat.novelty.utils.ts +0 -17
  878. package/src/neat/neat.objectives.ts +0 -133
  879. package/src/neat/neat.objectives.utils.ts +0 -195
  880. package/src/neat/neat.pruning.ts +0 -129
  881. package/src/neat/neat.pruning.utils.ts +0 -375
  882. package/src/neat/neat.rng.constants.ts +0 -18
  883. package/src/neat/neat.rng.ts +0 -2
  884. package/src/neat/neat.rng.utils.ts +0 -158
  885. package/src/neat/neat.selection.ts +0 -142
  886. package/src/neat/neat.selection.utils.ts +0 -470
  887. package/src/neat/neat.speciation.ts +0 -136
  888. package/src/neat/neat.speciation.utils.ts +0 -926
  889. package/src/neat/neat.species.history.utils.ts +0 -13
  890. package/src/neat/neat.species.ts +0 -114
  891. package/src/neat/neat.species.utils.ts +0 -156
  892. package/src/neat/neat.telemetry.accessors.utils.ts +0 -71
  893. package/src/neat/neat.telemetry.buffer.utils.ts +0 -58
  894. package/src/neat/neat.telemetry.exports.ts +0 -452
  895. package/src/neat/neat.telemetry.types.ts +0 -51
  896. package/src/neat/neat.telemetry.utils.ts +0 -12
  897. package/srcLint.md +0 -185
  898. package/test/benchmarks/asciiMaze.micro.bench.ts +0 -0
  899. package/test/examples/flappy_bird/Trace-20260309T191949.json +0 -24124
@@ -98,6 +98,13 @@ export const createNeat = (
98
98
  fitnessCallback: (net: Network) => number,
99
99
  cfg?: NeatConfig,
100
100
  ): Neat => {
101
+ const NeatNetworkConstructor = Neat as unknown as new (
102
+ input: number,
103
+ output: number,
104
+ fitness: (network: Network) => unknown,
105
+ options: NeatConfig,
106
+ ) => Neat;
107
+
101
108
  // Default constants (extracted from EvolutionEngine static fields)
102
109
  const DEFAULT_POPSIZE = 150;
103
110
  const DEFAULT_ELITISM_FRACTION = 0.05;
@@ -162,23 +169,28 @@ export const createNeat = (
162
169
  };
163
170
 
164
171
  // Step 4: Instantiate the Neat driver with the assembled options.
165
- const neatInstance = new Neat(inputCount, outputCount, fitnessCallback, {
166
- popsize: popSize,
167
- mutation: mutationOps,
168
- mutationRate: DEFAULT_MUTATION_RATE,
169
- mutationAmount: DEFAULT_MUTATION_AMOUNT,
170
- elitism,
171
- provenance,
172
- allowRecurrent,
173
- minHidden: DEFAULT_MIN_HIDDEN,
174
- adaptiveMutation,
175
- multiObjective,
176
- telemetry,
177
- lineageTracking,
178
- novelty,
179
- targetSpecies,
180
- adaptiveTargetSpecies,
181
- });
172
+ const neatInstance = new NeatNetworkConstructor(
173
+ inputCount,
174
+ outputCount,
175
+ fitnessCallback,
176
+ {
177
+ popsize: popSize,
178
+ mutation: mutationOps,
179
+ mutationRate: DEFAULT_MUTATION_RATE,
180
+ mutationAmount: DEFAULT_MUTATION_AMOUNT,
181
+ elitism,
182
+ provenance,
183
+ allowRecurrent,
184
+ minHidden: DEFAULT_MIN_HIDDEN,
185
+ adaptiveMutation,
186
+ multiObjective,
187
+ telemetry,
188
+ lineageTracking,
189
+ novelty,
190
+ targetSpecies,
191
+ adaptiveTargetSpecies,
192
+ },
193
+ );
182
194
 
183
195
  return neatInstance;
184
196
  };
@@ -25,8 +25,18 @@
25
25
 
26
26
  import type { INetwork } from '../interfaces';
27
27
  import type { EngineState } from './engineState';
28
+ import type { NetworkConnection, NetworkNode } from './evolutionEngine.types';
28
29
  import { ensureConnFlagsCapacity } from './scratchPools';
29
30
 
31
+ interface ClassifiedNodeBuckets {
32
+ nodeList: NetworkNode[];
33
+ inputNodes: NetworkNode[];
34
+ hiddenNodes: NetworkNode[];
35
+ outputNodes: NetworkNode[];
36
+ }
37
+
38
+ type NodeBucketPool = [NetworkNode[], NetworkNode[], NetworkNode[]];
39
+
30
40
  /**
31
41
  * Utility to explicitly mark swallowed errors for lint compliance.
32
42
  *
@@ -61,9 +71,7 @@ export const swallowError = (error: unknown): void => {
61
71
  * @param network - Network-like object with an optional `nodes` array.
62
72
  * @returns Safe array reference (network.nodes or empty array).
63
73
  */
64
- // Type assertion: Network nodes are dynamically typed structures with variable properties
65
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
66
- const normalizeNodesArray = (network: INetwork): any[] => {
74
+ const normalizeNodesArray = (network: INetwork): NetworkNode[] => {
67
75
  return Array.isArray(network?.nodes) ? network.nodes : [];
68
76
  };
69
77
 
@@ -95,29 +103,16 @@ const normalizeNodesArray = (network: INetwork): any[] => {
95
103
  */
96
104
  const classifyNodesFromArray = (
97
105
  engineState: EngineState,
98
- // Type assertion: Network nodes are dynamically typed structures with variable properties
99
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
- nodesArray: any[],
101
- ): {
102
- // Type assertion: Network nodes are dynamically typed structures with variable properties
103
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
104
- nodeList: any[];
105
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
106
- inputNodes: any[];
107
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
- hiddenNodes: any[];
109
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
110
- outputNodes: any[];
111
- } => {
106
+ nodesArray: NetworkNode[],
107
+ ): ClassifiedNodeBuckets => {
112
108
  // Step 1: Normalise the incoming node list to a safe, non-null array reference.
113
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
- const nodeList: any[] = Array.isArray(nodesArray) ? nodesArray : [];
109
+ const nodeList: NetworkNode[] = Array.isArray(nodesArray) ? nodesArray : [];
115
110
 
116
111
  // Step 2: Lazily create / reuse the pooled buckets structure on the state.
117
112
  const scratchBundle = engineState.scratch;
118
- let pooledBuckets = scratchBundle.nodeBuckets;
113
+ let pooledBuckets = scratchBundle.nodeBuckets as NodeBucketPool | undefined;
119
114
  if (!Array.isArray(pooledBuckets?.[0])) {
120
- pooledBuckets = scratchBundle.nodeBuckets = [[], [], []];
115
+ pooledBuckets = scratchBundle.nodeBuckets = [[], [], []] as NodeBucketPool;
121
116
  }
122
117
 
123
118
  // Descriptive bucket aliases for readability.
@@ -177,17 +172,7 @@ const classifyNodesFromArray = (
177
172
  const classifyNodes = (
178
173
  engineState: EngineState,
179
174
  network: INetwork,
180
- ): {
181
- // Type assertion: Network nodes are dynamically typed structures with variable properties
182
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
183
- nodeList: any[];
184
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
185
- inputNodes: any[];
186
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
187
- hiddenNodes: any[];
188
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
189
- outputNodes: any[];
190
- } => {
175
+ ): ClassifiedNodeBuckets => {
191
176
  // Orchestrator: normalize inputs then delegate to the fast, allocation-light classifier.
192
177
  const normalizedNodeList = normalizeNodesArray(network);
193
178
  return classifyNodesFromArray(engineState, normalizedNodeList);
@@ -221,9 +206,7 @@ const gatherActivationNames = (
221
206
  network: INetwork,
222
207
  ): string[] => {
223
208
  // Step 1: Safe normalisation of the node list reference.
224
- // Type assertion: Network nodes are dynamically typed structures with variable properties
225
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
226
- const nodesArray: any[] = Array.isArray(network?.nodes) ? network.nodes : [];
209
+ const nodesArray = normalizeNodesArray(network);
227
210
  const nodesCount = nodesArray.length;
228
211
 
229
212
  // Step 2: Lazily ensure the shared pool exists.
@@ -294,9 +277,7 @@ const gatherActivationNames = (
294
277
  */
295
278
  const detectRecurrentOrGated = (
296
279
  engineState: EngineState,
297
- // Type assertion: Network connections are dynamically typed structures with variable properties
298
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
299
- connectionsList: any[],
280
+ connectionsList: NetworkConnection[],
300
281
  ): boolean => {
301
282
  // Step 1: Validate input quickly
302
283
  if (!Array.isArray(connectionsList) || connectionsList.length === 0)
@@ -25,8 +25,71 @@ import { Network } from '../../../../src/neataptic';
25
25
  import { MazeUtils } from '../mazeUtils';
26
26
  import { FitnessEvaluator } from '../fitness';
27
27
  import type { IFitnessEvaluationContext } from '../fitness.types';
28
- import type { IRunMazeEvolutionOptions } from './evolutionEngine.types';
28
+ import type {
29
+ IEvolutionAlgorithmConfig,
30
+ IMazeConfig,
31
+ IReportingConfig,
32
+ IRunMazeEvolutionOptions,
33
+ ScratchBundle,
34
+ } from './evolutionEngine.types';
29
35
  import { createNeat, seedInitialPopulation } from './neatConfiguration';
36
+ import type { NeatConfig } from './neatConfiguration';
37
+
38
+ interface NormalizedRunOptions {
39
+ mazeConfig?: IMazeConfig;
40
+ agentSimConfig: IFitnessEvaluationContext['agentSimConfig'];
41
+ evolutionAlgorithmConfig: IEvolutionAlgorithmConfig;
42
+ reportingConfig: IReportingConfig | Record<string, never>;
43
+ fitnessEvaluator?: IRunMazeEvolutionOptions['fitnessEvaluator'];
44
+ popSize: number;
45
+ allowRecurrent: boolean;
46
+ maxStagnantGenerations: number;
47
+ minProgressToPass: number;
48
+ maxGenerations: number;
49
+ randomSeed?: number;
50
+ initialPopulation?: IEvolutionAlgorithmConfig['initialPopulation'];
51
+ initialBestNetwork?: IEvolutionAlgorithmConfig['initialBestNetwork'];
52
+ lamarckianIterations: number;
53
+ lamarckianSampleSize?: number;
54
+ plateauGenerations: number;
55
+ plateauImprovementThreshold: number;
56
+ simplifyDuration: number;
57
+ simplifyPruneFraction: number;
58
+ simplifyStrategy: NonNullable<IEvolutionAlgorithmConfig['simplifyStrategy']>;
59
+ persistEvery: number;
60
+ persistDir: string;
61
+ persistTopK: number;
62
+ dynamicPopEnabled: boolean;
63
+ dynamicPopMax: number;
64
+ dynamicPopExpandInterval: number;
65
+ dynamicPopExpandFactor: number;
66
+ dynamicPopPlateauSlack: number;
67
+ stopOnlyOnSolve: boolean;
68
+ autoPauseOnSolve: boolean;
69
+ deterministic: boolean;
70
+ memoryCompactionInterval: number;
71
+ telemetryReduceStats: boolean;
72
+ telemetryMinimal: boolean;
73
+ disableBaldwinianRefinement: boolean;
74
+ neatOptions: NeatConfig;
75
+ maze?: string[];
76
+ }
77
+
78
+ interface PreparedRunEnvironment {
79
+ encodedMaze: IFitnessEvaluationContext['encodedMaze'];
80
+ startPosition: IFitnessEvaluationContext['startPosition'];
81
+ exitPosition: IFitnessEvaluationContext['exitPosition'];
82
+ distanceMap: NonNullable<IFitnessEvaluationContext['distanceMap']>;
83
+ inputSize: number;
84
+ outputSize: number;
85
+ fitnessContext: IFitnessEvaluationContext;
86
+ }
87
+
88
+ interface CreateAndSeedNeatResult {
89
+ neat: ReturnType<typeof createNeat> | null;
90
+ scratchPopClone: Network[];
91
+ scratchSample: unknown[];
92
+ }
30
93
 
31
94
  /**
32
95
  * Normalize and validate run options with sensible defaults.
@@ -89,9 +152,7 @@ export const normalizeRunOptions = (
89
152
  setReducedTelemetry: (enabled: boolean) => void,
90
153
  setMinimalTelemetry: (enabled: boolean) => void,
91
154
  setDisableBaldwin: (disabled: boolean) => void,
92
- // Type assertion: Return type contains mixed configuration from user options
93
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
- ): any => {
155
+ ): NormalizedRunOptions => {
95
156
  // Step 1: normalise option groups using nullish coalescing for robustness.
96
157
  const mazeConfig = options?.mazeConfig;
97
158
  const agentSimConfig = options?.agentSimConfig ?? {};
@@ -147,7 +208,7 @@ export const normalizeRunOptions = (
147
208
  : Math.max(popSize, 120);
148
209
 
149
210
  // Step 5: compose the final normalised options object (shape expected by callers).
150
- return {
211
+ const normalizedOptions: NormalizedRunOptions = {
151
212
  mazeConfig,
152
213
  agentSimConfig,
153
214
  evolutionAlgorithmConfig,
@@ -209,9 +270,9 @@ export const normalizeRunOptions = (
209
270
  },
210
271
  },
211
272
  maze: mazeConfig?.maze,
212
- // Type assertion: Mixed configuration object with diverse property types
213
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
214
- } as any;
273
+ };
274
+
275
+ return normalizedOptions;
215
276
  };
216
277
 
217
278
  /**
@@ -257,17 +318,16 @@ export const normalizeRunOptions = (
257
318
  * const neat = createAndSeedNeat(normalizedOpts, env.inputSize, env.outputSize, env.fitnessContext);
258
319
  */
259
320
  export const prepareEnvironmentForRun = (
260
- // Type assertion: Accepts normalized options with mixed types from normalizeRunOptions
261
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
262
- opts: any,
263
- // Type assertion: Scratch bundle contains dynamic pooled structures
264
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
265
- scratchBundle: any,
266
- // Type assertion: Returns diverse environment properties for evolution setup
267
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
268
- ): any => {
321
+ opts: NormalizedRunOptions,
322
+ scratchBundle: ScratchBundle,
323
+ ): PreparedRunEnvironment => {
269
324
  // Step 1: Resolve the maze input in a null-safe way.
270
325
  const mazeSource = opts?.maze ?? opts?.mazeConfig?.maze;
326
+ if (!Array.isArray(mazeSource)) {
327
+ throw new Error(
328
+ 'ASCII Maze requires a maze layout before environment setup.',
329
+ );
330
+ }
271
331
 
272
332
  // Step 2: Encode the maze (delegated to MazeUtils). Keep the variable name explicit.
273
333
  const encodedMaze = MazeUtils.encodeMaze(mazeSource);
@@ -295,7 +355,7 @@ export const prepareEnvironmentForRun = (
295
355
  // Best-effort: warm a couple of small engine-level pools to reduce first-use allocations.
296
356
  try {
297
357
  if (!Array.isArray(scratchBundle.samplePool)) {
298
- scratchBundle.samplePool = new Array(32);
358
+ scratchBundle.samplePool = new Array<unknown>(32);
299
359
  }
300
360
  if (!(scratchBundle.profilingScratch instanceof Float64Array)) {
301
361
  scratchBundle.profilingScratch = new Float64Array(4);
@@ -360,26 +420,18 @@ export const prepareEnvironmentForRun = (
360
420
  * );
361
421
  */
362
422
  export const createAndSeedNeat = (
363
- // Type assertion: Accepts normalized options with mixed types from normalizeRunOptions
364
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
365
- opts: any,
423
+ opts: NormalizedRunOptions,
366
424
  inputSize: number,
367
425
  outputSize: number,
368
426
  fitnessContext: IFitnessEvaluationContext,
369
- // Type assertion: Pooled clone buffer for network population
370
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
371
- scratchPopClone: any[],
372
- // Type assertion: Pooled sample buffer for selection operations
373
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
374
- scratchSample: any[],
375
- // Type assertion: Returns NEAT driver and updated scratch buffers
376
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
377
- ): any => {
427
+ scratchPopClone: Network[],
428
+ scratchSample: unknown[],
429
+ ): CreateAndSeedNeatResult => {
378
430
  try {
379
431
  // Step 1: Build a descriptive, bound fitness callback.
380
- const fitnessCallback = (network: Network) =>
432
+ const fitnessCallback = (network: Network): number =>
381
433
  (opts.fitnessEvaluator ?? FitnessEvaluator.defaultFitnessEvaluator)(
382
- network,
434
+ network as unknown as import('../interfaces').INetwork,
383
435
  fitnessContext,
384
436
  );
385
437
 
@@ -394,8 +446,8 @@ export const createAndSeedNeat = (
394
446
  // Step 3: Seed the newly created driver using provided initial population / best network.
395
447
  scratchPopClone = seedInitialPopulation(
396
448
  neatDriver,
397
- opts.initialPopulation ?? undefined,
398
- opts.initialBestNetwork ?? undefined,
449
+ opts.initialPopulation as Network[] | undefined,
450
+ opts.initialBestNetwork as Network | undefined,
399
451
  Number.isFinite(opts.popSize) ? Math.max(0, Math.floor(opts.popSize)) : 0,
400
452
  scratchPopClone,
401
453
  );
@@ -422,10 +474,18 @@ export const createAndSeedNeat = (
422
474
  // Best-effort: swallow sample buffer warm-up errors.
423
475
  }
424
476
 
425
- return { neat: neatDriver, scratchPopClone, scratchSample };
477
+ return {
478
+ neat: neatDriver,
479
+ scratchPopClone: scratchPopClone as Network[],
480
+ scratchSample,
481
+ };
426
482
  } catch {
427
483
  // Top-level safety net: return null driver on catastrophic failure.
428
484
  // Caller should check for null and handle gracefully.
429
- return { neat: null, scratchPopClone, scratchSample };
485
+ return {
486
+ neat: null,
487
+ scratchPopClone: scratchPopClone as Network[],
488
+ scratchSample,
489
+ };
430
490
  }
431
491
  };