@reicek/neataptic-ts 0.1.25 → 0.1.26

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 (210) hide show
  1. package/.github/copilot-instructions.md +11 -0
  2. package/.github/skills/trace-analyzer-extension/SKILL.md +3 -3
  3. package/.github/skills/trace-analyzer-extension/assets/extension-checklist.md +1 -1
  4. package/.github/skills/trace-analyzer-extension/references/analyzer-extension-workflow.md +1 -1
  5. package/.github/skills/trace-audit-reporting/SKILL.md +3 -3
  6. package/.github/skills/trace-audit-reporting/references/trace-analysis-workflow.md +1 -1
  7. package/package.json +19 -13
  8. package/plans/Flappy_Bird_Folder_Documentation_Pass.md +4 -4
  9. package/plans/README.md +24 -0
  10. package/plans/Roadmap.md +62 -40
  11. package/plans/analyze-trace-solid-split.plans.md +66 -0
  12. package/plans/architecture-solid-split.plans.md +9 -15
  13. package/plans/asciiMaze-typescript-repair.plans.md +1 -1
  14. package/plans/generate-docs-solid-split.plans.md +87 -0
  15. package/plans/methods-docs.plans.md +25 -1
  16. package/plans/methods-solid-split.plans.md +14 -14
  17. package/plans/neat-docs.plans.md +9 -1
  18. package/plans/neat-test-surface-repair.plans.md +1 -1
  19. package/plans/render-docs-html-solid-split.plans.md +68 -0
  20. package/plans/src-no-explicit-any-cleanup.plans.md +1 -1
  21. package/plans/utils-docs.plans.md +6 -1
  22. package/scripts/analyze-trace/analyze-trace.analysis.ts +479 -0
  23. package/scripts/analyze-trace/analyze-trace.constants.ts +35 -0
  24. package/scripts/analyze-trace/analyze-trace.io.ts +69 -0
  25. package/scripts/analyze-trace/analyze-trace.report.ts +100 -0
  26. package/scripts/analyze-trace/analyze-trace.shared.ts +116 -0
  27. package/scripts/analyze-trace/analyze-trace.ts +45 -0
  28. package/scripts/analyze-trace/analyze-trace.types.ts +72 -0
  29. package/scripts/assets/theme.css +80 -23
  30. package/scripts/copy-examples.ts +239 -0
  31. package/scripts/export-onnx.ts +223 -0
  32. package/scripts/generate-bench-tables.ts +378 -37
  33. package/scripts/generate-docs/generate-docs.constants.ts +107 -0
  34. package/scripts/generate-docs/generate-docs.order.ts +355 -0
  35. package/scripts/generate-docs/generate-docs.state.ts +31 -0
  36. package/scripts/generate-docs/generate-docs.targets.ts +165 -0
  37. package/scripts/generate-docs/generate-docs.ts +63 -0
  38. package/scripts/generate-docs/generate-docs.types.ts +112 -0
  39. package/scripts/generate-docs/output/generate-docs.output.folder-index.utils.ts +167 -0
  40. package/scripts/generate-docs/output/generate-docs.output.ordering.utils.ts +353 -0
  41. package/scripts/generate-docs/output/generate-docs.output.readme.utils.ts +420 -0
  42. package/scripts/generate-docs/output/generate-docs.output.ts +123 -0
  43. package/scripts/generate-docs/output/generate-docs.output.warnings.utils.ts +219 -0
  44. package/scripts/generate-docs/symbols/generate-docs.symbols.collection.utils.ts +365 -0
  45. package/scripts/generate-docs/symbols/generate-docs.symbols.jsdoc.utils.ts +373 -0
  46. package/scripts/generate-docs/symbols/generate-docs.symbols.normalize.utils.ts +155 -0
  47. package/scripts/generate-docs/symbols/generate-docs.symbols.render.utils.ts +149 -0
  48. package/scripts/generate-docs/symbols/generate-docs.symbols.signature.utils.ts +289 -0
  49. package/scripts/generate-docs/symbols/generate-docs.symbols.ts +11 -0
  50. package/scripts/mermaid-cli.mjs +102 -22
  51. package/scripts/mermaid-cli.ts +736 -0
  52. package/scripts/render-docs-html/render-docs-html.assets.ts +54 -0
  53. package/scripts/render-docs-html/render-docs-html.mermaid.ts +245 -0
  54. package/scripts/{render-docs-html.sidebar.ts → render-docs-html/render-docs-html.navigation.ts} +141 -144
  55. package/scripts/render-docs-html/render-docs-html.pages.ts +333 -0
  56. package/scripts/render-docs-html/render-docs-html.shared.ts +333 -0
  57. package/scripts/render-docs-html/render-docs-html.types.ts +42 -0
  58. package/scripts/render-docs-html.ts +23 -587
  59. package/scripts/run-docs.ts +238 -0
  60. package/scripts/write-dist-docs-pkg.ts +40 -0
  61. package/src/README.md +75 -75
  62. package/src/architecture/connection/README.md +5 -5
  63. package/src/architecture/layer/README.md +508 -508
  64. package/src/architecture/network/README.md +1458 -1458
  65. package/src/architecture/network/activate/README.md +694 -694
  66. package/src/architecture/network/bootstrap/README.md +77 -77
  67. package/src/architecture/network/connect/README.md +74 -74
  68. package/src/architecture/network/deterministic/README.md +135 -135
  69. package/src/architecture/network/evolve/README.md +364 -364
  70. package/src/architecture/network/gating/README.md +130 -130
  71. package/src/architecture/network/genetic/README.md +399 -399
  72. package/src/architecture/network/mutate/README.md +897 -897
  73. package/src/architecture/network/onnx/README.md +720 -720
  74. package/src/architecture/network/onnx/export/README.md +728 -728
  75. package/src/architecture/network/onnx/export/layers/README.md +450 -450
  76. package/src/architecture/network/onnx/import/README.md +618 -618
  77. package/src/architecture/network/onnx/schema/README.md +32 -32
  78. package/src/architecture/network/prune/README.md +245 -245
  79. package/src/architecture/network/remove/README.md +135 -135
  80. package/src/architecture/network/runtime/README.md +106 -106
  81. package/src/architecture/network/serialize/README.md +542 -542
  82. package/src/architecture/network/slab/README.md +608 -608
  83. package/src/architecture/network/standalone/README.md +212 -212
  84. package/src/architecture/network/stats/README.md +84 -84
  85. package/src/architecture/network/topology/README.md +465 -465
  86. package/src/architecture/network/training/README.md +200 -200
  87. package/src/architecture/node/README.md +5 -5
  88. package/src/architecture/nodePool/README.md +14 -14
  89. package/src/methods/README.md +99 -99
  90. package/src/methods/activation/README.md +189 -189
  91. package/src/methods/cost/README.md +131 -131
  92. package/src/methods/rate/README.md +86 -86
  93. package/src/multithreading/README.md +77 -77
  94. package/src/multithreading/workers/browser/README.md +8 -8
  95. package/src/multithreading/workers/node/README.md +8 -8
  96. package/src/neat/README.md +148 -148
  97. package/src/neat/adaptive/README.md +120 -120
  98. package/src/neat/adaptive/acceptance/README.md +40 -40
  99. package/src/neat/adaptive/complexity/README.md +137 -137
  100. package/src/neat/adaptive/core/README.md +197 -197
  101. package/src/neat/adaptive/lineage/README.md +90 -90
  102. package/src/neat/adaptive/mutation/README.md +284 -284
  103. package/src/neat/compat/README.md +43 -43
  104. package/src/neat/compat/core/README.md +90 -90
  105. package/src/neat/diversity/README.md +35 -35
  106. package/src/neat/diversity/core/README.md +88 -88
  107. package/src/neat/evaluate/README.md +85 -85
  108. package/src/neat/evaluate/auto-distance/README.md +75 -75
  109. package/src/neat/evaluate/entropy-compat/README.md +37 -37
  110. package/src/neat/evaluate/entropy-sharing/README.md +43 -43
  111. package/src/neat/evaluate/fitness/README.md +23 -23
  112. package/src/neat/evaluate/novelty/README.md +120 -120
  113. package/src/neat/evaluate/objectives/README.md +17 -17
  114. package/src/neat/evaluate/shared/README.md +94 -94
  115. package/src/neat/evolve/README.md +96 -96
  116. package/src/neat/evolve/adaptive/README.md +60 -60
  117. package/src/neat/evolve/objectives/README.md +63 -63
  118. package/src/neat/evolve/offspring/README.md +56 -56
  119. package/src/neat/evolve/population/README.md +171 -171
  120. package/src/neat/evolve/runtime/README.md +79 -79
  121. package/src/neat/evolve/speciation/README.md +74 -74
  122. package/src/neat/evolve/warnings/README.md +10 -10
  123. package/src/neat/export/README.md +114 -114
  124. package/src/neat/helpers/README.md +50 -50
  125. package/src/neat/init/README.md +9 -9
  126. package/src/neat/lineage/core/README.md +101 -101
  127. package/src/neat/multiobjective/category/README.md +74 -74
  128. package/src/neat/multiobjective/crowding/README.md +272 -272
  129. package/src/neat/multiobjective/dominance/README.md +171 -171
  130. package/src/neat/multiobjective/fronts/README.md +68 -68
  131. package/src/neat/multiobjective/metrics/README.md +43 -43
  132. package/src/neat/multiobjective/objectives/README.md +31 -31
  133. package/src/neat/multiobjective/shared/README.md +27 -27
  134. package/src/neat/mutation/README.md +97 -97
  135. package/src/neat/mutation/add-conn/README.md +115 -115
  136. package/src/neat/mutation/add-node/README.md +126 -126
  137. package/src/neat/mutation/flow/README.md +149 -149
  138. package/src/neat/mutation/repair/README.md +185 -185
  139. package/src/neat/mutation/select/README.md +117 -117
  140. package/src/neat/mutation/shared/README.md +32 -32
  141. package/src/neat/objectives/README.md +25 -25
  142. package/src/neat/objectives/core/README.md +67 -67
  143. package/src/neat/pruning/README.md +40 -40
  144. package/src/neat/pruning/core/README.md +171 -171
  145. package/src/neat/pruning/facade/README.md +32 -32
  146. package/src/neat/rng/README.md +104 -104
  147. package/src/neat/rng/core/README.md +137 -137
  148. package/src/neat/rng/facade/README.md +50 -50
  149. package/src/neat/selection/README.md +111 -111
  150. package/src/neat/selection/core/README.md +227 -227
  151. package/src/neat/selection/facade/README.md +61 -61
  152. package/src/neat/shared/README.md +163 -163
  153. package/src/neat/speciation/README.md +31 -31
  154. package/src/neat/speciation/threshold/README.md +35 -35
  155. package/src/neat/species/README.md +25 -25
  156. package/src/neat/species/core/README.md +20 -20
  157. package/src/neat/species/core/shared/README.md +18 -18
  158. package/src/neat/species/history/context/README.md +22 -22
  159. package/src/neat/telemetry/accessors/README.md +58 -58
  160. package/src/neat/telemetry/exports/README.md +233 -233
  161. package/src/neat/telemetry/facade/README.md +252 -252
  162. package/src/neat/telemetry/facade/archive/README.md +57 -57
  163. package/src/neat/telemetry/facade/buffer/README.md +43 -43
  164. package/src/neat/telemetry/facade/lineage/README.md +12 -12
  165. package/src/neat/telemetry/facade/objectives/README.md +44 -44
  166. package/src/neat/telemetry/facade/runtime/README.md +26 -26
  167. package/src/neat/telemetry/facade/species/README.md +27 -27
  168. package/src/neat/telemetry/metrics/README.md +696 -696
  169. package/src/neat/telemetry/recorder/README.md +57 -57
  170. package/src/neat/telemetry/types/README.md +32 -32
  171. package/src/neat/topology-intent/README.md +75 -75
  172. package/src/utils/README.md +193 -193
  173. package/test/examples/asciiMaze/browser-entry/README.md +92 -92
  174. package/test/examples/asciiMaze/dashboardManager/README.md +109 -109
  175. package/test/examples/asciiMaze/dashboardManager/telemetry/README.md +28 -28
  176. package/test/examples/asciiMaze/evolutionEngine/README.md +1527 -1527
  177. package/test/examples/asciiMaze/mazeMovement/README.md +105 -105
  178. package/test/examples/asciiMaze/mazeMovement/finalization/README.md +16 -16
  179. package/test/examples/asciiMaze/mazeMovement/policy/README.md +57 -57
  180. package/test/examples/asciiMaze/mazeMovement/runtime/README.md +52 -52
  181. package/test/examples/asciiMaze/mazeMovement/shaping/README.md +46 -46
  182. package/test/examples/flappy_bird/browser-entry/README.md +508 -508
  183. package/test/examples/flappy_bird/browser-entry/host/README.md +101 -101
  184. package/test/examples/flappy_bird/browser-entry/host/resize/README.md +144 -144
  185. package/test/examples/flappy_bird/browser-entry/network-view/README.md +194 -194
  186. package/test/examples/flappy_bird/browser-entry/playback/README.md +278 -278
  187. package/test/examples/flappy_bird/browser-entry/playback/background/README.md +129 -129
  188. package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/README.md +502 -502
  189. package/test/examples/flappy_bird/browser-entry/playback/frame-render/README.md +139 -139
  190. package/test/examples/flappy_bird/browser-entry/playback/snapshot/README.md +10 -10
  191. package/test/examples/flappy_bird/browser-entry/playback/trail/README.md +43 -43
  192. package/test/examples/flappy_bird/browser-entry/playback/worker-channel/README.md +30 -30
  193. package/test/examples/flappy_bird/browser-entry/runtime/README.md +59 -59
  194. package/test/examples/flappy_bird/browser-entry/visualization/README.md +276 -276
  195. package/test/examples/flappy_bird/browser-entry/worker-channel/README.md +16 -16
  196. package/test/examples/flappy_bird/constants/README.md +1070 -1070
  197. package/test/examples/flappy_bird/environment/README.md +22 -22
  198. package/test/examples/flappy_bird/evaluation/README.md +32 -32
  199. package/test/examples/flappy_bird/evaluation/rollout/README.md +141 -141
  200. package/test/examples/flappy_bird/flappy-evolution-worker/README.md +425 -425
  201. package/test/examples/flappy_bird/simulation-shared/README.md +170 -170
  202. package/test/examples/flappy_bird/simulation-shared/observation/README.md +109 -109
  203. package/test/examples/flappy_bird/trainer/README.md +325 -325
  204. package/test/examples/flappy_bird/trainer/evaluation/README.md +74 -74
  205. package/scripts/analyze-trace.ts +0 -590
  206. package/scripts/copy-examples.mjs +0 -114
  207. package/scripts/export-onnx.mjs +0 -86
  208. package/scripts/generate-bench-tables.mjs +0 -182
  209. package/scripts/generate-docs.ts +0 -2900
  210. package/scripts/write-dist-docs-pkg.mjs +0 -16
@@ -20,6 +20,13 @@ flowchart LR
20
20
 
21
21
  ## trainer/evaluation/trainer.evaluation.service.types.ts
22
22
 
23
+ ### PopulationAggregateScoringContext
24
+
25
+ Aggregate scoring context shared while computing frame-primary scores.
26
+
27
+ The context precomputes population-wide reference values so per-genome scoring
28
+ can stay simple and deterministic.
29
+
23
30
  ### PopulationStageEvaluationRequest
24
31
 
25
32
  Candidate-stage request used by the staged population evaluator.
@@ -32,52 +39,29 @@ This shape is intentionally stage-agnostic: quick, full, and reevaluation can
32
39
  all use the same execution helper by changing only candidate count, seed set,
33
40
  and rollout budget.
34
41
 
35
- ### PopulationAggregateScoringContext
36
-
37
- Aggregate scoring context shared while computing frame-primary scores.
38
-
39
- The context precomputes population-wide reference values so per-genome scoring
40
- can stay simple and deterministic.
41
-
42
42
  ## trainer/evaluation/trainer.evaluation.service.ts
43
43
 
44
- ### evaluatePopulationQuickStage
44
+ ### commitPopulationScores
45
45
 
46
46
  ```ts
47
- evaluatePopulationQuickStage(
47
+ commitPopulationScores(
48
48
  population: readonly FlappyTrainerNetwork[],
49
- generationEvaluationPlan: FlappyGenerationEvaluationPlan,
50
- aggregateByGenome: Map<FlappyTrainerNetwork, FlappySeedBatchEvaluation>,
51
- provisionalScoresByGenome: Map<FlappyTrainerNetwork, number>,
49
+ provisionalScoresByGenome: ReadonlyMap<FlappyTrainerNetwork, number>,
52
50
  ): void
53
51
  ```
54
52
 
55
- Executes the quick evaluation stage over the full population.
53
+ Commits provisional scores to genome score fields.
56
54
 
57
- Educational note:
58
- The quick stage is a cheap screening pass. Every genome is tested on the same
59
- small shared seed batch so the trainer can discard obviously weak candidates
60
- before spending more rollout budget on them.
55
+ Provisional scores are kept in a map during staging so each phase can refresh
56
+ them without mutating the genomes too early. This helper performs the final
57
+ write-back once staged evaluation is complete.
61
58
 
62
59
  Parameters:
63
60
  - `population` - - Current population.
64
- - `generationEvaluationPlan` - - Per-generation staged evaluation plan.
65
- - `aggregateByGenome` - - Mutable aggregate cache keyed by genome.
66
- - `provisionalScoresByGenome` - - Mutable provisional score map.
61
+ - `provisionalScoresByGenome` - - Final provisional score map.
67
62
 
68
63
  Returns: Nothing.
69
64
 
70
- Example:
71
-
72
- ```ts
73
- evaluatePopulationQuickStage(
74
- population,
75
- generationEvaluationPlan,
76
- aggregateByGenome,
77
- provisionalScoresByGenome,
78
- );
79
- ```
80
-
81
65
  ### evaluatePopulationFullStage
82
66
 
83
67
  ```ts
@@ -105,52 +89,68 @@ Parameters:
105
89
 
106
90
  Returns: Nothing.
107
91
 
108
- ### evaluatePopulationReevaluationStage
92
+ ### evaluatePopulationQuickStage
109
93
 
110
94
  ```ts
111
- evaluatePopulationReevaluationStage(
95
+ evaluatePopulationQuickStage(
112
96
  population: readonly FlappyTrainerNetwork[],
113
97
  generationEvaluationPlan: FlappyGenerationEvaluationPlan,
114
98
  aggregateByGenome: Map<FlappyTrainerNetwork, FlappySeedBatchEvaluation>,
115
99
  provisionalScoresByGenome: Map<FlappyTrainerNetwork, number>,
116
- elitismCount: number,
117
100
  ): void
118
101
  ```
119
102
 
120
- Executes the large-seed reevaluation stage over top candidates.
103
+ Executes the quick evaluation stage over the full population.
121
104
 
122
105
  Educational note:
123
- Reevaluation is the trainer's anti-luck pass. The best provisional genomes
124
- are tested again on a larger shared seed batch so leaderboard positions are
125
- less sensitive to a fortunate early sample.
106
+ The quick stage is a cheap screening pass. Every genome is tested on the same
107
+ small shared seed batch so the trainer can discard obviously weak candidates
108
+ before spending more rollout budget on them.
126
109
 
127
110
  Parameters:
128
111
  - `population` - - Current population.
129
112
  - `generationEvaluationPlan` - - Per-generation staged evaluation plan.
130
113
  - `aggregateByGenome` - - Mutable aggregate cache keyed by genome.
131
114
  - `provisionalScoresByGenome` - - Mutable provisional score map.
132
- - `elitismCount` - - Configured elitism count.
133
115
 
134
116
  Returns: Nothing.
135
117
 
136
- ### commitPopulationScores
118
+ Example:
137
119
 
138
120
  ```ts
139
- commitPopulationScores(
121
+ evaluatePopulationQuickStage(
122
+ population,
123
+ generationEvaluationPlan,
124
+ aggregateByGenome,
125
+ provisionalScoresByGenome,
126
+ );
127
+ ```
128
+
129
+ ### evaluatePopulationReevaluationStage
130
+
131
+ ```ts
132
+ evaluatePopulationReevaluationStage(
140
133
  population: readonly FlappyTrainerNetwork[],
141
- provisionalScoresByGenome: ReadonlyMap<FlappyTrainerNetwork, number>,
134
+ generationEvaluationPlan: FlappyGenerationEvaluationPlan,
135
+ aggregateByGenome: Map<FlappyTrainerNetwork, FlappySeedBatchEvaluation>,
136
+ provisionalScoresByGenome: Map<FlappyTrainerNetwork, number>,
137
+ elitismCount: number,
142
138
  ): void
143
139
  ```
144
140
 
145
- Commits provisional scores to genome score fields.
141
+ Executes the large-seed reevaluation stage over top candidates.
146
142
 
147
- Provisional scores are kept in a map during staging so each phase can refresh
148
- them without mutating the genomes too early. This helper performs the final
149
- write-back once staged evaluation is complete.
143
+ Educational note:
144
+ Reevaluation is the trainer's anti-luck pass. The best provisional genomes
145
+ are tested again on a larger shared seed batch so leaderboard positions are
146
+ less sensitive to a fortunate early sample.
150
147
 
151
148
  Parameters:
152
149
  - `population` - - Current population.
153
- - `provisionalScoresByGenome` - - Final provisional score map.
150
+ - `generationEvaluationPlan` - - Per-generation staged evaluation plan.
151
+ - `aggregateByGenome` - - Mutable aggregate cache keyed by genome.
152
+ - `provisionalScoresByGenome` - - Mutable provisional score map.
153
+ - `elitismCount` - - Configured elitism count.
154
154
 
155
155
  Returns: Nothing.
156
156
 
@@ -239,13 +239,6 @@ Fallback score assigned to genomes that have not yet been evaluated.
239
239
  Using negative infinity guarantees unevaluated genomes lose any ranking tie
240
240
  against genomes that already have real aggregate results.
241
241
 
242
- ### FLAPPY_TRAINER_NEGATIVE_INFINITY_SCORE
243
-
244
- Fallback score assigned to genomes that have not yet been evaluated.
245
-
246
- Using negative infinity guarantees unevaluated genomes lose any ranking tie
247
- against genomes that already have real aggregate results.
248
-
249
242
  ### FLAPPY_TRAINER_MIN_PIPE_PROGRESS
250
243
 
251
244
  Minimum pipe-progress baseline used when no aggregates are available.
@@ -253,6 +246,13 @@ Minimum pipe-progress baseline used when no aggregates are available.
253
246
  This keeps early-stage aggregate scoring well-defined even before any genome
254
247
  has established meaningful pipe progress.
255
248
 
249
+ ### FLAPPY_TRAINER_NEGATIVE_INFINITY_SCORE
250
+
251
+ Fallback score assigned to genomes that have not yet been evaluated.
252
+
253
+ Using negative infinity guarantees unevaluated genomes lose any ranking tie
254
+ against genomes that already have real aggregate results.
255
+
256
256
  ## trainer/evaluation/trainer.evaluation.service.utils.ts
257
257
 
258
258
  ### assignFramePrimaryScores
@@ -319,6 +319,26 @@ Parameters:
319
319
 
320
320
  Returns: Highest mean pipe-progress value.
321
321
 
322
+ ### resolvePopulationAggregateScoringContext
323
+
324
+ ```ts
325
+ resolvePopulationAggregateScoringContext(
326
+ population: readonly FlappyTrainerNetwork[],
327
+ aggregateByGenome: ReadonlyMap<FlappyTrainerNetwork, FlappySeedBatchEvaluation>,
328
+ ): PopulationAggregateScoringContext
329
+ ```
330
+
331
+ Resolves the aggregate scoring context used by frame-primary scoring.
332
+
333
+ This precomputation step keeps the per-genome scoring loop lean and avoids
334
+ recomputing population-wide maxima for every genome.
335
+
336
+ Parameters:
337
+ - `population` - - Current population.
338
+ - `aggregateByGenome` - - Aggregate cache keyed by genome.
339
+
340
+ Returns: Aggregate scoring context.
341
+
322
342
  ### scoreAggregateFramePrimary
323
343
 
324
344
  ```ts
@@ -340,23 +360,3 @@ Parameters:
340
360
  - `maximumMeanPipesPassed` - - Best mean pipe progress in the population.
341
361
 
342
362
  Returns: Provisional score.
343
-
344
- ### resolvePopulationAggregateScoringContext
345
-
346
- ```ts
347
- resolvePopulationAggregateScoringContext(
348
- population: readonly FlappyTrainerNetwork[],
349
- aggregateByGenome: ReadonlyMap<FlappyTrainerNetwork, FlappySeedBatchEvaluation>,
350
- ): PopulationAggregateScoringContext
351
- ```
352
-
353
- Resolves the aggregate scoring context used by frame-primary scoring.
354
-
355
- This precomputation step keeps the per-genome scoring loop lean and avoids
356
- recomputing population-wide maxima for every genome.
357
-
358
- Parameters:
359
- - `population` - - Current population.
360
- - `aggregateByGenome` - - Aggregate cache keyed by genome.
361
-
362
- Returns: Aggregate scoring context.