@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
@@ -16,109 +16,107 @@ canvas helpers.
16
16
 
17
17
  ## browser-entry/network-view/network-view.ts
18
18
 
19
- ### drawNetworkVisualization
19
+ ### clampRecommendedNetworkHeightPx
20
20
 
21
21
  ```ts
22
- drawNetworkVisualization(
23
- context: CanvasRenderingContext2D,
24
- network: default | undefined,
25
- inputSize: number,
26
- outputSize: number,
27
- ): void
22
+ clampRecommendedNetworkHeightPx(
23
+ recommendedHeightPx: number,
24
+ ): number
28
25
  ```
29
26
 
30
- Draws a complete, layer-based visualization of the active network.
31
-
32
- Conceptually, this is the main fold from network object to finished panel:
33
- resolve scene state, compute layout, paint the graph, then paint overlays.
27
+ Clamps a recommended network height into the configured panel range.
34
28
 
35
29
  Parameters:
36
- - `context` - - Canvas 2D drawing context.
37
- - `network` - - Network to visualize.
38
- - `inputSize` - - Input-layer size.
39
- - `outputSize` - - Output-layer size.
30
+ - `recommendedHeightPx` - - Recommended panel height.
40
31
 
41
- Returns: Nothing.
32
+ Returns: Clamped panel height.
42
33
 
43
- Example:
34
+ ### createPositionByNodeIndex
44
35
 
45
36
  ```ts
46
- drawNetworkVisualization(networkContext, bestNetwork, 38, 2);
37
+ createPositionByNodeIndex(
38
+ centeredPositionedNodes: PositionedNetworkNodeLike[],
39
+ ): Map<number, PositionedNetworkNodeLike>
47
40
  ```
48
41
 
49
- ### resolveNetworkVisualizationHeightPx
42
+ Builds a node-index lookup map for resolved positioned nodes.
43
+
44
+ Parameters:
45
+ - `centeredPositionedNodes` - - Positioned nodes after centering.
46
+
47
+ Returns: Map keyed by node index.
48
+
49
+ ### drawNetworkVisualization
50
50
 
51
51
  ```ts
52
- resolveNetworkVisualizationHeightPx(
52
+ drawNetworkVisualization(
53
+ context: CanvasRenderingContext2D,
53
54
  network: default | undefined,
54
55
  inputSize: number,
55
56
  outputSize: number,
56
- ): number
57
+ ): void
57
58
  ```
58
59
 
59
- Resolves responsive visualization canvas height from network shape.
60
+ Draws a complete, layer-based visualization of the active network.
60
61
 
61
- Dense or deeper networks need more vertical room to stay readable, so panel
62
- height is driven by topology rather than fixed to a single constant.
62
+ Conceptually, this is the main fold from network object to finished panel:
63
+ resolve scene state, compute layout, paint the graph, then paint overlays.
63
64
 
64
65
  Parameters:
66
+ - `context` - - Canvas 2D drawing context.
65
67
  - `network` - - Network to visualize.
66
68
  - `inputSize` - - Input-layer size.
67
69
  - `outputSize` - - Output-layer size.
68
70
 
69
- Returns: Recommended height in pixels.
71
+ Returns: Nothing.
70
72
 
71
73
  Example:
72
74
 
73
75
  ```ts
74
- const recommendedHeightPx = resolveNetworkVisualizationHeightPx(network, 38, 2);
76
+ drawNetworkVisualization(networkContext, bestNetwork, 38, 2);
75
77
  ```
76
78
 
77
- ### resolveNetworkArchitectureLabel
79
+ ### drawPositionedNetworkGraph
78
80
 
79
81
  ```ts
80
- resolveNetworkArchitectureLabel(
81
- network: default | undefined,
82
- inputSize: number,
83
- outputSize: number,
84
- ): string
82
+ drawPositionedNetworkGraph(
83
+ context: CanvasRenderingContext2D,
84
+ networkVisualizationScene: NetworkVisualizationScene,
85
+ positionedNetworkGraphScene: PositionedNetworkGraphScene,
86
+ ): void
85
87
  ```
86
88
 
87
- Resolves compact architecture label text for headers and HUD rows.
88
-
89
- The label compresses the active network into a short human-readable summary:
90
- input size, hidden-layer structure, output size, and graph size metadata.
89
+ Draws the positioned graph layers and optional guide overlays.
91
90
 
92
91
  Parameters:
93
- - `network` - - Network to describe.
94
- - `inputSize` - - Configured input size.
95
- - `outputSize` - - Configured output size.
92
+ - `context` - - Canvas 2D drawing context.
93
+ - `networkVisualizationScene` - - Frame scene context.
94
+ - `positionedNetworkGraphScene` - - Positioned graph scene.
96
95
 
97
- Returns: Readable architecture label.
96
+ Returns: Nothing.
98
97
 
99
- ### resolveNetworkVisualizationScene
98
+ ### formatArchitectureLabel
100
99
 
101
100
  ```ts
102
- resolveNetworkVisualizationScene(
103
- context: CanvasRenderingContext2D,
104
- network: default | undefined,
105
- inputSize: number,
106
- outputSize: number,
107
- ): NetworkVisualizationScene
101
+ formatArchitectureLabel(
102
+ architectureInputSize: number,
103
+ hiddenLayersLabel: string,
104
+ architectureOutputSize: number,
105
+ totalNodeCount: number,
106
+ totalConnectionCount: number,
107
+ ): string
108
108
  ```
109
109
 
110
- Resolves all non-topology canvas state needed to draw the network view.
111
-
112
- This separates frame-scene concerns such as canvas size, overlays, and color
113
- scales from the later graph-topology layout step.
110
+ Formats the two-line architecture label used by the header and legend.
114
111
 
115
112
  Parameters:
116
- - `context` - - Canvas 2D drawing context.
117
- - `network` - - Network to visualize.
118
- - `inputSize` - - Input-layer size.
119
- - `outputSize` - - Output-layer size.
113
+ - `architectureInputSize` - - Input layer size.
114
+ - `hiddenLayersLabel` - - Hidden-layer description.
115
+ - `architectureOutputSize` - - Output layer size.
116
+ - `totalNodeCount` - - Total node count.
117
+ - `totalConnectionCount` - - Total connection count.
120
118
 
121
- Returns: Scene context for the current frame.
119
+ Returns: Formatted architecture label.
122
120
 
123
121
  ### paintNetworkVisualizationCanvasBase
124
122
 
@@ -137,45 +135,28 @@ Parameters:
137
135
 
138
136
  Returns: Nothing.
139
137
 
140
- ### resolvePositionedNetworkGraphScene
141
-
142
- ```ts
143
- resolvePositionedNetworkGraphScene(
144
- networkVisualizationScene: NetworkVisualizationScene,
145
- network: default | undefined,
146
- inputSize: number,
147
- outputSize: number,
148
- ): PositionedNetworkGraphScene
149
- ```
150
-
151
- Resolves positioned nodes, connection lookup state, and shared node dimensions.
152
-
153
- Parameters:
154
- - `networkVisualizationScene` - - Frame scene context.
155
- - `network` - - Network to visualize.
156
- - `inputSize` - - Input-layer size.
157
- - `outputSize` - - Output-layer size.
158
-
159
- Returns: Positioned graph scene.
160
-
161
- ### drawPositionedNetworkGraph
138
+ ### resolveAdjustedGraphPaddingContext
162
139
 
163
140
  ```ts
164
- drawPositionedNetworkGraph(
141
+ resolveAdjustedGraphPaddingContext(
165
142
  context: CanvasRenderingContext2D,
166
- networkVisualizationScene: NetworkVisualizationScene,
167
- positionedNetworkGraphScene: PositionedNetworkGraphScene,
168
- ): void
143
+ network: default | undefined,
144
+ canvasWidthPx: number,
145
+ hideNetworkOverlays: boolean,
146
+ graphPaddingContext: NetworkGraphPaddingContext,
147
+ ): Pick<NetworkGraphPaddingContext, "graphLeftPaddingPx" | "graphRightPaddingPx">
169
148
  ```
170
149
 
171
- Draws the positioned graph layers and optional guide overlays.
150
+ Adjusts graph-side padding to keep the floating legend from overlapping nodes.
172
151
 
173
152
  Parameters:
174
153
  - `context` - - Canvas 2D drawing context.
175
- - `networkVisualizationScene` - - Frame scene context.
176
- - `positionedNetworkGraphScene` - - Positioned graph scene.
154
+ - `network` - - Network to visualize.
155
+ - `canvasWidthPx` - - Canvas width.
156
+ - `hideNetworkOverlays` - - Whether overlays are hidden.
157
+ - `graphPaddingContext` - - Base graph padding context.
177
158
 
178
- Returns: Nothing.
159
+ Returns: Adjusted graph padding context.
179
160
 
180
161
  ### resolveBaseGraphPaddingContext
181
162
 
@@ -187,45 +168,44 @@ Resolves the base graph padding before legend-aware adjustments are applied.
187
168
 
188
169
  Returns: Base graph padding context.
189
170
 
190
- ### shouldHideNetworkOverlays
171
+ ### resolveHiddenLayersLabel
191
172
 
192
173
  ```ts
193
- shouldHideNetworkOverlays(
194
- context: CanvasRenderingContext2D,
195
- fallbackViewportWidthPx: number,
196
- ): boolean
174
+ resolveHiddenLayersLabel(
175
+ hiddenLayerSizes: number[],
176
+ architectureSource: "layer-metadata" | "graph-topology" | "inferred",
177
+ ): string
197
178
  ```
198
179
 
199
- Determines whether responsive rules hide auxiliary network overlays.
180
+ Resolves the hidden-layer portion of the compact architecture label.
200
181
 
201
182
  Parameters:
202
- - `context` - - Canvas 2D drawing context.
203
- - `fallbackViewportWidthPx` - - Fallback viewport width.
183
+ - `hiddenLayerSizes` - - Hidden-layer sizes.
184
+ - `architectureSource` - - Architecture source metadata.
204
185
 
205
- Returns: True when overlays should be hidden.
186
+ Returns: Hidden-layer label.
206
187
 
207
- ### resolveAdjustedGraphPaddingContext
188
+ ### resolveNetworkArchitectureLabel
208
189
 
209
190
  ```ts
210
- resolveAdjustedGraphPaddingContext(
211
- context: CanvasRenderingContext2D,
191
+ resolveNetworkArchitectureLabel(
212
192
  network: default | undefined,
213
- canvasWidthPx: number,
214
- hideNetworkOverlays: boolean,
215
- graphPaddingContext: NetworkGraphPaddingContext,
216
- ): Pick<NetworkGraphPaddingContext, "graphLeftPaddingPx" | "graphRightPaddingPx">
193
+ inputSize: number,
194
+ outputSize: number,
195
+ ): string
217
196
  ```
218
197
 
219
- Adjusts graph-side padding to keep the floating legend from overlapping nodes.
198
+ Resolves compact architecture label text for headers and HUD rows.
199
+
200
+ The label compresses the active network into a short human-readable summary:
201
+ input size, hidden-layer structure, output size, and graph size metadata.
220
202
 
221
203
  Parameters:
222
- - `context` - - Canvas 2D drawing context.
223
- - `network` - - Network to visualize.
224
- - `canvasWidthPx` - - Canvas width.
225
- - `hideNetworkOverlays` - - Whether overlays are hidden.
226
- - `graphPaddingContext` - - Base graph padding context.
204
+ - `network` - - Network to describe.
205
+ - `inputSize` - - Configured input size.
206
+ - `outputSize` - - Configured output size.
227
207
 
228
- Returns: Adjusted graph padding context.
208
+ Returns: Readable architecture label.
229
209
 
230
210
  ### resolveNetworkDrawableArea
231
211
 
@@ -242,6 +222,25 @@ Parameters:
242
222
 
243
223
  Returns: Drawable area dimensions.
244
224
 
225
+ ### resolveNetworkNodeDimensionsFromTopologySummary
226
+
227
+ ```ts
228
+ resolveNetworkNodeDimensionsFromTopologySummary(
229
+ networkTopologySummary: NetworkTopologySummary,
230
+ drawableWidthPx: number,
231
+ drawableHeightPx: number,
232
+ ): NetworkNodeDimensionsLike
233
+ ```
234
+
235
+ Resolves node rectangle dimensions from topology density and drawable bounds.
236
+
237
+ Parameters:
238
+ - `networkTopologySummary` - - Topology summary.
239
+ - `drawableWidthPx` - - Drawable graph width.
240
+ - `drawableHeightPx` - - Drawable graph height.
241
+
242
+ Returns: Node dimensions.
243
+
245
244
  ### resolveNetworkTopologySummary
246
245
 
247
246
  ```ts
@@ -261,86 +260,95 @@ Parameters:
261
260
 
262
261
  Returns: Topology summary.
263
262
 
264
- ### resolveNetworkNodeDimensionsFromTopologySummary
263
+ ### resolveNetworkVisualizationHeightPx
265
264
 
266
265
  ```ts
267
- resolveNetworkNodeDimensionsFromTopologySummary(
268
- networkTopologySummary: NetworkTopologySummary,
269
- drawableWidthPx: number,
270
- drawableHeightPx: number,
271
- ): NetworkNodeDimensionsLike
266
+ resolveNetworkVisualizationHeightPx(
267
+ network: default | undefined,
268
+ inputSize: number,
269
+ outputSize: number,
270
+ ): number
272
271
  ```
273
272
 
274
- Resolves node rectangle dimensions from topology density and drawable bounds.
273
+ Resolves responsive visualization canvas height from network shape.
274
+
275
+ Dense or deeper networks need more vertical room to stay readable, so panel
276
+ height is driven by topology rather than fixed to a single constant.
275
277
 
276
278
  Parameters:
277
- - `networkTopologySummary` - - Topology summary.
278
- - `drawableWidthPx` - - Drawable graph width.
279
- - `drawableHeightPx` - - Drawable graph height.
279
+ - `network` - - Network to visualize.
280
+ - `inputSize` - - Input-layer size.
281
+ - `outputSize` - - Output-layer size.
280
282
 
281
- Returns: Node dimensions.
283
+ Returns: Recommended height in pixels.
282
284
 
283
- ### resolveTopologyDrivenHeightPx
285
+ Example:
284
286
 
285
287
  ```ts
286
- resolveTopologyDrivenHeightPx(
287
- networkTopologySummary: NetworkTopologySummary,
288
- ): number
288
+ const recommendedHeightPx = resolveNetworkVisualizationHeightPx(network, 38, 2);
289
289
  ```
290
290
 
291
- Resolves the topology-driven minimum readable height.
292
-
293
- Parameters:
294
- - `networkTopologySummary` - - Topology summary.
295
-
296
- Returns: Minimum readable height in pixels.
297
-
298
- ### resolveRecommendedNetworkHeightPx
291
+ ### resolveNetworkVisualizationScene
299
292
 
300
293
  ```ts
301
- resolveRecommendedNetworkHeightPx(
302
- networkTopologySummary: NetworkTopologySummary,
303
- topologyDrivenHeightPx: number,
304
- ): number
294
+ resolveNetworkVisualizationScene(
295
+ context: CanvasRenderingContext2D,
296
+ network: default | undefined,
297
+ inputSize: number,
298
+ outputSize: number,
299
+ ): NetworkVisualizationScene
305
300
  ```
306
301
 
307
- Resolves the recommended panel height from topology and density adjustments.
302
+ Resolves all non-topology canvas state needed to draw the network view.
303
+
304
+ This separates frame-scene concerns such as canvas size, overlays, and color
305
+ scales from the later graph-topology layout step.
308
306
 
309
307
  Parameters:
310
- - `networkTopologySummary` - - Topology summary.
311
- - `topologyDrivenHeightPx` - - Minimum readable topology height.
308
+ - `context` - - Canvas 2D drawing context.
309
+ - `network` - - Network to visualize.
310
+ - `inputSize` - - Input-layer size.
311
+ - `outputSize` - - Output-layer size.
312
312
 
313
- Returns: Recommended panel height.
313
+ Returns: Scene context for the current frame.
314
314
 
315
- ### clampRecommendedNetworkHeightPx
315
+ ### resolvePositionedNetworkGraphScene
316
316
 
317
317
  ```ts
318
- clampRecommendedNetworkHeightPx(
319
- recommendedHeightPx: number,
320
- ): number
318
+ resolvePositionedNetworkGraphScene(
319
+ networkVisualizationScene: NetworkVisualizationScene,
320
+ network: default | undefined,
321
+ inputSize: number,
322
+ outputSize: number,
323
+ ): PositionedNetworkGraphScene
321
324
  ```
322
325
 
323
- Clamps a recommended network height into the configured panel range.
326
+ Resolves positioned nodes, connection lookup state, and shared node dimensions.
324
327
 
325
328
  Parameters:
326
- - `recommendedHeightPx` - - Recommended panel height.
329
+ - `networkVisualizationScene` - - Frame scene context.
330
+ - `network` - - Network to visualize.
331
+ - `inputSize` - - Input-layer size.
332
+ - `outputSize` - - Output-layer size.
327
333
 
328
- Returns: Clamped panel height.
334
+ Returns: Positioned graph scene.
329
335
 
330
- ### createPositionByNodeIndex
336
+ ### resolveRecommendedNetworkHeightPx
331
337
 
332
338
  ```ts
333
- createPositionByNodeIndex(
334
- centeredPositionedNodes: PositionedNetworkNodeLike[],
335
- ): Map<number, PositionedNetworkNodeLike>
339
+ resolveRecommendedNetworkHeightPx(
340
+ networkTopologySummary: NetworkTopologySummary,
341
+ topologyDrivenHeightPx: number,
342
+ ): number
336
343
  ```
337
344
 
338
- Builds a node-index lookup map for resolved positioned nodes.
345
+ Resolves the recommended panel height from topology and density adjustments.
339
346
 
340
347
  Parameters:
341
- - `centeredPositionedNodes` - - Positioned nodes after centering.
348
+ - `networkTopologySummary` - - Topology summary.
349
+ - `topologyDrivenHeightPx` - - Minimum readable topology height.
342
350
 
343
- Returns: Map keyed by node index.
351
+ Returns: Recommended panel height.
344
352
 
345
353
  ### resolveRuntimeConnections
346
354
 
@@ -357,45 +365,37 @@ Parameters:
357
365
 
358
366
  Returns: Runtime connection list.
359
367
 
360
- ### formatArchitectureLabel
368
+ ### resolveTopologyDrivenHeightPx
361
369
 
362
370
  ```ts
363
- formatArchitectureLabel(
364
- architectureInputSize: number,
365
- hiddenLayersLabel: string,
366
- architectureOutputSize: number,
367
- totalNodeCount: number,
368
- totalConnectionCount: number,
369
- ): string
371
+ resolveTopologyDrivenHeightPx(
372
+ networkTopologySummary: NetworkTopologySummary,
373
+ ): number
370
374
  ```
371
375
 
372
- Formats the two-line architecture label used by the header and legend.
376
+ Resolves the topology-driven minimum readable height.
373
377
 
374
378
  Parameters:
375
- - `architectureInputSize` - - Input layer size.
376
- - `hiddenLayersLabel` - - Hidden-layer description.
377
- - `architectureOutputSize` - - Output layer size.
378
- - `totalNodeCount` - - Total node count.
379
- - `totalConnectionCount` - - Total connection count.
379
+ - `networkTopologySummary` - - Topology summary.
380
380
 
381
- Returns: Formatted architecture label.
381
+ Returns: Minimum readable height in pixels.
382
382
 
383
- ### resolveHiddenLayersLabel
383
+ ### shouldHideNetworkOverlays
384
384
 
385
385
  ```ts
386
- resolveHiddenLayersLabel(
387
- hiddenLayerSizes: number[],
388
- architectureSource: "layer-metadata" | "graph-topology" | "inferred",
389
- ): string
386
+ shouldHideNetworkOverlays(
387
+ context: CanvasRenderingContext2D,
388
+ fallbackViewportWidthPx: number,
389
+ ): boolean
390
390
  ```
391
391
 
392
- Resolves the hidden-layer portion of the compact architecture label.
392
+ Determines whether responsive rules hide auxiliary network overlays.
393
393
 
394
394
  Parameters:
395
- - `hiddenLayerSizes` - - Hidden-layer sizes.
396
- - `architectureSource` - - Architecture source metadata.
395
+ - `context` - - Canvas 2D drawing context.
396
+ - `fallbackViewportWidthPx` - - Fallback viewport width.
397
397
 
398
- Returns: Hidden-layer label.
398
+ Returns: True when overlays should be hidden.
399
399
 
400
400
  ## browser-entry/network-view/network-view.types.ts
401
401
 
@@ -428,11 +428,11 @@ Once topology has been resolved into layers, these helpers place nodes inside
428
428
  the drawable panel and then center the final graph so it feels balanced inside
429
429
  the available canvas space.
430
430
 
431
- ### positionNetworkNodes
431
+ ### centerPositionedNodesInDrawableArea
432
432
 
433
433
  ```ts
434
- positionNetworkNodes(
435
- networkLayers: VisualNetworkNodeLike[][],
434
+ centerPositionedNodesInDrawableArea(
435
+ positionedNodes: PositionedNetworkNodeLike[],
436
436
  leftPaddingPx: number,
437
437
  topPaddingPx: number,
438
438
  drawableWidthPx: number,
@@ -442,13 +442,13 @@ positionNetworkNodes(
442
442
  ): PositionedNetworkNodeLike[]
443
443
  ```
444
444
 
445
- Positions network nodes into drawable canvas coordinates.
445
+ Centers positioned nodes within the drawable graph area.
446
446
 
447
- The layout keeps layer ordering stable while adapting inter-node spacing to
448
- the amount of available vertical space.
447
+ Positioning establishes relative structure first; centering then shifts the
448
+ whole graph as a block so it sits comfortably within the padded draw region.
449
449
 
450
450
  Parameters:
451
- - `networkLayers` - - Resolved network layers.
451
+ - `positionedNodes` - - Positioned nodes before centering.
452
452
  - `leftPaddingPx` - - Left graph padding.
453
453
  - `topPaddingPx` - - Top graph padding.
454
454
  - `drawableWidthPx` - - Drawable graph width.
@@ -456,13 +456,13 @@ Parameters:
456
456
  - `nodeLayoutPaddingPx` - - Inner graph padding.
457
457
  - `nodeDimensions` - - Node dimensions.
458
458
 
459
- Returns: Positioned nodes.
459
+ Returns: Center-aligned positioned nodes.
460
460
 
461
- ### centerPositionedNodesInDrawableArea
461
+ ### positionNetworkNodes
462
462
 
463
463
  ```ts
464
- centerPositionedNodesInDrawableArea(
465
- positionedNodes: PositionedNetworkNodeLike[],
464
+ positionNetworkNodes(
465
+ networkLayers: VisualNetworkNodeLike[][],
466
466
  leftPaddingPx: number,
467
467
  topPaddingPx: number,
468
468
  drawableWidthPx: number,
@@ -472,13 +472,13 @@ centerPositionedNodesInDrawableArea(
472
472
  ): PositionedNetworkNodeLike[]
473
473
  ```
474
474
 
475
- Centers positioned nodes within the drawable graph area.
475
+ Positions network nodes into drawable canvas coordinates.
476
476
 
477
- Positioning establishes relative structure first; centering then shifts the
478
- whole graph as a block so it sits comfortably within the padded draw region.
477
+ The layout keeps layer ordering stable while adapting inter-node spacing to
478
+ the amount of available vertical space.
479
479
 
480
480
  Parameters:
481
- - `positionedNodes` - - Positioned nodes before centering.
481
+ - `networkLayers` - - Resolved network layers.
482
482
  - `leftPaddingPx` - - Left graph padding.
483
483
  - `topPaddingPx` - - Top graph padding.
484
484
  - `drawableWidthPx` - - Drawable graph width.
@@ -486,7 +486,7 @@ Parameters:
486
486
  - `nodeLayoutPaddingPx` - - Inner graph padding.
487
487
  - `nodeDimensions` - - Node dimensions.
488
488
 
489
- Returns: Center-aligned positioned nodes.
489
+ Returns: Positioned nodes.
490
490
 
491
491
  ## browser-entry/network-view/network-view.topology.utils.ts
492
492