@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
@@ -0,0 +1,87 @@
1
+ # Generate Docs SOLID Split
2
+
3
+ **Status:** [DONE]
4
+
5
+ ## Scope
6
+
7
+ - Split the docs generator from the old flat [scripts/generate-docs.ts](../scripts/generate-docs/generate-docs.ts) boundary into a folder-owned module under `scripts/`.
8
+ - Keep the `docs:folders:*` CLI behavior stable by updating repo-local callers to the new built entrypoint instead of leaving a flat compatibility shim.
9
+ - Improve source readability with orchestration-first flow, focused helper ownership, and comprehensive JSDoc on the new exported surfaces.
10
+
11
+ ## Current state
12
+
13
+ - Split root: `scripts/generate-docs/`
14
+ - Nearest README reviewed: `n/a` (no `scripts/**/README.md` files currently exist)
15
+ - Parent README reviewed: `n/a`
16
+ - Relevant plan: [plans/neat-docs.plans.md](../plans/neat-docs.plans.md)
17
+ - Adjacent reference checked: [plans/architecture-solid-split.plans.md](../plans/architecture-solid-split.plans.md)
18
+ - Current boundary: the root entrypoint now delegates to focused chapter files for targets, symbols, ordering, output, constants, state, and shared contracts.
19
+ - Active split frontier: `generate-docs.symbols.ts` and `generate-docs.output.ts` have each grown into their own responsibility clusters and now need direct-path subfolderization.
20
+
21
+ ## Durable rules
22
+
23
+ - Keep exactly one active workstream section.
24
+ - Prefer direct-path migration to `scripts/generate-docs/generate-docs.ts`; do not leave a flat shim unless a real compatibility need appears.
25
+ - Do not hand-edit generated README files as part of this split.
26
+ - Run docs-tooling validation after the split because this boundary feeds `npm run docs`.
27
+
28
+ ## Target shape
29
+
30
+ - `scripts/generate-docs/generate-docs.ts` owns CLI orchestration.
31
+ - `scripts/generate-docs/generate-docs.types.ts` owns shared docs-generator contracts.
32
+ - `scripts/generate-docs/generate-docs.constants.ts` owns stable constants and target definitions.
33
+ - `scripts/generate-docs/generate-docs.state.ts` owns shared ts-morph and docs-order cache state.
34
+ - `scripts/generate-docs/generate-docs.targets.ts` owns target resolution and source-tree preparation.
35
+ - `scripts/generate-docs/generate-docs.symbols.ts` owns symbol collection, JSDoc extraction, and dedupe rules.
36
+ - `scripts/generate-docs/generate-docs.order.ts` owns `docs.order.json` loading, validation, caching, and warnings.
37
+ - `scripts/generate-docs/generate-docs.output.ts` owns README rendering, folder-index rendering, and file emission.
38
+
39
+ ## Coverage backlog
40
+
41
+ ### [DONE] Generator root split
42
+
43
+ - Landed the folder-owned module at [scripts/generate-docs/generate-docs.ts](../scripts/generate-docs/generate-docs.ts) with dedicated chapter files for constants, types, state, targets, symbols, ordering, and output.
44
+ - Retargeted the repo-local docs scripts to `dist-docs/scripts/generate-docs/generate-docs.js` so the split uses direct-path migration with no flat compatibility shim.
45
+ - Updated the existing plan references that pointed at the deleted flat script path.
46
+ - Completed the required educational-docs follow-up by adding chapter-level source introductions to the new files so maintainers can read the split as a guided boundary map instead of a raw helper shelf.
47
+
48
+ ### [DONE] Symbols and output chapter split
49
+
50
+ - Reopen the generator boundary to move `generate-docs.symbols.ts` into `scripts/generate-docs/symbols/` and `generate-docs.output.ts` into `scripts/generate-docs/output/`.
51
+ - Keep direct-path migration: update repo-local imports to the new subfolder entrypoints and delete the flat files after validations pass.
52
+ - Keep the new chapter roots orchestration-first, with narrower helper files for collection/rendering/signature work in the symbols boundary and README/index ordering work in the output boundary.
53
+ - Completed the direct-path move into `scripts/generate-docs/symbols/` and `scripts/generate-docs/output/`, removed the flat chapter files, and retargeted the root generator imports to the new nested entrypoints.
54
+ - Fixed the post-split behavioral regressions in the output boundary so `introFile` once again controls directory intro promotion and folder-index nodes keep correct source and link paths.
55
+ - Completed the mandatory educational-docs follow-up with contract-level JSDoc covering signature storage, file-summary precedence, intro promotion, and fallback ordering.
56
+
57
+ ## Validation
58
+
59
+ - Completed in prior step:
60
+ - `npm run docs:build-scripts`
61
+ - `npm run docs`
62
+ - `npm run docs:build-scripts` after the educational-docs follow-up
63
+ - Completed for this step:
64
+ - `npm run docs:build-scripts`
65
+ - `npm run docs`
66
+ - `npm run docs:build-scripts` after the post-validation educational-docs follow-up
67
+
68
+ ## Immediate next steps
69
+
70
+ - No further split work is queued in this boundary right now.
71
+ - Future work, if needed, should start from the nested `symbols/` and `output/` folders rather than recreating flat chapter files.
72
+
73
+ ## Handoff query
74
+
75
+ ```text
76
+ Continue docs-tooling work from the current repo state only. Do not rely on prior chat history.
77
+
78
+ Plan: plans/generate-docs-solid-split.plans.md
79
+ Current boundary: scripts/generate-docs/
80
+ Repo standard: migrate directly to scripts/generate-docs/generate-docs.ts with no compatibility shim by default, and keep the split in small responsibility chapters.
81
+ Small-chapter standard: this applies to scripts and tooling boundaries too, not only library code.
82
+ Already covered: the old flat generator script was removed, package.json now points at dist-docs/scripts/generate-docs/generate-docs.js, and the current root chapter files own targets, symbols, ordering, output, state, constants, and types.
83
+ Next task if this boundary reopens: continue from the nested scripts/generate-docs/symbols/ and scripts/generate-docs/output/ folders, preserving direct-path imports and the current docs-order behavior.
84
+ Required validations: npm run docs:build-scripts, npm run docs.
85
+ Worktree caution: .github/copilot-instructions.md may already have unrelated local edits.
86
+ Continue from the current repo state only. Do not rely on prior chat history.
87
+ ```
@@ -8,10 +8,12 @@ This plan tracks educational-docs passes for the shared method vocabulary under
8
8
  [src/methods/README.md](../src/methods/README.md).
9
9
 
10
10
  Primary reader:
11
+
11
12
  - readers who want the reusable training and evolutionary method families to
12
13
  read like a guided policy shelf rather than a raw export list.
13
14
 
14
15
  Primary surfaces:
16
+
15
17
  - [src/methods/methods.ts](../src/methods/methods.ts)
16
18
  - [src/methods/cost/cost.ts](../src/methods/cost/cost.ts)
17
19
  - [src/methods/rate/rate.ts](../src/methods/rate/rate.ts)
@@ -25,10 +27,12 @@ Primary surfaces:
25
27
  ### Methods root chapter pass
26
28
 
27
29
  Goals:
30
+
28
31
  - Make the generated [src/methods/README.md](../src/methods/README.md) open as
29
32
  a guided chapter instead of a raw export list.
30
33
 
31
34
  Progress:
35
+
32
36
  - Added a barrel-led introduction in
33
37
  [src/methods/methods.ts](../src/methods/methods.ts) so the chapter now opens
34
38
  with the shared method-family map.
@@ -38,18 +42,21 @@ Progress:
38
42
  framing and diagram-justified guidance.
39
43
 
40
44
  Decision:
45
+
41
46
  - Keep future methods work proportional and continue one family chapter at a
42
47
  time rather than reopening the entire folder.
43
48
 
44
49
  ### Activation chapter pass
45
50
 
46
51
  Goals:
52
+
47
53
  - Make the activation family read more like a chooser and less like a flat
48
54
  list of transfer-curve helpers.
49
55
  - Tighten the older symbol-level prose in the utility shelf without changing
50
56
  runtime behavior.
51
57
 
52
58
  Progress:
59
+
53
60
  - Added a compact family map in
54
61
  [src/methods/activation/activation.ts](../src/methods/activation/activation.ts)
55
62
  so the generated activation chapter shows the main activation clusters before
@@ -61,18 +68,21 @@ Progress:
61
68
  transforms.
62
69
 
63
70
  Decision:
71
+
64
72
  - Leave the deeper per-symbol registry cleanup for a later polish pass and keep
65
73
  moving through the thin structural chapters one family at a time.
66
74
 
67
75
  ### Gating chapter pass
68
76
 
69
77
  Goals:
78
+
70
79
  - Make the gating family read like a structural chooser instead of a short
71
80
  constant shelf.
72
81
  - Clarify how `INPUT`, `OUTPUT`, and `SELF` differ so readers can pick a gate
73
82
  position by intent instead of memorizing names.
74
83
 
75
84
  Progress:
85
+
76
86
  - Reframed [src/methods/gating/gating.ts](../src/methods/gating/gating.ts)
77
87
  around the placement question the family answers, with stronger source-first
78
88
  chooser guidance for the three gate positions.
@@ -80,6 +90,7 @@ Progress:
80
90
  surface each option creates and includes a minimal example for quick recall.
81
91
 
82
92
  Remaining gaps:
93
+
83
94
  - The sibling structural family for connection policies is still thinner than
84
95
  the rest of the methods shelf and likely needs the same chapter-first framing.
85
96
  - If the methods root chapter gets another pass later, its short gating summary
@@ -87,18 +98,21 @@ Remaining gaps:
87
98
  connection pass.
88
99
 
89
100
  Next step:
101
+
90
102
  - Move to the connection family next and give its structural wiring vocabulary
91
103
  the same chooser-first treatment used for gating.
92
104
 
93
105
  ### Connection chapter pass
94
106
 
95
107
  Goals:
108
+
96
109
  - Make the connection family read like a wiring-policy chooser instead of a
97
110
  terse list of topology names.
98
111
  - Clarify when dense connectivity, dense-without-self-links, and one-to-one
99
112
  alignment are the right structural defaults.
100
113
 
101
114
  Progress:
115
+
102
116
  - Reframed [src/methods/connection/connection.ts](../src/methods/connection/connection.ts)
103
117
  around the structural question the family answers, with stronger source-first
104
118
  guidance for the three built-in wiring patterns.
@@ -107,12 +121,14 @@ Progress:
107
121
  recall.
108
122
 
109
123
  Remaining gaps:
124
+
110
125
  - The thin structural families are now better aligned, so future work here is
111
126
  more likely to be polish than rescue.
112
127
  - If the methods root chapter gets another pass later, its short structural
113
128
  summaries for both gating and connection can be harmonized again for tone.
114
129
 
115
130
  Next step:
131
+
116
132
  - Re-read the methods root chapter and decide whether the next highest-value
117
133
  pass is a small root-summary alignment pass or a deeper polish pass on one of
118
134
  the larger method families.
@@ -120,12 +136,14 @@ Next step:
120
136
  ### Methods root alignment pass
121
137
 
122
138
  Goals:
139
+
123
140
  - Re-align the root methods introduction so its structural summary matches the
124
141
  stronger gating and connection chapters.
125
142
  - Keep the top-level chapter compact while making the difference between
126
143
  routing control and wiring layout explicit.
127
144
 
128
145
  Progress:
146
+
129
147
  - Tightened [src/methods/methods.ts](../src/methods/methods.ts) so the root
130
148
  chapter now describes `gating` and `groupConnection` as different parts of
131
149
  the structural vocabulary instead of bundling them together too loosely.
@@ -134,24 +152,28 @@ Progress:
134
152
  opening stays compact and source-first.
135
153
 
136
154
  Remaining gaps:
155
+
137
156
  - The methods root is now aligned with the thin structural chapters, so the
138
157
  next useful pass is more likely to be selective polish than root framing.
139
158
  - Larger families such as mutation or rate may still benefit from later
140
159
  refinement, but they no longer block the root chapter from reading clearly.
141
160
 
142
161
  Next step:
162
+
143
163
  - Choose the next highest-value polish pass among the larger method families,
144
164
  or stop here if the methods shelf is sufficiently aligned for now.
145
165
 
146
166
  ### Rate and mutation polish pass
147
167
 
148
168
  Goals:
169
+
149
170
  - Smooth the generated docs for two larger method-adjacent chapters without
150
171
  reopening their runtime behavior.
151
172
  - Remove remaining generated-doc rough edges such as duplicated framing and
152
173
  awkward parameter prose.
153
174
 
154
175
  Progress:
176
+
155
177
  - Tightened [src/methods/rate/rate.ts](../src/methods/rate/rate.ts) so the
156
178
  class-level chapter no longer repeats the full module opening and instead
157
179
  acts like a practical chooser for schedule builders.
@@ -164,10 +186,12 @@ Progress:
164
186
  generated mutation chapter reads less like raw annotation output.
165
187
 
166
188
  Decision:
189
+
167
190
  - Stop the methods documentation lane here for now; the root and the highest-
168
191
  leverage family chapters now read coherently enough that further work is
169
192
  polish, not structural rescue.
170
193
 
171
194
  Next step:
195
+
172
196
  - Pause this plan and revisit only if a later docs pass exposes a specific
173
- regression, stale generated wording, or a newly expanded method family.
197
+ regression, stale generated wording, or a newly expanded method family.
@@ -43,31 +43,31 @@ each concept into its own folder-based boundary.
43
43
  ## Latest Pass
44
44
 
45
45
  - Folderized the methods surface into chapter folders for `activation`, `cost`,
46
- `rate`, `selection`, `mutation`, `crossover`, `gating`, and `connection`.
46
+ `rate`, `selection`, `mutation`, `crossover`, `gating`, and `connection`.
47
47
  - Migrated repo-local imports to direct folder paths and removed the stale flat
48
- `src/methods/mutation.ts` file that was still being compiled after the move.
48
+ `src/methods/mutation.ts` file that was still being compiled after the move.
49
49
  - Updated `src/methods/methods.ts` to remain the root public facade and updated
50
- root ordering via `src/methods/docs.order.json`.
50
+ root ordering via `src/methods/docs.order.json`.
51
51
  - Added chapter-level ordering configs for `activation`, `cost`, and `rate` so
52
- their nested READMEs open from the public facade files rather than utility
53
- helpers.
52
+ their nested READMEs open from the public facade files rather than utility
53
+ helpers.
54
54
  - Updated `.github/skills/educational-docs/SKILL.md` so oversized generated
55
- folder READMEs now point toward `solid-split` instead of continuing to grow
56
- monolithically.
55
+ folder READMEs now point toward `solid-split` instead of continuing to grow
56
+ monolithically.
57
57
  - Regenerated docs and verified the generated openings for
58
- `src/methods/README.md`, `src/methods/activation/README.md`,
59
- `src/methods/cost/README.md`, and `src/methods/rate/README.md`.
58
+ `src/methods/README.md`, `src/methods/activation/README.md`,
59
+ `src/methods/cost/README.md`, and `src/methods/rate/README.md`.
60
60
  - Final validation completed with `npm run docs` and
61
- `npx tsc --noEmit -p tsconfig.json`.
61
+ `npx tsc --noEmit -p tsconfig.json`.
62
62
 
63
63
  ## Handoff State
64
64
 
65
65
  - The split is complete and the root methods README now reads as a chapter map
66
- rather than a monolithic flat file dump.
66
+ rather than a monolithic flat file dump.
67
67
  - Nested method READMEs are generated from source-first JSDoc and should be
68
- maintained by editing the owning source files, not the generated READMEs.
68
+ maintained by editing the owning source files, not the generated READMEs.
69
69
  - If a future methods family starts to feel oversized again, prefer another
70
- bounded folder split over expanding the root README.
70
+ bounded folder split over expanding the root README.
71
71
 
72
72
  ## Done Criteria
73
73
 
@@ -75,4 +75,4 @@ each concept into its own folder-based boundary.
75
75
  - Repo-local imports point at the new direct folder paths.
76
76
  - `src/methods/README.md` becomes smaller because chapter content moves into nested folder READMEs.
77
77
  - The educational-docs skill explicitly points large monolithic README surfaces toward `solid-split`.
78
- - The boundary can be resumed safely from this plan alone.
78
+ - The boundary can be resumed safely from this plan alone.
@@ -9,13 +9,16 @@ The source of truth is the generated documentation fed by [src/neat.ts](../src/n
9
9
  which renders into [src/README.md](../src/README.md) after `npm run docs`.
10
10
 
11
11
  Primary reader:
12
+
12
13
  - first-time NeatapticTS readers who want to understand how the top-level NEAT controller works before diving into chaptered internals.
13
14
 
14
15
  Primary surfaces:
16
+
15
17
  - [src/neat.ts](../src/neat.ts)
16
18
  - [src/README.md](../src/README.md)
17
19
 
18
20
  Out of scope for this pass:
21
+
19
22
  - hand-editing generated READMEs under `src/`
20
23
  - adding external images or citations unless a concrete teaching gap requires them
21
24
  - broad rewrites of every `src/neat/**` chapter README
@@ -29,21 +32,26 @@ Out of scope for this pass:
29
32
  ## Session Log
30
33
 
31
34
  ### Foundation
35
+
32
36
  - Strengthened [src/neat.ts](../src/neat.ts) so the generated root story in [src/README.md](../src/README.md) reads as a clearer controller overview.
33
37
 
34
38
  ### Generator follow-up
35
- - The docs generator work is complete enough for now: [scripts/generate-docs.ts](../scripts/generate-docs.ts) supports per-folder ordering controls through `docs.order.json`, and the shared-speciation pilot is already live in [src/neat/speciation/shared/docs.order.json](../src/neat/speciation/shared/docs.order.json).
39
+
40
+ - The docs generator work is complete enough for now: [scripts/generate-docs/generate-docs.ts](../scripts/generate-docs/generate-docs.ts) supports per-folder ordering controls through `docs.order.json`, and the shared-speciation pilot is already live in [src/neat/speciation/shared/docs.order.json](../src/neat/speciation/shared/docs.order.json).
36
41
 
37
42
  ### Latest completed chapter work
43
+
38
44
  - Recent source-first passes strengthened [src/neat/shared/neat.shared.types.ts](../src/neat/shared/neat.shared.types.ts), [src/neat/neat.constants.ts](../src/neat/neat.constants.ts), [src/neat/cache/cache.ts](../src/neat/cache/cache.ts), [src/neat/compat/compat.ts](../src/neat/compat/compat.ts), [src/neat/harness/neat.harness.types.ts](../src/neat/harness/neat.harness.types.ts), [src/neat/init/neat.init.ts](../src/neat/init/neat.init.ts), [src/neat/helpers/neat.helpers.ts](../src/neat/helpers/neat.helpers.ts), and [src/neat/rng/rng.ts](../src/neat/rng/rng.ts); the RNG root now distinguishes caller-owned randomness from controller-owned replay state more explicitly, and the root [src/README.md](../src/README.md) plus [src/neat.ts](../src/neat.ts) story still holds up against the current pedagogical standard. Docs regeneration and TypeScript validation should be kept on every new pass.
39
45
  - A bounded root-surface polish split then moved the root compatibility alias shelf into [src/neat/neat.types.ts](../src/neat/neat.types.ts), moved the public defaults shelf into [src/neat/neat.defaults.constants.ts](../src/neat/neat.defaults.constants.ts), and centralized the empty diversity fallback in [src/neat/diversity/diversity.ts](../src/neat/diversity/diversity.ts); [src/README.md](../src/README.md) still presents the stable public root story while [src/neat/README.md](../src/neat/README.md) now carries the deeper root-types and root-defaults chapter docs.
40
46
 
41
47
  Remaining gaps:
48
+
42
49
  - Most remaining weaknesses are now small chapter-quality revisits, not untouched surfaces.
43
50
  - Generator limits still show up in some larger or re-export-heavy chapters, so only use `docs.order.json` when ordering is the real blocker.
44
51
  - Keep prioritizing compact runtime, facade, or policy boundaries that still read more like shelves than chapters.
45
52
 
46
53
  Next step:
54
+
47
55
  - Re-read [src/neat/lineage/README.md](../src/neat/lineage/README.md) and [src/neat/lineage/lineage.ts](../src/neat/lineage/lineage.ts) to decide whether the lineage root is now the next weakest compact controller-facing boundary after the RNG pass.
48
56
 
49
57
  ## Handoff Prompt
@@ -35,4 +35,4 @@ features and root helper facades compile against the existing test suite.
35
35
  ```text
36
36
  Continue from the current repo state only. Do not rely on prior chat history.
37
37
  The NEAT public-surface repair tracked in plans/neat-test-surface-repair.plans.md is complete. Do not make further NEAT-surface changes unless new evidence appears. If follow-up work is needed, start a separate pass for the remaining TypeScript diagnostics under test/examples/asciiMaze/**. Preserve unrelated user changes.
38
- ```
38
+ ```
@@ -0,0 +1,68 @@
1
+ # Render Docs HTML SOLID Split
2
+
3
+ **Status:** [DONE]
4
+
5
+ ## Scope
6
+
7
+ - Consolidate the HTML docs renderer into a folder-owned boundary rooted at `scripts/render-docs-html/`.
8
+ - Keep `scripts/render-docs-html.ts` as the stable orchestration entrypoint.
9
+ - Remove the flat `scripts/render-docs-html.sidebar.ts` file once the new direct-path chapter imports are in place.
10
+ - Improve link correctness, sidebar clarity, and docs UX where those issues are exposed by the split.
11
+
12
+ ## Current state
13
+
14
+ - Split root: `scripts/render-docs-html/` with `scripts/render-docs-html.ts` as the stable orchestration entrypoint
15
+ - README inventory for `scripts/`: none under `scripts/**/README.md`
16
+ - Relevant plan: [plans/Interactive_Examples_and_Learning_Path.md](../plans/Interactive_Examples_and_Learning_Path.md)
17
+ - Relevant repo memory: `/memories/repo/scripts_docs_sidebar_boundary.md`
18
+ - Stable entrypoint: `scripts/render-docs-html.ts`
19
+ - Landed chapter files:
20
+ - `render-docs-html.assets.ts`
21
+ - `render-docs-html.mermaid.ts`
22
+ - `render-docs-html.navigation.ts`
23
+ - `render-docs-html.pages.ts`
24
+ - `render-docs-html.shared.ts`
25
+ - `render-docs-html.types.ts`
26
+ - Closed issues in this step:
27
+ - nested docs content links now resolve through compiled docs targets or repository URLs instead of remaining raw repo-relative hrefs,
28
+ - deep sidebar labels now use clearer formatted names instead of collapsing to ambiguous leaf-only segments,
29
+ - examples-first showcase now collapses to a lighter compact mode away from onboarding/example surfaces.
30
+
31
+ ## Coverage backlog
32
+
33
+ ### [DONE] Consolidated renderer folder split
34
+
35
+ - Created `scripts/render-docs-html/` with focused chapters for shared helpers, navigation, Mermaid handling, page rendering, static assets, and shared contracts.
36
+ - Kept `scripts/render-docs-html.ts` orchestration-first and moved the heavy logic behind direct chapter imports.
37
+ - Deleted `scripts/render-docs-html.sidebar.ts` after the direct-path migration landed.
38
+ - Folded link-rewrite fixes and targeted sidebar UX improvements into the same step.
39
+
40
+ ### [DONE] Educational docs follow-up
41
+
42
+ - Completed the required `educational-docs` follow-up on the touched renderer boundary.
43
+ - Strengthened chapter-level documentation and shared type descriptions so the renderer reads as an intentional docs-tooling subsystem rather than a loose helper shelf.
44
+
45
+ ## Validation
46
+
47
+ - File diagnostics: clean for `scripts/render-docs-html.ts` and all files under `scripts/render-docs-html/`.
48
+ - `npm run docs`: passed.
49
+
50
+ ## Immediate next steps
51
+
52
+ - No further split work is queued for this boundary right now.
53
+ - Future work should start from `scripts/render-docs-html/` and preserve `scripts/render-docs-html.ts` as the stable entrypoint.
54
+
55
+ ## Handoff query
56
+
57
+ ```text
58
+ Continue from the current repo state only. Do not rely on prior chat history.
59
+
60
+ Use solid-split for #file:render-docs-html.ts and #file:render-docs-html.sidebar.ts.
61
+ Plan: plans/render-docs-html-solid-split.plans.md.
62
+ Current boundary: scripts/render-docs-html.
63
+ Completed context: scripts has no local README surface, the stable entrypoint remains scripts/render-docs-html.ts, the old flat sidebar file is deleted, and the folder boundary now owns assets, Mermaid handling, navigation, shared helpers, page rendering, and shared contracts.
64
+ If this boundary reopens: continue from the folderized renderer, preserving the improved content-link rewriting and the lighter examples/sidebar behavior instead of recreating flat helper files.
65
+ Repo standard: direct-path migration with no compatibility shims by default, and the small-chapter README pattern applies to scripts/tooling boundaries too.
66
+ Required validations: file diagnostics for touched files, then npm run docs.
67
+ Worktree caution: npm run docs rewrites generated docs outputs and there may already be unrelated generated-file drift in the worktree.
68
+ ```
@@ -172,4 +172,4 @@ Current repo state:
172
172
  Next target:
173
173
  - No active target in this lane. Reopen only if future edits reintroduce explicit-any debt or new broad lint drift into `src/`.
174
174
  - If reopened, begin with a fresh raw scan, `npx eslint src`, and `npx tsc --noEmit -p tsconfig.json` before selecting a new target.
175
- ```
175
+ ```
@@ -8,10 +8,12 @@ This plan tracks educational-docs passes for the small shared utility surfaces
8
8
  under [src/utils/README.md](../src/utils/README.md).
9
9
 
10
10
  Primary reader:
11
+
11
12
  - readers who want to understand support utilities as teaching tools rather
12
13
  than as unframed implementation leftovers.
13
14
 
14
15
  Primary surfaces:
16
+
15
17
  - [src/utils/memory.ts](../src/utils/memory.ts)
16
18
  - [src/utils/memory.utils.ts](../src/utils/memory.utils.ts)
17
19
  - [src/utils/README.md](../src/utils/README.md)
@@ -19,6 +21,7 @@ Primary surfaces:
19
21
  ## Session Log
20
22
 
21
23
  ### Latest completed chapter work
24
+
22
25
  - Strengthened the root [src/utils/memory.ts](../src/utils/memory.ts) opening so
23
26
  the generated [src/utils/README.md](../src/utils/README.md) now explains why
24
27
  heuristic memory instrumentation exists, which questions it answers, and how
@@ -33,12 +36,14 @@ Primary surfaces:
33
36
  blocking global docs generation.
34
37
 
35
38
  Remaining gaps:
39
+
36
40
  - The `src/utils` folder is now small and reasonably aligned; future work here
37
41
  is more likely to be refinement than rescue.
38
42
  - If additional utility modules are added later, keep this plan focused on
39
43
  chapter quality instead of growing a long historical log.
40
44
 
41
45
  Next step:
46
+
42
47
  - Move to the next small cross-cutting folder that still reads more like a
43
48
  helper shelf than a chapter, using [src/utils/README.md](../src/utils/README.md)
44
- as the quality bar for support modules.
49
+ as the quality bar for support modules.