@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.
- package/.github/copilot-instructions.md +11 -0
- package/.github/skills/trace-analyzer-extension/SKILL.md +3 -3
- package/.github/skills/trace-analyzer-extension/assets/extension-checklist.md +1 -1
- package/.github/skills/trace-analyzer-extension/references/analyzer-extension-workflow.md +1 -1
- package/.github/skills/trace-audit-reporting/SKILL.md +3 -3
- package/.github/skills/trace-audit-reporting/references/trace-analysis-workflow.md +1 -1
- package/package.json +19 -13
- package/plans/Flappy_Bird_Folder_Documentation_Pass.md +4 -4
- package/plans/README.md +24 -0
- package/plans/Roadmap.md +62 -40
- package/plans/analyze-trace-solid-split.plans.md +66 -0
- package/plans/architecture-solid-split.plans.md +9 -15
- package/plans/asciiMaze-typescript-repair.plans.md +1 -1
- package/plans/generate-docs-solid-split.plans.md +87 -0
- package/plans/methods-docs.plans.md +25 -1
- package/plans/methods-solid-split.plans.md +14 -14
- package/plans/neat-docs.plans.md +9 -1
- package/plans/neat-test-surface-repair.plans.md +1 -1
- package/plans/render-docs-html-solid-split.plans.md +68 -0
- package/plans/src-no-explicit-any-cleanup.plans.md +1 -1
- package/plans/utils-docs.plans.md +6 -1
- package/scripts/analyze-trace/analyze-trace.analysis.ts +479 -0
- package/scripts/analyze-trace/analyze-trace.constants.ts +35 -0
- package/scripts/analyze-trace/analyze-trace.io.ts +69 -0
- package/scripts/analyze-trace/analyze-trace.report.ts +100 -0
- package/scripts/analyze-trace/analyze-trace.shared.ts +116 -0
- package/scripts/analyze-trace/analyze-trace.ts +45 -0
- package/scripts/analyze-trace/analyze-trace.types.ts +72 -0
- package/scripts/assets/theme.css +80 -23
- package/scripts/copy-examples.ts +239 -0
- package/scripts/export-onnx.ts +223 -0
- package/scripts/generate-bench-tables.ts +378 -37
- package/scripts/generate-docs/generate-docs.constants.ts +107 -0
- package/scripts/generate-docs/generate-docs.order.ts +355 -0
- package/scripts/generate-docs/generate-docs.state.ts +31 -0
- package/scripts/generate-docs/generate-docs.targets.ts +165 -0
- package/scripts/generate-docs/generate-docs.ts +63 -0
- package/scripts/generate-docs/generate-docs.types.ts +112 -0
- package/scripts/generate-docs/output/generate-docs.output.folder-index.utils.ts +167 -0
- package/scripts/generate-docs/output/generate-docs.output.ordering.utils.ts +353 -0
- package/scripts/generate-docs/output/generate-docs.output.readme.utils.ts +420 -0
- package/scripts/generate-docs/output/generate-docs.output.ts +123 -0
- package/scripts/generate-docs/output/generate-docs.output.warnings.utils.ts +219 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.collection.utils.ts +365 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.jsdoc.utils.ts +373 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.normalize.utils.ts +155 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.render.utils.ts +149 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.signature.utils.ts +289 -0
- package/scripts/generate-docs/symbols/generate-docs.symbols.ts +11 -0
- package/scripts/mermaid-cli.mjs +102 -22
- package/scripts/mermaid-cli.ts +736 -0
- package/scripts/render-docs-html/render-docs-html.assets.ts +54 -0
- package/scripts/render-docs-html/render-docs-html.mermaid.ts +245 -0
- package/scripts/{render-docs-html.sidebar.ts → render-docs-html/render-docs-html.navigation.ts} +141 -144
- package/scripts/render-docs-html/render-docs-html.pages.ts +333 -0
- package/scripts/render-docs-html/render-docs-html.shared.ts +333 -0
- package/scripts/render-docs-html/render-docs-html.types.ts +42 -0
- package/scripts/render-docs-html.ts +23 -587
- package/scripts/run-docs.ts +238 -0
- package/scripts/write-dist-docs-pkg.ts +40 -0
- package/src/README.md +75 -75
- package/src/architecture/connection/README.md +5 -5
- package/src/architecture/layer/README.md +508 -508
- package/src/architecture/network/README.md +1458 -1458
- package/src/architecture/network/activate/README.md +694 -694
- package/src/architecture/network/bootstrap/README.md +77 -77
- package/src/architecture/network/connect/README.md +74 -74
- package/src/architecture/network/deterministic/README.md +135 -135
- package/src/architecture/network/evolve/README.md +364 -364
- package/src/architecture/network/gating/README.md +130 -130
- package/src/architecture/network/genetic/README.md +399 -399
- package/src/architecture/network/mutate/README.md +897 -897
- package/src/architecture/network/onnx/README.md +720 -720
- package/src/architecture/network/onnx/export/README.md +728 -728
- package/src/architecture/network/onnx/export/layers/README.md +450 -450
- package/src/architecture/network/onnx/import/README.md +618 -618
- package/src/architecture/network/onnx/schema/README.md +32 -32
- package/src/architecture/network/prune/README.md +245 -245
- package/src/architecture/network/remove/README.md +135 -135
- package/src/architecture/network/runtime/README.md +106 -106
- package/src/architecture/network/serialize/README.md +542 -542
- package/src/architecture/network/slab/README.md +608 -608
- package/src/architecture/network/standalone/README.md +212 -212
- package/src/architecture/network/stats/README.md +84 -84
- package/src/architecture/network/topology/README.md +465 -465
- package/src/architecture/network/training/README.md +200 -200
- package/src/architecture/node/README.md +5 -5
- package/src/architecture/nodePool/README.md +14 -14
- package/src/methods/README.md +99 -99
- package/src/methods/activation/README.md +189 -189
- package/src/methods/cost/README.md +131 -131
- package/src/methods/rate/README.md +86 -86
- package/src/multithreading/README.md +77 -77
- package/src/multithreading/workers/browser/README.md +8 -8
- package/src/multithreading/workers/node/README.md +8 -8
- package/src/neat/README.md +148 -148
- package/src/neat/adaptive/README.md +120 -120
- package/src/neat/adaptive/acceptance/README.md +40 -40
- package/src/neat/adaptive/complexity/README.md +137 -137
- package/src/neat/adaptive/core/README.md +197 -197
- package/src/neat/adaptive/lineage/README.md +90 -90
- package/src/neat/adaptive/mutation/README.md +284 -284
- package/src/neat/compat/README.md +43 -43
- package/src/neat/compat/core/README.md +90 -90
- package/src/neat/diversity/README.md +35 -35
- package/src/neat/diversity/core/README.md +88 -88
- package/src/neat/evaluate/README.md +85 -85
- package/src/neat/evaluate/auto-distance/README.md +75 -75
- package/src/neat/evaluate/entropy-compat/README.md +37 -37
- package/src/neat/evaluate/entropy-sharing/README.md +43 -43
- package/src/neat/evaluate/fitness/README.md +23 -23
- package/src/neat/evaluate/novelty/README.md +120 -120
- package/src/neat/evaluate/objectives/README.md +17 -17
- package/src/neat/evaluate/shared/README.md +94 -94
- package/src/neat/evolve/README.md +96 -96
- package/src/neat/evolve/adaptive/README.md +60 -60
- package/src/neat/evolve/objectives/README.md +63 -63
- package/src/neat/evolve/offspring/README.md +56 -56
- package/src/neat/evolve/population/README.md +171 -171
- package/src/neat/evolve/runtime/README.md +79 -79
- package/src/neat/evolve/speciation/README.md +74 -74
- package/src/neat/evolve/warnings/README.md +10 -10
- package/src/neat/export/README.md +114 -114
- package/src/neat/helpers/README.md +50 -50
- package/src/neat/init/README.md +9 -9
- package/src/neat/lineage/core/README.md +101 -101
- package/src/neat/multiobjective/category/README.md +74 -74
- package/src/neat/multiobjective/crowding/README.md +272 -272
- package/src/neat/multiobjective/dominance/README.md +171 -171
- package/src/neat/multiobjective/fronts/README.md +68 -68
- package/src/neat/multiobjective/metrics/README.md +43 -43
- package/src/neat/multiobjective/objectives/README.md +31 -31
- package/src/neat/multiobjective/shared/README.md +27 -27
- package/src/neat/mutation/README.md +97 -97
- package/src/neat/mutation/add-conn/README.md +115 -115
- package/src/neat/mutation/add-node/README.md +126 -126
- package/src/neat/mutation/flow/README.md +149 -149
- package/src/neat/mutation/repair/README.md +185 -185
- package/src/neat/mutation/select/README.md +117 -117
- package/src/neat/mutation/shared/README.md +32 -32
- package/src/neat/objectives/README.md +25 -25
- package/src/neat/objectives/core/README.md +67 -67
- package/src/neat/pruning/README.md +40 -40
- package/src/neat/pruning/core/README.md +171 -171
- package/src/neat/pruning/facade/README.md +32 -32
- package/src/neat/rng/README.md +104 -104
- package/src/neat/rng/core/README.md +137 -137
- package/src/neat/rng/facade/README.md +50 -50
- package/src/neat/selection/README.md +111 -111
- package/src/neat/selection/core/README.md +227 -227
- package/src/neat/selection/facade/README.md +61 -61
- package/src/neat/shared/README.md +163 -163
- package/src/neat/speciation/README.md +31 -31
- package/src/neat/speciation/threshold/README.md +35 -35
- package/src/neat/species/README.md +25 -25
- package/src/neat/species/core/README.md +20 -20
- package/src/neat/species/core/shared/README.md +18 -18
- package/src/neat/species/history/context/README.md +22 -22
- package/src/neat/telemetry/accessors/README.md +58 -58
- package/src/neat/telemetry/exports/README.md +233 -233
- package/src/neat/telemetry/facade/README.md +252 -252
- package/src/neat/telemetry/facade/archive/README.md +57 -57
- package/src/neat/telemetry/facade/buffer/README.md +43 -43
- package/src/neat/telemetry/facade/lineage/README.md +12 -12
- package/src/neat/telemetry/facade/objectives/README.md +44 -44
- package/src/neat/telemetry/facade/runtime/README.md +26 -26
- package/src/neat/telemetry/facade/species/README.md +27 -27
- package/src/neat/telemetry/metrics/README.md +696 -696
- package/src/neat/telemetry/recorder/README.md +57 -57
- package/src/neat/telemetry/types/README.md +32 -32
- package/src/neat/topology-intent/README.md +75 -75
- package/src/utils/README.md +193 -193
- package/test/examples/asciiMaze/browser-entry/README.md +92 -92
- package/test/examples/asciiMaze/dashboardManager/README.md +109 -109
- package/test/examples/asciiMaze/dashboardManager/telemetry/README.md +28 -28
- package/test/examples/asciiMaze/evolutionEngine/README.md +1527 -1527
- package/test/examples/asciiMaze/mazeMovement/README.md +105 -105
- package/test/examples/asciiMaze/mazeMovement/finalization/README.md +16 -16
- package/test/examples/asciiMaze/mazeMovement/policy/README.md +57 -57
- package/test/examples/asciiMaze/mazeMovement/runtime/README.md +52 -52
- package/test/examples/asciiMaze/mazeMovement/shaping/README.md +46 -46
- package/test/examples/flappy_bird/browser-entry/README.md +508 -508
- package/test/examples/flappy_bird/browser-entry/host/README.md +101 -101
- package/test/examples/flappy_bird/browser-entry/host/resize/README.md +144 -144
- package/test/examples/flappy_bird/browser-entry/network-view/README.md +194 -194
- package/test/examples/flappy_bird/browser-entry/playback/README.md +278 -278
- package/test/examples/flappy_bird/browser-entry/playback/background/README.md +129 -129
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/README.md +502 -502
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/README.md +139 -139
- package/test/examples/flappy_bird/browser-entry/playback/snapshot/README.md +10 -10
- package/test/examples/flappy_bird/browser-entry/playback/trail/README.md +43 -43
- package/test/examples/flappy_bird/browser-entry/playback/worker-channel/README.md +30 -30
- package/test/examples/flappy_bird/browser-entry/runtime/README.md +59 -59
- package/test/examples/flappy_bird/browser-entry/visualization/README.md +276 -276
- package/test/examples/flappy_bird/browser-entry/worker-channel/README.md +16 -16
- package/test/examples/flappy_bird/constants/README.md +1070 -1070
- package/test/examples/flappy_bird/environment/README.md +22 -22
- package/test/examples/flappy_bird/evaluation/README.md +32 -32
- package/test/examples/flappy_bird/evaluation/rollout/README.md +141 -141
- package/test/examples/flappy_bird/flappy-evolution-worker/README.md +425 -425
- package/test/examples/flappy_bird/simulation-shared/README.md +170 -170
- package/test/examples/flappy_bird/simulation-shared/observation/README.md +109 -109
- package/test/examples/flappy_bird/trainer/README.md +325 -325
- package/test/examples/flappy_bird/trainer/evaluation/README.md +74 -74
- package/scripts/analyze-trace.ts +0 -590
- package/scripts/copy-examples.mjs +0 -114
- package/scripts/export-onnx.mjs +0 -86
- package/scripts/generate-bench-tables.mjs +0 -182
- package/scripts/generate-docs.ts +0 -2900
- package/scripts/write-dist-docs-pkg.mjs +0 -16
|
@@ -48,40 +48,13 @@ deliberate: the lower-band renderer should respond to camera motion like a
|
|
|
48
48
|
piece of scenic lighting, not reach into gameplay entities or playback HUD
|
|
49
49
|
state.
|
|
50
50
|
|
|
51
|
-
###
|
|
52
|
-
|
|
53
|
-
```ts
|
|
54
|
-
PlaybackGroundGridHorizontalGeometryFactory(): PlaybackGroundGridHorizontalGeometry
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Lazy builder used when one horizontal geometry cache entry is missing.
|
|
58
|
-
|
|
59
|
-
Horizontal depth bands depend only on stable scene dimensions, so callers can
|
|
60
|
-
defer their construction until a cache miss proves the work is actually
|
|
61
|
-
needed.
|
|
62
|
-
|
|
63
|
-
### PlaybackGroundGridVerticalGeometryFactory
|
|
64
|
-
|
|
65
|
-
```ts
|
|
66
|
-
PlaybackGroundGridVerticalGeometryFactory(): PlaybackGroundGridVerticalGeometry
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Lazy builder used when one vertical geometry cache entry is missing.
|
|
70
|
-
|
|
71
|
-
Vertical rays additionally depend on wrapped scroll state, so the cache keeps
|
|
72
|
-
a compact builder hook rather than eagerly storing every possible cycle.
|
|
73
|
-
|
|
74
|
-
### PlaybackGroundGridVerticalSceneMetricsFactory
|
|
75
|
-
|
|
76
|
-
```ts
|
|
77
|
-
PlaybackGroundGridVerticalSceneMetricsFactory(): PlaybackGroundGridVerticalSceneMetrics
|
|
78
|
-
```
|
|
51
|
+
### PlaybackBackgroundGroundGridResolvedScene
|
|
79
52
|
|
|
80
|
-
|
|
53
|
+
Geometry and style package resolved before drawing the ground grid.
|
|
81
54
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
55
|
+
Splitting scene resolution from drawing keeps canvas code simple: by the time
|
|
56
|
+
the renderer runs, every geometric and palette decision has already been made
|
|
57
|
+
and packed into one immutable object graph.
|
|
85
58
|
|
|
86
59
|
### PlaybackBackgroundGroundGridSceneContext
|
|
87
60
|
|
|
@@ -91,6 +64,14 @@ This is the adapted subset of the shared background scene that the ground
|
|
|
91
64
|
grid cares about: horizon position, lower-band bounds, and the centered
|
|
92
65
|
vanishing point that gives the grid its forced-perspective look.
|
|
93
66
|
|
|
67
|
+
### PlaybackBackgroundGroundGridSourceScene
|
|
68
|
+
|
|
69
|
+
Helper alias used when adapting the shared background scene context.
|
|
70
|
+
|
|
71
|
+
The parent background module owns the full sky-plus-ground scene contract;
|
|
72
|
+
the grid renderer narrows that shape to only the fields needed for the lower
|
|
73
|
+
band so the dependency direction stays clear.
|
|
74
|
+
|
|
94
75
|
### PlaybackBackgroundGroundGridStyle
|
|
95
76
|
|
|
96
77
|
Theme-owned style contract for the neon ground grid.
|
|
@@ -99,20 +80,47 @@ The ground grid uses three coordinated colors: the structural line work, a
|
|
|
99
80
|
fog wash that softens the lower band, and small pulse markers that briefly
|
|
100
81
|
travel along eligible tracks.
|
|
101
82
|
|
|
102
|
-
###
|
|
83
|
+
### PlaybackGroundGridAnchorBounds
|
|
103
84
|
|
|
104
|
-
|
|
85
|
+
Visible horizon bounds projected onto the bottom anchor line.
|
|
105
86
|
|
|
106
|
-
|
|
107
|
-
|
|
87
|
+
Perspective rays begin conceptually at the horizon and terminate on the floor
|
|
88
|
+
anchor line, so this structure captures the visible lane span after the
|
|
89
|
+
horizon segment has been projected downward.
|
|
108
90
|
|
|
109
|
-
###
|
|
91
|
+
### PlaybackGroundGridAnchorBoundsInput
|
|
110
92
|
|
|
111
|
-
|
|
93
|
+
Input used when projecting a visible horizon span onto anchor space.
|
|
112
94
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
95
|
+
### PlaybackGroundGridAnchorProjectionInput
|
|
96
|
+
|
|
97
|
+
Input used when projecting one horizon x-position onto the floor anchor line.
|
|
98
|
+
|
|
99
|
+
### PlaybackGroundGridGeometry
|
|
100
|
+
|
|
101
|
+
Pure geometry bundle generated before canvas drawing begins.
|
|
102
|
+
|
|
103
|
+
Horizontal bands, vertical rays, and the optional pulse are resolved into one
|
|
104
|
+
package so the draw layer can stay strictly about paint order.
|
|
105
|
+
|
|
106
|
+
### PlaybackGroundGridHorizontalGeometry
|
|
107
|
+
|
|
108
|
+
Cached horizontal geometry bundle reused across matching scene sizes.
|
|
109
|
+
|
|
110
|
+
Horizontal depth lines are stable for a given viewport, which makes them the
|
|
111
|
+
cheapest part of the grid to cache aggressively.
|
|
112
|
+
|
|
113
|
+
### PlaybackGroundGridHorizontalGeometryFactory
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
PlaybackGroundGridHorizontalGeometryFactory(): PlaybackGroundGridHorizontalGeometry
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Lazy builder used when one horizontal geometry cache entry is missing.
|
|
120
|
+
|
|
121
|
+
Horizontal depth bands depend only on stable scene dimensions, so callers can
|
|
122
|
+
defer their construction until a cache miss proves the work is actually
|
|
123
|
+
needed.
|
|
116
124
|
|
|
117
125
|
### PlaybackGroundGridLineSegment
|
|
118
126
|
|
|
@@ -121,20 +129,28 @@ Declarative line segment model used by the ground-grid renderer.
|
|
|
121
129
|
The grid is built as plain data first so batch builders can group segments by
|
|
122
130
|
shared style before any canvas path or glow work happens.
|
|
123
131
|
|
|
124
|
-
###
|
|
132
|
+
### PlaybackGroundGridPulse
|
|
125
133
|
|
|
126
|
-
|
|
134
|
+
One visible pulse square rendered above the grid lines.
|
|
127
135
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
136
|
+
These pulses are tiny accent lights, not gameplay markers. Their job is to
|
|
137
|
+
give the lower band a hint of moving circuitry without competing with birds,
|
|
138
|
+
pipes, or the active network HUD.
|
|
131
139
|
|
|
132
|
-
###
|
|
140
|
+
### PlaybackGroundGridPulseInput
|
|
133
141
|
|
|
134
|
-
|
|
142
|
+
Input contract used while resolving one deterministic pulse event.
|
|
135
143
|
|
|
136
|
-
|
|
137
|
-
|
|
144
|
+
Pulses are deterministic decoration: given the same frame and scene, the same
|
|
145
|
+
lane should light up. This input bundle gathers the candidate paths needed to
|
|
146
|
+
make that choice without consulting external state.
|
|
147
|
+
|
|
148
|
+
### PlaybackGroundGridPulseOrientation
|
|
149
|
+
|
|
150
|
+
Travel orientation used by lightweight pulse overlays.
|
|
151
|
+
|
|
152
|
+
Horizontal pulses skim along depth bands, while vertical pulses ride the
|
|
153
|
+
perspective rays toward or away from the horizon.
|
|
138
154
|
|
|
139
155
|
### PlaybackGroundGridPulsePath
|
|
140
156
|
|
|
@@ -143,27 +159,43 @@ Simplified path used by one visible pulse event.
|
|
|
143
159
|
Pulses do not need the full batch geometry; they only need a single lane to
|
|
144
160
|
travel along, represented here as a start-end segment plus local thickness.
|
|
145
161
|
|
|
146
|
-
###
|
|
162
|
+
### PlaybackGroundGridPulseTimingState
|
|
147
163
|
|
|
148
|
-
|
|
164
|
+
Timing state resolved for one deterministic ground-grid pulse slot.
|
|
149
165
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
166
|
+
The slot model keeps pulse timing legible: each pulse has a start bucket, an
|
|
167
|
+
elapsed time inside that bucket, and a normalized progress value used by the
|
|
168
|
+
position and fade helpers.
|
|
153
169
|
|
|
154
|
-
###
|
|
170
|
+
### PlaybackGroundGridPulseTrackThicknessInput
|
|
155
171
|
|
|
156
|
-
|
|
172
|
+
Input used when adapting a pulse position into a local track thickness.
|
|
157
173
|
|
|
158
|
-
|
|
159
|
-
|
|
174
|
+
Because the grid uses perspective-weighted stroke widths, the pulse size must
|
|
175
|
+
be adjusted to the local lane thickness rather than using one fixed square.
|
|
160
176
|
|
|
161
|
-
###
|
|
177
|
+
### PlaybackGroundGridPulseTravelRatioInput
|
|
162
178
|
|
|
163
|
-
|
|
179
|
+
Direction and timing state used when resolving pulse travel progress.
|
|
164
180
|
|
|
165
|
-
|
|
166
|
-
|
|
181
|
+
Some pulse lanes feel better moving away from the viewer and others toward
|
|
182
|
+
it, so travel resolution keeps orientation and forward/reverse intent paired
|
|
183
|
+
with the current lifetime progress.
|
|
184
|
+
|
|
185
|
+
### PlaybackGroundGridSegmentBatch
|
|
186
|
+
|
|
187
|
+
Ordered batch of line segments that share one render style.
|
|
188
|
+
|
|
189
|
+
Grouping segments by alpha, blur, and thickness reduces canvas state churn
|
|
190
|
+
and gives the renderer a natural place to cache `Path2D` instances when the
|
|
191
|
+
environment supports them.
|
|
192
|
+
|
|
193
|
+
### PlaybackGroundGridVerticalCycleContext
|
|
194
|
+
|
|
195
|
+
Wrapped vertical-cycle state derived from scroll for one frame.
|
|
196
|
+
|
|
197
|
+
The perspective rays repeat on a fixed cycle. Wrapping the scroll state lets
|
|
198
|
+
the renderer reuse cached geometry while still appearing to drift sideways.
|
|
167
199
|
|
|
168
200
|
### PlaybackGroundGridVerticalGeometry
|
|
169
201
|
|
|
@@ -173,6 +205,31 @@ Vertical rays move with scroll, but only within a repeating wrapped cycle.
|
|
|
173
205
|
Caching at that granularity captures most of the reuse without pretending the
|
|
174
206
|
rays are globally static.
|
|
175
207
|
|
|
208
|
+
### PlaybackGroundGridVerticalGeometryFactory
|
|
209
|
+
|
|
210
|
+
```ts
|
|
211
|
+
PlaybackGroundGridVerticalGeometryFactory(): PlaybackGroundGridVerticalGeometry
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Lazy builder used when one vertical geometry cache entry is missing.
|
|
215
|
+
|
|
216
|
+
Vertical rays additionally depend on wrapped scroll state, so the cache keeps
|
|
217
|
+
a compact builder hook rather than eagerly storing every possible cycle.
|
|
218
|
+
|
|
219
|
+
### PlaybackGroundGridVerticalPulseContinuationState
|
|
220
|
+
|
|
221
|
+
Cached continuation state used to keep one vertical pulse on the same ray.
|
|
222
|
+
|
|
223
|
+
Without this continuity state a vertical pulse could jitter between adjacent
|
|
224
|
+
rays across frames, which looks like noise instead of a deliberate light.
|
|
225
|
+
|
|
226
|
+
### PlaybackGroundGridVerticalRayInput
|
|
227
|
+
|
|
228
|
+
Internal helper contract used while generating vertical-ray sub-segments.
|
|
229
|
+
|
|
230
|
+
Each vertical ray is split into depth-aware pieces so stroke thickness and
|
|
231
|
+
glow can evolve as the ray approaches the viewer instead of staying uniform.
|
|
232
|
+
|
|
176
233
|
### PlaybackGroundGridVerticalSceneMetrics
|
|
177
234
|
|
|
178
235
|
Cached scene metrics reused across matching vertical-grid frames.
|
|
@@ -181,93 +238,85 @@ These metrics answer the expensive geometric questions once per viewport,
|
|
|
181
238
|
such as how wide the visible anchor span is and how many perspective lanes
|
|
182
239
|
can fit while preserving the intended spacing.
|
|
183
240
|
|
|
184
|
-
###
|
|
241
|
+
### PlaybackGroundGridVerticalSceneMetricsFactory
|
|
185
242
|
|
|
186
|
-
|
|
243
|
+
```ts
|
|
244
|
+
PlaybackGroundGridVerticalSceneMetricsFactory(): PlaybackGroundGridVerticalSceneMetrics
|
|
245
|
+
```
|
|
187
246
|
|
|
188
|
-
|
|
189
|
-
anchor line, so this structure captures the visible lane span after the
|
|
190
|
-
horizon segment has been projected downward.
|
|
247
|
+
Lazy builder used when one vertical scene-metrics cache entry is missing.
|
|
191
248
|
|
|
192
|
-
|
|
249
|
+
Scene metrics such as projected anchor bounds are pure functions of the
|
|
250
|
+
viewport, which makes them ideal cache inputs for the performance-sensitive
|
|
251
|
+
lower-band renderer.
|
|
193
252
|
|
|
194
|
-
|
|
253
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.constants.ts
|
|
195
254
|
|
|
196
|
-
###
|
|
255
|
+
### FLAPPY_BACKGROUND_GROUND_GRID_STYLE
|
|
197
256
|
|
|
198
|
-
|
|
257
|
+
Frozen neon style bundle reused by the playback ground-grid renderer.
|
|
199
258
|
|
|
200
|
-
|
|
259
|
+
The values stay theme-owned but are materialized once so the renderer does
|
|
260
|
+
not allocate a new style object during every frame.
|
|
201
261
|
|
|
202
|
-
|
|
262
|
+
### FLAPPY_GROUND_GRID_APPROX_FRAME_DURATION_MS
|
|
203
263
|
|
|
204
|
-
|
|
205
|
-
the renderer reuse cached geometry while still appearing to drift sideways.
|
|
264
|
+
Approximate playback frame duration used for deterministic pulse timing.
|
|
206
265
|
|
|
207
|
-
|
|
266
|
+
The pulse system is designed to feel stable at ordinary browser animation
|
|
267
|
+
cadence without requiring access to wall-clock time in every helper.
|
|
208
268
|
|
|
209
|
-
|
|
269
|
+
### FLAPPY_GROUND_GRID_DEPTH_CURVE_EXPONENT
|
|
210
270
|
|
|
211
|
-
|
|
212
|
-
lane should light up. This input bundle gathers the candidate paths needed to
|
|
213
|
-
make that choice without consulting external state.
|
|
271
|
+
Non-linear exponent used to compress depth lines toward the horizon.
|
|
214
272
|
|
|
215
|
-
|
|
273
|
+
This is the main perspective stylization control: higher values bunch more of
|
|
274
|
+
the depth bands near the horizon and leave broader spacing near the viewer.
|
|
216
275
|
|
|
217
|
-
|
|
276
|
+
### FLAPPY_GROUND_GRID_FOG_ALPHA
|
|
218
277
|
|
|
219
|
-
|
|
220
|
-
elapsed time inside that bucket, and a normalized progress value used by the
|
|
221
|
-
position and fade helpers.
|
|
278
|
+
Peak opacity used by the lower-band neon fog wash.
|
|
222
279
|
|
|
223
|
-
|
|
280
|
+
The fog should tint the band, not obscure the line geometry, so the opacity
|
|
281
|
+
is intentionally modest.
|
|
224
282
|
|
|
225
|
-
|
|
283
|
+
### FLAPPY_GROUND_GRID_FOG_HEIGHT_RATIO
|
|
226
284
|
|
|
227
|
-
|
|
228
|
-
it, so travel resolution keeps orientation and forward/reverse intent paired
|
|
229
|
-
with the current lifetime progress.
|
|
285
|
+
Height ratio reserved for the subtle lower-band neon fog wash.
|
|
230
286
|
|
|
231
|
-
|
|
287
|
+
The fog sits in the lower portion of the band so it enriches the foreground
|
|
288
|
+
without muting the crisp horizon seam.
|
|
232
289
|
|
|
233
|
-
|
|
290
|
+
### FLAPPY_GROUND_GRID_HORIZONTAL_LINE_COUNT
|
|
234
291
|
|
|
235
|
-
|
|
236
|
-
be adjusted to the local lane thickness rather than using one fixed square.
|
|
292
|
+
Number of horizontal depth bands used by the neon ground grid.
|
|
237
293
|
|
|
238
|
-
|
|
294
|
+
More bands increase the sense of depth, but they also thicken the lower band
|
|
295
|
+
visually and add more line work to each frame.
|
|
239
296
|
|
|
240
|
-
|
|
297
|
+
### FLAPPY_GROUND_GRID_MAX_ALPHA
|
|
241
298
|
|
|
242
|
-
|
|
243
|
-
rays across frames, which looks like noise instead of a deliberate light.
|
|
299
|
+
Maximum alpha used by the nearest depth and perspective lines.
|
|
244
300
|
|
|
245
|
-
###
|
|
301
|
+
### FLAPPY_GROUND_GRID_MAX_BLUR_PX
|
|
246
302
|
|
|
247
|
-
|
|
303
|
+
Blur radius used by the farthest depth lines near the horizon.
|
|
248
304
|
|
|
249
|
-
|
|
250
|
-
the grid renderer narrows that shape to only the fields needed for the lower
|
|
251
|
-
band so the dependency direction stays clear.
|
|
305
|
+
### FLAPPY_GROUND_GRID_MAX_THICKNESS_PX
|
|
252
306
|
|
|
253
|
-
|
|
307
|
+
Maximum stroke width used by near depth lines.
|
|
254
308
|
|
|
255
|
-
###
|
|
309
|
+
### FLAPPY_GROUND_GRID_MIN_ALPHA
|
|
256
310
|
|
|
257
|
-
|
|
311
|
+
Minimum alpha used by the farthest horizontal depth lines.
|
|
258
312
|
|
|
259
|
-
|
|
260
|
-
visually and add more line work to each frame.
|
|
313
|
+
### FLAPPY_GROUND_GRID_MIN_BLUR_PX
|
|
261
314
|
|
|
262
|
-
|
|
315
|
+
Blur radius used by the nearest depth lines at the bottom edge.
|
|
263
316
|
|
|
264
|
-
|
|
317
|
+
### FLAPPY_GROUND_GRID_MIN_THICKNESS_PX
|
|
265
318
|
|
|
266
|
-
|
|
267
|
-
important invariant is phase repeat, not just raw gap width: each new pipe at
|
|
268
|
-
max difficulty should land on the same relative grid position as the previous
|
|
269
|
-
one. That requires matching the full pipe-to-pipe pitch, not only the open
|
|
270
|
-
edge-to-edge gap between pipe bodies.
|
|
319
|
+
Minimum stroke width used by far depth lines.
|
|
271
320
|
|
|
272
321
|
### FLAPPY_GROUND_GRID_MIN_VERTICAL_LINE_COUNT
|
|
273
322
|
|
|
@@ -276,26 +325,16 @@ Minimum visible perspective-ray count used on very narrow viewports.
|
|
|
276
325
|
Even on a small canvas, the grid still needs at least a few rays to read as
|
|
277
326
|
perspective instead of a flat block of horizontal stripes.
|
|
278
327
|
|
|
279
|
-
###
|
|
280
|
-
|
|
281
|
-
Extra off-screen perspective rays drawn for seamless wrap.
|
|
282
|
-
|
|
283
|
-
Overflow rays prevent the parallax cycle from exposing empty gaps when the
|
|
284
|
-
wrapped scroll offset lands near a lane boundary.
|
|
285
|
-
|
|
286
|
-
### FLAPPY_GROUND_GRID_TARGET_VERTICAL_SEGMENT_HEIGHT_PX
|
|
287
|
-
|
|
288
|
-
Target screen-space height for one vertical-ray style segment (pixels).
|
|
328
|
+
### FLAPPY_GROUND_GRID_PIPE_CONNECTION_LINE_OFFSET_FROM_BOTTOM
|
|
289
329
|
|
|
290
|
-
|
|
291
|
-
depth rather than drawing each ray with one flat style.
|
|
330
|
+
Near-edge horizontal line offset used for the lower-pipe floor illusion.
|
|
292
331
|
|
|
293
|
-
|
|
332
|
+
`1` targets the first usable grid band above the bottom edge rather than the
|
|
333
|
+
terminal line that coincides with the lower-band boundary itself.
|
|
294
334
|
|
|
295
|
-
|
|
335
|
+
### FLAPPY_GROUND_GRID_PULSE_ALPHA
|
|
296
336
|
|
|
297
|
-
|
|
298
|
-
cadence without requiring access to wall-clock time in every helper.
|
|
337
|
+
Peak opacity used by visible pulse squares.
|
|
299
338
|
|
|
300
339
|
### FLAPPY_GROUND_GRID_PULSE_INTERVAL_MS
|
|
301
340
|
|
|
@@ -311,36 +350,18 @@ Lifetime of one pulse as it travels across its chosen line (milliseconds).
|
|
|
311
350
|
The lifetime is slightly shorter than the full interval so one pulse fades
|
|
312
351
|
out before the next slot becomes active.
|
|
313
352
|
|
|
314
|
-
### FLAPPY_GROUND_GRID_PULSE_ALPHA
|
|
315
|
-
|
|
316
|
-
Peak opacity used by visible pulse squares.
|
|
317
|
-
|
|
318
|
-
### FLAPPY_GROUND_GRID_PULSE_MIN_SIZE_PX
|
|
319
|
-
|
|
320
|
-
Smallest visible pulse square size (pixels).
|
|
321
|
-
|
|
322
353
|
### FLAPPY_GROUND_GRID_PULSE_MAX_SIZE_PX
|
|
323
354
|
|
|
324
355
|
Largest visible pulse square size (pixels).
|
|
325
356
|
|
|
326
|
-
### FLAPPY_GROUND_GRID_VERTICAL_PULSE_START_RATIO
|
|
327
|
-
|
|
328
|
-
Earliest progress ratio allowed for vertical pulse travel.
|
|
329
|
-
|
|
330
|
-
Vertical pulses start a little away from the horizon so they are visible as
|
|
331
|
-
distinct squares instead of immediately disappearing into compressed depth.
|
|
332
|
-
|
|
333
|
-
### FLAPPY_GROUND_GRID_VERTICAL_PULSE_END_RATIO
|
|
334
|
-
|
|
335
|
-
Latest progress ratio allowed for vertical pulse travel.
|
|
336
|
-
|
|
337
|
-
Ending early keeps the pulse out of the extreme foreground, where its square
|
|
338
|
-
would become too large and visually heavy.
|
|
339
|
-
|
|
340
357
|
### FLAPPY_GROUND_GRID_PULSE_MIN_ELIGIBLE_THICKNESS_PX
|
|
341
358
|
|
|
342
359
|
Minimum horizontal line thickness eligible for pulse travel.
|
|
343
360
|
|
|
361
|
+
### FLAPPY_GROUND_GRID_PULSE_MIN_SIZE_PX
|
|
362
|
+
|
|
363
|
+
Smallest visible pulse square size (pixels).
|
|
364
|
+
|
|
344
365
|
### FLAPPY_GROUND_GRID_PULSE_PREFERRED_HORIZONTAL_START_RATIO
|
|
345
366
|
|
|
346
367
|
Earliest eligible slice of horizontal lines used for visible pulse picks.
|
|
@@ -352,26 +373,12 @@ of the compressed lines nearest the horizon.
|
|
|
352
373
|
|
|
353
374
|
Horizontal inset that keeps vertical pulse picks away from clipped edges.
|
|
354
375
|
|
|
355
|
-
###
|
|
356
|
-
|
|
357
|
-
Normalization divisor used for deterministic pulse hash generation.
|
|
358
|
-
|
|
359
|
-
The pulse selection helpers convert unsigned integer hashes into stable
|
|
360
|
-
floating-point picks in the unit interval.
|
|
361
|
-
|
|
362
|
-
### FLAPPY_GROUND_GRID_DEPTH_CURVE_EXPONENT
|
|
363
|
-
|
|
364
|
-
Non-linear exponent used to compress depth lines toward the horizon.
|
|
365
|
-
|
|
366
|
-
This is the main perspective stylization control: higher values bunch more of
|
|
367
|
-
the depth bands near the horizon and leave broader spacing near the viewer.
|
|
368
|
-
|
|
369
|
-
### FLAPPY_GROUND_GRID_PIPE_CONNECTION_LINE_OFFSET_FROM_BOTTOM
|
|
376
|
+
### FLAPPY_GROUND_GRID_SCROLL_OFFSET_QUANTIZATION_DECIMALS
|
|
370
377
|
|
|
371
|
-
|
|
378
|
+
Decimal precision used when quantizing the wrapped vertical-ray offset.
|
|
372
379
|
|
|
373
|
-
|
|
374
|
-
|
|
380
|
+
Quantization stabilizes cache reuse by preventing tiny floating-point drift
|
|
381
|
+
from generating effectively identical geometry variants.
|
|
375
382
|
|
|
376
383
|
### FLAPPY_GROUND_GRID_SCROLL_RATIO
|
|
377
384
|
|
|
@@ -380,76 +387,86 @@ Scroll ratio applied to the moving vertical perspective rays.
|
|
|
380
387
|
Keeping the rays slower than gameplay motion makes the grid feel like a deep
|
|
381
388
|
environmental layer rather than a surface glued to the pipes.
|
|
382
389
|
|
|
383
|
-
###
|
|
384
|
-
|
|
385
|
-
Decimal precision used when quantizing the wrapped vertical-ray offset.
|
|
390
|
+
### FLAPPY_GROUND_GRID_TARGET_VERTICAL_LINE_SPACING_PX
|
|
386
391
|
|
|
387
|
-
|
|
388
|
-
from generating effectively identical geometry variants.
|
|
392
|
+
Target visible spacing between adjacent vertical rays at the pipe floor.
|
|
389
393
|
|
|
390
|
-
|
|
394
|
+
The lower pipes visually attach to a projected floor band in the grid. The
|
|
395
|
+
important invariant is phase repeat, not just raw gap width: each new pipe at
|
|
396
|
+
max difficulty should land on the same relative grid position as the previous
|
|
397
|
+
one. That requires matching the full pipe-to-pipe pitch, not only the open
|
|
398
|
+
edge-to-edge gap between pipe bodies.
|
|
391
399
|
|
|
392
|
-
|
|
400
|
+
### FLAPPY_GROUND_GRID_TARGET_VERTICAL_SEGMENT_HEIGHT_PX
|
|
393
401
|
|
|
394
|
-
|
|
402
|
+
Target screen-space height for one vertical-ray style segment (pixels).
|
|
395
403
|
|
|
396
|
-
|
|
404
|
+
Segmenting the rays lets the renderer vary alpha, thickness, and blur by
|
|
405
|
+
depth rather than drawing each ray with one flat style.
|
|
397
406
|
|
|
398
|
-
###
|
|
407
|
+
### FLAPPY_GROUND_GRID_UNSIGNED_NORMALIZATION_DIVISOR
|
|
399
408
|
|
|
400
|
-
|
|
409
|
+
Normalization divisor used for deterministic pulse hash generation.
|
|
401
410
|
|
|
402
|
-
|
|
411
|
+
The pulse selection helpers convert unsigned integer hashes into stable
|
|
412
|
+
floating-point picks in the unit interval.
|
|
403
413
|
|
|
404
|
-
|
|
414
|
+
### FLAPPY_GROUND_GRID_VERTICAL_OVERFLOW_COUNT
|
|
405
415
|
|
|
406
|
-
|
|
416
|
+
Extra off-screen perspective rays drawn for seamless wrap.
|
|
407
417
|
|
|
408
|
-
|
|
418
|
+
Overflow rays prevent the parallax cycle from exposing empty gaps when the
|
|
419
|
+
wrapped scroll offset lands near a lane boundary.
|
|
409
420
|
|
|
410
|
-
###
|
|
421
|
+
### FLAPPY_GROUND_GRID_VERTICAL_PULSE_END_RATIO
|
|
411
422
|
|
|
412
|
-
|
|
423
|
+
Latest progress ratio allowed for vertical pulse travel.
|
|
413
424
|
|
|
414
|
-
|
|
425
|
+
Ending early keeps the pulse out of the extreme foreground, where its square
|
|
426
|
+
would become too large and visually heavy.
|
|
415
427
|
|
|
416
|
-
|
|
428
|
+
### FLAPPY_GROUND_GRID_VERTICAL_PULSE_START_RATIO
|
|
417
429
|
|
|
418
|
-
|
|
419
|
-
without muting the crisp horizon seam.
|
|
430
|
+
Earliest progress ratio allowed for vertical pulse travel.
|
|
420
431
|
|
|
421
|
-
|
|
432
|
+
Vertical pulses start a little away from the horizon so they are visible as
|
|
433
|
+
distinct squares instead of immediately disappearing into compressed depth.
|
|
422
434
|
|
|
423
|
-
|
|
435
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.services.ts
|
|
424
436
|
|
|
425
|
-
|
|
426
|
-
is intentionally modest.
|
|
437
|
+
### drawGroundGridFog
|
|
427
438
|
|
|
428
|
-
|
|
439
|
+
```ts
|
|
440
|
+
drawGroundGridFog(
|
|
441
|
+
context: CanvasRenderingContext2D,
|
|
442
|
+
resolvedScene: PlaybackBackgroundGroundGridResolvedScene,
|
|
443
|
+
): void
|
|
444
|
+
```
|
|
429
445
|
|
|
430
|
-
|
|
446
|
+
Draws the lower-band atmospheric wash behind the neon line work.
|
|
431
447
|
|
|
432
|
-
|
|
433
|
-
|
|
448
|
+
Parameters:
|
|
449
|
+
- `context` - - Canvas 2D drawing context.
|
|
450
|
+
- `resolvedScene` - - Geometry and style for the current viewport.
|
|
434
451
|
|
|
435
|
-
|
|
452
|
+
Returns: Nothing.
|
|
436
453
|
|
|
437
|
-
###
|
|
454
|
+
### drawGroundGridPulse
|
|
438
455
|
|
|
439
456
|
```ts
|
|
440
|
-
|
|
457
|
+
drawGroundGridPulse(
|
|
441
458
|
context: CanvasRenderingContext2D,
|
|
442
|
-
|
|
443
|
-
|
|
459
|
+
pulse: PlaybackGroundGridPulse | null,
|
|
460
|
+
fillColor: string,
|
|
444
461
|
): void
|
|
445
462
|
```
|
|
446
463
|
|
|
447
|
-
Draws
|
|
464
|
+
Draws one pulse square above the grid lines and below gameplay entities.
|
|
448
465
|
|
|
449
466
|
Parameters:
|
|
450
467
|
- `context` - - Canvas 2D drawing context.
|
|
451
|
-
- `
|
|
452
|
-
- `
|
|
468
|
+
- `pulse` - - Visible pulse square for the current frame.
|
|
469
|
+
- `fillColor` - - Core neon fill color.
|
|
453
470
|
|
|
454
471
|
Returns: Nothing.
|
|
455
472
|
|
|
@@ -489,39 +506,22 @@ Parameters:
|
|
|
489
506
|
|
|
490
507
|
Returns: Nothing.
|
|
491
508
|
|
|
492
|
-
###
|
|
509
|
+
### drawPlaybackGroundGrid
|
|
493
510
|
|
|
494
511
|
```ts
|
|
495
|
-
|
|
512
|
+
drawPlaybackGroundGrid(
|
|
496
513
|
context: CanvasRenderingContext2D,
|
|
497
514
|
resolvedScene: PlaybackBackgroundGroundGridResolvedScene,
|
|
515
|
+
geometry: PlaybackGroundGridGeometry,
|
|
498
516
|
): void
|
|
499
517
|
```
|
|
500
518
|
|
|
501
|
-
Draws the
|
|
519
|
+
Draws the resolved neon ground grid inside the lower background band.
|
|
502
520
|
|
|
503
521
|
Parameters:
|
|
504
522
|
- `context` - - Canvas 2D drawing context.
|
|
505
523
|
- `resolvedScene` - - Geometry and style for the current viewport.
|
|
506
|
-
|
|
507
|
-
Returns: Nothing.
|
|
508
|
-
|
|
509
|
-
### drawGroundGridPulse
|
|
510
|
-
|
|
511
|
-
```ts
|
|
512
|
-
drawGroundGridPulse(
|
|
513
|
-
context: CanvasRenderingContext2D,
|
|
514
|
-
pulse: PlaybackGroundGridPulse | null,
|
|
515
|
-
fillColor: string,
|
|
516
|
-
): void
|
|
517
|
-
```
|
|
518
|
-
|
|
519
|
-
Draws one pulse square above the grid lines and below gameplay entities.
|
|
520
|
-
|
|
521
|
-
Parameters:
|
|
522
|
-
- `context` - - Canvas 2D drawing context.
|
|
523
|
-
- `pulse` - - Visible pulse square for the current frame.
|
|
524
|
-
- `fillColor` - - Core neon fill color.
|
|
524
|
+
- `geometry` - - Precomputed horizontal and vertical line segments.
|
|
525
525
|
|
|
526
526
|
Returns: Nothing.
|
|
527
527
|
|
|
@@ -598,54 +598,28 @@ page resize invalidates every cached geometry variant and fog gradient.
|
|
|
598
598
|
Parameters:
|
|
599
599
|
- `sceneContext` - - Current lower-band scene geometry.
|
|
600
600
|
|
|
601
|
-
Returns: Stable viewport-size cache key for the current frame.
|
|
602
|
-
|
|
603
|
-
### resolveGroundGridViewportCacheKey
|
|
604
|
-
|
|
605
|
-
```ts
|
|
606
|
-
resolveGroundGridViewportCacheKey(
|
|
607
|
-
sceneContext: PlaybackBackgroundGroundGridSceneContext,
|
|
608
|
-
): string
|
|
609
|
-
```
|
|
610
|
-
|
|
611
|
-
Resolves the viewport-size cache key used by the ground-grid caches.
|
|
612
|
-
|
|
613
|
-
Parameters:
|
|
614
|
-
- `sceneContext` - - Current lower-band scene geometry.
|
|
615
|
-
|
|
616
|
-
Returns: Cache key that changes whenever the page size changes.
|
|
617
|
-
|
|
618
|
-
### resolveGroundGridSceneCacheKey
|
|
619
|
-
|
|
620
|
-
```ts
|
|
621
|
-
resolveGroundGridSceneCacheKey(
|
|
622
|
-
sceneContext: PlaybackBackgroundGroundGridSceneContext,
|
|
623
|
-
): string
|
|
624
|
-
```
|
|
625
|
-
|
|
626
|
-
Resolves the stable local-scene cache key for ground-grid geometry.
|
|
627
|
-
|
|
628
|
-
Parameters:
|
|
629
|
-
- `sceneContext` - - Current lower-band scene geometry.
|
|
630
|
-
|
|
631
|
-
Returns: Scene key suitable for static horizontal and vertical cache entries.
|
|
601
|
+
Returns: Stable viewport-size cache key for the current frame.
|
|
632
602
|
|
|
633
|
-
###
|
|
603
|
+
### resolveCachedGroundGridFogGradient
|
|
634
604
|
|
|
635
605
|
```ts
|
|
636
|
-
|
|
606
|
+
resolveCachedGroundGridFogGradient(
|
|
607
|
+
context: CanvasRenderingContext2D,
|
|
637
608
|
sceneCacheKey: string,
|
|
638
|
-
|
|
639
|
-
|
|
609
|
+
sceneContext: PlaybackBackgroundGroundGridSceneContext,
|
|
610
|
+
fogColor: string,
|
|
611
|
+
): CanvasGradient
|
|
640
612
|
```
|
|
641
613
|
|
|
642
|
-
Resolves
|
|
614
|
+
Resolves a cached fog gradient for one canvas and local scene.
|
|
643
615
|
|
|
644
616
|
Parameters:
|
|
617
|
+
- `context` - - Canvas 2D drawing context.
|
|
645
618
|
- `sceneCacheKey` - - Stable scene key for the active viewport.
|
|
646
|
-
- `
|
|
619
|
+
- `sceneContext` - - Current lower-band scene geometry.
|
|
620
|
+
- `fogColor` - - Theme-owned fog color token.
|
|
647
621
|
|
|
648
|
-
Returns:
|
|
622
|
+
Returns: Cached fog gradient aligned to the lower-band scene.
|
|
649
623
|
|
|
650
624
|
### resolveCachedGroundGridHorizontalGeometry
|
|
651
625
|
|
|
@@ -664,6 +638,23 @@ Parameters:
|
|
|
664
638
|
|
|
665
639
|
Returns: Cached horizontal geometry bundle for the scene.
|
|
666
640
|
|
|
641
|
+
### resolveCachedGroundGridVerticalGeometry
|
|
642
|
+
|
|
643
|
+
```ts
|
|
644
|
+
resolveCachedGroundGridVerticalGeometry(
|
|
645
|
+
cycleCacheKey: string,
|
|
646
|
+
factory: PlaybackGroundGridVerticalGeometryFactory,
|
|
647
|
+
): PlaybackGroundGridVerticalGeometry
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
Resolves cached vertical geometry for one scene and wrapped offset cycle.
|
|
651
|
+
|
|
652
|
+
Parameters:
|
|
653
|
+
- `cycleCacheKey` - - Scene-and-offset cache key for the active frame.
|
|
654
|
+
- `factory` - - Lazy geometry builder used when the cache misses.
|
|
655
|
+
|
|
656
|
+
Returns: Cached vertical geometry bundle for the cycle.
|
|
657
|
+
|
|
667
658
|
### resolveCachedGroundGridVerticalSceneMetrics
|
|
668
659
|
|
|
669
660
|
```ts
|
|
@@ -681,79 +672,88 @@ Parameters:
|
|
|
681
672
|
|
|
682
673
|
Returns: Cached vertical scene metrics for the scene.
|
|
683
674
|
|
|
684
|
-
###
|
|
675
|
+
### resolveGroundGridSceneCacheKey
|
|
685
676
|
|
|
686
677
|
```ts
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
): PlaybackGroundGridVerticalGeometry
|
|
678
|
+
resolveGroundGridSceneCacheKey(
|
|
679
|
+
sceneContext: PlaybackBackgroundGroundGridSceneContext,
|
|
680
|
+
): string
|
|
691
681
|
```
|
|
692
682
|
|
|
693
|
-
Resolves
|
|
683
|
+
Resolves the stable local-scene cache key for ground-grid geometry.
|
|
694
684
|
|
|
695
685
|
Parameters:
|
|
696
|
-
- `
|
|
697
|
-
- `factory` - - Lazy geometry builder used when the cache misses.
|
|
686
|
+
- `sceneContext` - - Current lower-band scene geometry.
|
|
698
687
|
|
|
699
|
-
Returns:
|
|
688
|
+
Returns: Scene key suitable for static horizontal and vertical cache entries.
|
|
700
689
|
|
|
701
|
-
###
|
|
690
|
+
### resolveGroundGridVerticalCycleCacheKey
|
|
702
691
|
|
|
703
692
|
```ts
|
|
704
|
-
|
|
705
|
-
context: CanvasRenderingContext2D,
|
|
693
|
+
resolveGroundGridVerticalCycleCacheKey(
|
|
706
694
|
sceneCacheKey: string,
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
): CanvasGradient
|
|
695
|
+
wrappedOffsetPx: number,
|
|
696
|
+
): string
|
|
710
697
|
```
|
|
711
698
|
|
|
712
|
-
Resolves
|
|
699
|
+
Resolves the cache key for one wrapped vertical-geometry cycle.
|
|
713
700
|
|
|
714
701
|
Parameters:
|
|
715
|
-
- `context` - - Canvas 2D drawing context.
|
|
716
702
|
- `sceneCacheKey` - - Stable scene key for the active viewport.
|
|
703
|
+
- `wrappedOffsetPx` - - Wrapped offset within one lane cycle.
|
|
704
|
+
|
|
705
|
+
Returns: Cycle key used for vertical geometry reuse.
|
|
706
|
+
|
|
707
|
+
### resolveGroundGridViewportCacheKey
|
|
708
|
+
|
|
709
|
+
```ts
|
|
710
|
+
resolveGroundGridViewportCacheKey(
|
|
711
|
+
sceneContext: PlaybackBackgroundGroundGridSceneContext,
|
|
712
|
+
): string
|
|
713
|
+
```
|
|
714
|
+
|
|
715
|
+
Resolves the viewport-size cache key used by the ground-grid caches.
|
|
716
|
+
|
|
717
|
+
Parameters:
|
|
717
718
|
- `sceneContext` - - Current lower-band scene geometry.
|
|
718
|
-
- `fogColor` - - Theme-owned fog color token.
|
|
719
719
|
|
|
720
|
-
Returns:
|
|
720
|
+
Returns: Cache key that changes whenever the page size changes.
|
|
721
721
|
|
|
722
722
|
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.batch.services.ts
|
|
723
723
|
|
|
724
|
-
###
|
|
724
|
+
### drawGroundGridSegmentBatch
|
|
725
725
|
|
|
726
726
|
```ts
|
|
727
|
-
|
|
727
|
+
drawGroundGridSegmentBatch(
|
|
728
728
|
context: CanvasRenderingContext2D,
|
|
729
|
-
|
|
730
|
-
lineColor: string,
|
|
729
|
+
batch: PlaybackGroundGridSegmentBatch,
|
|
731
730
|
): void
|
|
732
731
|
```
|
|
733
732
|
|
|
734
|
-
Draws one
|
|
733
|
+
Draws one batch of neon line segments that share one render style.
|
|
735
734
|
|
|
736
735
|
Parameters:
|
|
737
736
|
- `context` - - Canvas 2D drawing context.
|
|
738
|
-
- `
|
|
739
|
-
- `lineColor` - - Core neon stroke color.
|
|
737
|
+
- `batch` - - Ordered line-segment batch that shares one render style.
|
|
740
738
|
|
|
741
739
|
Returns: Nothing.
|
|
742
740
|
|
|
743
|
-
###
|
|
741
|
+
### drawGroundGridSegmentBatches
|
|
744
742
|
|
|
745
743
|
```ts
|
|
746
|
-
|
|
744
|
+
drawGroundGridSegmentBatches(
|
|
747
745
|
context: CanvasRenderingContext2D,
|
|
748
|
-
|
|
746
|
+
batches: readonly PlaybackGroundGridSegmentBatch[],
|
|
747
|
+
lineColor: string,
|
|
749
748
|
): void
|
|
750
749
|
```
|
|
751
750
|
|
|
752
|
-
Draws one
|
|
751
|
+
Draws one ordered collection of neon segment batches.
|
|
753
752
|
|
|
754
753
|
Parameters:
|
|
755
754
|
- `context` - - Canvas 2D drawing context.
|
|
756
|
-
- `
|
|
755
|
+
- `batches` - - Ordered line-segment batches to render.
|
|
756
|
+
- `lineColor` - - Core neon stroke color.
|
|
757
757
|
|
|
758
758
|
Returns: Nothing.
|
|
759
759
|
|
|
@@ -812,35 +812,35 @@ Parameters:
|
|
|
812
812
|
|
|
813
813
|
Returns: Ordered style batches that can be stroked with fewer state changes.
|
|
814
814
|
|
|
815
|
-
###
|
|
815
|
+
### resolvePlaybackGroundGridBatchPath
|
|
816
816
|
|
|
817
817
|
```ts
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
):
|
|
818
|
+
resolvePlaybackGroundGridBatchPath(
|
|
819
|
+
segments: readonly PlaybackGroundGridLineSegment[],
|
|
820
|
+
): Path2D | null
|
|
821
821
|
```
|
|
822
822
|
|
|
823
|
-
|
|
823
|
+
Resolves one cached draw-ready path for a grouped segment batch.
|
|
824
824
|
|
|
825
825
|
Parameters:
|
|
826
|
-
- `
|
|
826
|
+
- `segments` - - Ordered line segments that belong to one style batch.
|
|
827
827
|
|
|
828
|
-
Returns:
|
|
828
|
+
Returns: Cached Path2D when available, otherwise null.
|
|
829
829
|
|
|
830
|
-
###
|
|
830
|
+
### resolvePlaybackGroundGridPreferredHorizontalPulsePaths
|
|
831
831
|
|
|
832
832
|
```ts
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
):
|
|
833
|
+
resolvePlaybackGroundGridPreferredHorizontalPulsePaths(
|
|
834
|
+
horizontalLines: readonly PlaybackGroundGridLineSegment[],
|
|
835
|
+
): readonly PlaybackGroundGridPulsePath[]
|
|
836
836
|
```
|
|
837
837
|
|
|
838
|
-
|
|
838
|
+
Prefers the nearer, thicker horizontal tracks when picking a pulse lane.
|
|
839
839
|
|
|
840
840
|
Parameters:
|
|
841
|
-
- `
|
|
841
|
+
- `horizontalLines` - - Visible horizontal grid bands.
|
|
842
842
|
|
|
843
|
-
Returns:
|
|
843
|
+
Returns: Pulse-eligible horizontal paths biased toward the foreground.
|
|
844
844
|
|
|
845
845
|
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.layout.utils.ts
|
|
846
846
|
|
|
@@ -859,40 +859,6 @@ Parameters:
|
|
|
859
859
|
|
|
860
860
|
Returns: Stable anchor bounds and lane spacing for vertical-ray reuse.
|
|
861
861
|
|
|
862
|
-
### resolvePlaybackGroundGridVerticalCycleContext
|
|
863
|
-
|
|
864
|
-
```ts
|
|
865
|
-
resolvePlaybackGroundGridVerticalCycleContext(
|
|
866
|
-
safeLaneSpacingPx: number,
|
|
867
|
-
lowerBandBottomYPx: number,
|
|
868
|
-
scrollBasePx: number,
|
|
869
|
-
): PlaybackGroundGridVerticalCycleContext
|
|
870
|
-
```
|
|
871
|
-
|
|
872
|
-
Resolves the wrapped vertical-geometry cycle for the current scroll value.
|
|
873
|
-
|
|
874
|
-
Parameters:
|
|
875
|
-
- `safeLaneSpacingPx` - - Stable lane spacing used by current viewport metrics.
|
|
876
|
-
- `lowerBandBottomYPx` - - Lower edge of the visible ground-grid band.
|
|
877
|
-
- `scrollBasePx` - - Shared world scroll used for parallax motion.
|
|
878
|
-
|
|
879
|
-
Returns: Quantized wrapped offset and safe lane spacing for cache lookups.
|
|
880
|
-
|
|
881
|
-
### resolvePlaybackGroundGridAnchorBounds
|
|
882
|
-
|
|
883
|
-
```ts
|
|
884
|
-
resolvePlaybackGroundGridAnchorBounds(
|
|
885
|
-
input: PlaybackGroundGridAnchorBoundsInput,
|
|
886
|
-
): PlaybackGroundGridAnchorBounds
|
|
887
|
-
```
|
|
888
|
-
|
|
889
|
-
Projects one visible horizontal span back onto the floor anchor line.
|
|
890
|
-
|
|
891
|
-
Parameters:
|
|
892
|
-
- `input` - - Visible span bounds and scene geometry.
|
|
893
|
-
|
|
894
|
-
Returns: Bottom-anchor bounds required to cover the chosen projected span.
|
|
895
|
-
|
|
896
862
|
### isPlaybackGroundGridVerticalPulsePathVisible
|
|
897
863
|
|
|
898
864
|
```ts
|
|
@@ -925,6 +891,21 @@ Parameters:
|
|
|
925
891
|
|
|
926
892
|
Returns: Bottom anchor x-position whose ray reaches the projected point.
|
|
927
893
|
|
|
894
|
+
### resolvePlaybackGroundGridAnchorBounds
|
|
895
|
+
|
|
896
|
+
```ts
|
|
897
|
+
resolvePlaybackGroundGridAnchorBounds(
|
|
898
|
+
input: PlaybackGroundGridAnchorBoundsInput,
|
|
899
|
+
): PlaybackGroundGridAnchorBounds
|
|
900
|
+
```
|
|
901
|
+
|
|
902
|
+
Projects one visible horizontal span back onto the floor anchor line.
|
|
903
|
+
|
|
904
|
+
Parameters:
|
|
905
|
+
- `input` - - Visible span bounds and scene geometry.
|
|
906
|
+
|
|
907
|
+
Returns: Bottom-anchor bounds required to cover the chosen projected span.
|
|
908
|
+
|
|
928
909
|
### resolvePlaybackGroundGridRetainedWidthRatioAtYPx
|
|
929
910
|
|
|
930
911
|
```ts
|
|
@@ -948,7 +929,79 @@ Parameters:
|
|
|
948
929
|
|
|
949
930
|
Returns: Width-retention ratio in the inclusive `[0, 1]` range.
|
|
950
931
|
|
|
951
|
-
|
|
932
|
+
### resolvePlaybackGroundGridVerticalCycleContext
|
|
933
|
+
|
|
934
|
+
```ts
|
|
935
|
+
resolvePlaybackGroundGridVerticalCycleContext(
|
|
936
|
+
safeLaneSpacingPx: number,
|
|
937
|
+
lowerBandBottomYPx: number,
|
|
938
|
+
scrollBasePx: number,
|
|
939
|
+
): PlaybackGroundGridVerticalCycleContext
|
|
940
|
+
```
|
|
941
|
+
|
|
942
|
+
Resolves the wrapped vertical-geometry cycle for the current scroll value.
|
|
943
|
+
|
|
944
|
+
Parameters:
|
|
945
|
+
- `safeLaneSpacingPx` - - Stable lane spacing used by current viewport metrics.
|
|
946
|
+
- `lowerBandBottomYPx` - - Lower edge of the visible ground-grid band.
|
|
947
|
+
- `scrollBasePx` - - Shared world scroll used for parallax motion.
|
|
948
|
+
|
|
949
|
+
Returns: Quantized wrapped offset and safe lane spacing for cache lookups.
|
|
950
|
+
|
|
951
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.utils.ts
|
|
952
|
+
|
|
953
|
+
### appendPlaybackGroundGridVerticalLineSegments
|
|
954
|
+
|
|
955
|
+
```ts
|
|
956
|
+
appendPlaybackGroundGridVerticalLineSegments(
|
|
957
|
+
targetSegments: PlaybackGroundGridLineSegment[],
|
|
958
|
+
startIndex: number,
|
|
959
|
+
input: PlaybackGroundGridVerticalRayInput,
|
|
960
|
+
): number
|
|
961
|
+
```
|
|
962
|
+
|
|
963
|
+
Appends tapered style segments for one perspective ray.
|
|
964
|
+
|
|
965
|
+
Parameters:
|
|
966
|
+
- `targetSegments` - - Target line-segment buffer.
|
|
967
|
+
- `startIndex` - - Current insertion index within the target buffer.
|
|
968
|
+
- `input` - - Geometry and depth context for one ray.
|
|
969
|
+
|
|
970
|
+
Returns: Next insertion index after all ray segments have been written.
|
|
971
|
+
|
|
972
|
+
### buildPlaybackGroundGridHorizontalGeometry
|
|
973
|
+
|
|
974
|
+
```ts
|
|
975
|
+
buildPlaybackGroundGridHorizontalGeometry(
|
|
976
|
+
sceneContext: PlaybackBackgroundGroundGridSceneContext,
|
|
977
|
+
): PlaybackGroundGridHorizontalGeometry
|
|
978
|
+
```
|
|
979
|
+
|
|
980
|
+
Builds the screen-horizontal depth bands for the lower neon plane.
|
|
981
|
+
|
|
982
|
+
Parameters:
|
|
983
|
+
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
984
|
+
|
|
985
|
+
Returns: Ordered far-to-near line segments and pulse subsets.
|
|
986
|
+
|
|
987
|
+
### buildPlaybackGroundGridVerticalGeometry
|
|
988
|
+
|
|
989
|
+
```ts
|
|
990
|
+
buildPlaybackGroundGridVerticalGeometry(
|
|
991
|
+
sceneContext: PlaybackBackgroundGroundGridSceneContext,
|
|
992
|
+
verticalSceneMetrics: PlaybackGroundGridVerticalSceneMetrics,
|
|
993
|
+
wrappedOffsetPx: number,
|
|
994
|
+
): PlaybackGroundGridVerticalGeometry
|
|
995
|
+
```
|
|
996
|
+
|
|
997
|
+
Builds the perspective rays that converge to the centered horizon point.
|
|
998
|
+
|
|
999
|
+
Parameters:
|
|
1000
|
+
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
1001
|
+
- `safeLaneSpacingPx` - - Stable lane spacing used for ray anchors.
|
|
1002
|
+
- `wrappedOffsetPx` - - Wrapped offset used for cache reuse and ray placement.
|
|
1003
|
+
|
|
1004
|
+
Returns: Wrapped left-to-right perspective rays and pulse subsets.
|
|
952
1005
|
|
|
953
1006
|
### resolvePlaybackGroundGridHorizontalGeometry
|
|
954
1007
|
|
|
@@ -982,75 +1035,70 @@ Parameters:
|
|
|
982
1035
|
|
|
983
1036
|
Returns: Wrapped left-to-right perspective rays and pulse subsets.
|
|
984
1037
|
|
|
985
|
-
|
|
1038
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils.ts
|
|
1039
|
+
|
|
1040
|
+
### interpolatePlaybackGroundGridPoint
|
|
986
1041
|
|
|
987
1042
|
```ts
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
1043
|
+
interpolatePlaybackGroundGridPoint(
|
|
1044
|
+
startXPx: number,
|
|
1045
|
+
startYPx: number,
|
|
1046
|
+
endXPx: number,
|
|
1047
|
+
endYPx: number,
|
|
1048
|
+
interpolationRatio: number,
|
|
1049
|
+
): PlaybackGroundGridPoint
|
|
991
1050
|
```
|
|
992
1051
|
|
|
993
|
-
|
|
1052
|
+
Interpolates one point along a perspective ray.
|
|
994
1053
|
|
|
995
1054
|
Parameters:
|
|
996
|
-
- `
|
|
997
|
-
|
|
998
|
-
|
|
1055
|
+
- `startXPx` - - Bottom anchor x-position.
|
|
1056
|
+
- `startYPx` - - Bottom anchor y-position.
|
|
1057
|
+
- `endXPx` - - Vanishing-point x-position.
|
|
1058
|
+
- `endYPx` - - Vanishing-point y-position.
|
|
1059
|
+
- `interpolationRatio` - - Normalized 0..1 position along the ray.
|
|
999
1060
|
|
|
1000
|
-
|
|
1061
|
+
Returns: Interpolated point on the perspective ray.
|
|
1001
1062
|
|
|
1002
|
-
|
|
1003
|
-
buildPlaybackGroundGridVerticalGeometry(
|
|
1004
|
-
sceneContext: PlaybackBackgroundGroundGridSceneContext,
|
|
1005
|
-
verticalSceneMetrics: PlaybackGroundGridVerticalSceneMetrics,
|
|
1006
|
-
wrappedOffsetPx: number,
|
|
1007
|
-
): PlaybackGroundGridVerticalGeometry
|
|
1008
|
-
```
|
|
1063
|
+
### PlaybackGroundGridPipeConnectionProfile
|
|
1009
1064
|
|
|
1010
|
-
|
|
1065
|
+
Shared pipe-floor projection resolved from the lower ground-grid geometry.
|
|
1011
1066
|
|
|
1012
|
-
|
|
1013
|
-
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
1014
|
-
- `safeLaneSpacingPx` - - Stable lane spacing used for ray anchors.
|
|
1015
|
-
- `wrappedOffsetPx` - - Wrapped offset used for cache reuse and ray placement.
|
|
1067
|
+
### PlaybackGroundGridPoint
|
|
1016
1068
|
|
|
1017
|
-
|
|
1069
|
+
Small point value used when interpolating positions along one grid ray.
|
|
1018
1070
|
|
|
1019
|
-
###
|
|
1071
|
+
### resolvePlaybackGroundGridDepthCurve
|
|
1020
1072
|
|
|
1021
1073
|
```ts
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
startIndex: number,
|
|
1025
|
-
input: PlaybackGroundGridVerticalRayInput,
|
|
1074
|
+
resolvePlaybackGroundGridDepthCurve(
|
|
1075
|
+
depthRatio: number,
|
|
1026
1076
|
): number
|
|
1027
1077
|
```
|
|
1028
1078
|
|
|
1029
|
-
|
|
1079
|
+
Maps a normalized depth ratio into a stronger synthwave spacing curve.
|
|
1030
1080
|
|
|
1031
1081
|
Parameters:
|
|
1032
|
-
- `
|
|
1033
|
-
- `startIndex` - - Current insertion index within the target buffer.
|
|
1034
|
-
- `input` - - Geometry and depth context for one ray.
|
|
1035
|
-
|
|
1036
|
-
Returns: Next insertion index after all ray segments have been written.
|
|
1082
|
+
- `depthRatio` - - Normalized 0..1 depth where 0 is far and 1 is near.
|
|
1037
1083
|
|
|
1038
|
-
|
|
1084
|
+
Returns: Curved depth ratio used for line placement and styling.
|
|
1039
1085
|
|
|
1040
|
-
###
|
|
1086
|
+
### resolvePlaybackGroundGridDepthFromHorizonDistance
|
|
1041
1087
|
|
|
1042
1088
|
```ts
|
|
1043
|
-
|
|
1044
|
-
|
|
1089
|
+
resolvePlaybackGroundGridDepthFromHorizonDistance(
|
|
1090
|
+
distanceToHorizonPx: number,
|
|
1091
|
+
maximumDistanceToHorizonPx: number,
|
|
1045
1092
|
): number
|
|
1046
1093
|
```
|
|
1047
1094
|
|
|
1048
|
-
|
|
1095
|
+
Resolves normalized depth from a vertical distance away from the horizon.
|
|
1049
1096
|
|
|
1050
1097
|
Parameters:
|
|
1051
|
-
- `
|
|
1098
|
+
- `distanceToHorizonPx` - - Vertical distance from the vanishing horizon.
|
|
1099
|
+
- `maximumDistanceToHorizonPx` - - Largest visible vertical horizon distance.
|
|
1052
1100
|
|
|
1053
|
-
Returns:
|
|
1101
|
+
Returns: Normalized 0..1 depth where 0 is at the horizon and 1 is nearest.
|
|
1054
1102
|
|
|
1055
1103
|
### resolvePlaybackGroundGridLineAlpha
|
|
1056
1104
|
|
|
@@ -1097,23 +1145,6 @@ Parameters:
|
|
|
1097
1145
|
|
|
1098
1146
|
Returns: Stroke width in pixels.
|
|
1099
1147
|
|
|
1100
|
-
### resolvePlaybackGroundGridDepthFromHorizonDistance
|
|
1101
|
-
|
|
1102
|
-
```ts
|
|
1103
|
-
resolvePlaybackGroundGridDepthFromHorizonDistance(
|
|
1104
|
-
distanceToHorizonPx: number,
|
|
1105
|
-
maximumDistanceToHorizonPx: number,
|
|
1106
|
-
): number
|
|
1107
|
-
```
|
|
1108
|
-
|
|
1109
|
-
Resolves normalized depth from a vertical distance away from the horizon.
|
|
1110
|
-
|
|
1111
|
-
Parameters:
|
|
1112
|
-
- `distanceToHorizonPx` - - Vertical distance from the vanishing horizon.
|
|
1113
|
-
- `maximumDistanceToHorizonPx` - - Largest visible vertical horizon distance.
|
|
1114
|
-
|
|
1115
|
-
Returns: Normalized 0..1 depth where 0 is at the horizon and 1 is nearest.
|
|
1116
|
-
|
|
1117
1148
|
### resolvePlaybackGroundGridPipeConnectionProfile
|
|
1118
1149
|
|
|
1119
1150
|
```ts
|
|
@@ -1134,38 +1165,39 @@ Parameters:
|
|
|
1134
1165
|
|
|
1135
1166
|
Returns: Pipe-floor y-position plus the matching vertical-ray scroll ratio.
|
|
1136
1167
|
|
|
1137
|
-
|
|
1168
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.selection.utils.ts
|
|
1169
|
+
|
|
1170
|
+
### rememberPlaybackGroundGridVerticalPulseSelection
|
|
1138
1171
|
|
|
1139
1172
|
```ts
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
endYPx: number,
|
|
1145
|
-
interpolationRatio: number,
|
|
1146
|
-
): PlaybackGroundGridPoint
|
|
1173
|
+
rememberPlaybackGroundGridVerticalPulseSelection(
|
|
1174
|
+
pulseSlotIndex: number,
|
|
1175
|
+
continuationState: PlaybackGroundGridVerticalPulseContinuationState,
|
|
1176
|
+
): void
|
|
1147
1177
|
```
|
|
1148
1178
|
|
|
1149
|
-
|
|
1179
|
+
Stores the resolved pulse center for continuation on the next frame.
|
|
1150
1180
|
|
|
1151
1181
|
Parameters:
|
|
1152
|
-
- `
|
|
1153
|
-
- `
|
|
1154
|
-
- `endXPx` - - Vanishing-point x-position.
|
|
1155
|
-
- `endYPx` - - Vanishing-point y-position.
|
|
1156
|
-
- `interpolationRatio` - - Normalized 0..1 position along the ray.
|
|
1182
|
+
- `pulseSlotIndex` - - Zero-based pulse slot index.
|
|
1183
|
+
- `continuationState` - - Latest visible pulse position for the slot.
|
|
1157
1184
|
|
|
1158
|
-
Returns:
|
|
1185
|
+
Returns: Nothing.
|
|
1159
1186
|
|
|
1160
|
-
###
|
|
1187
|
+
### resolveContinuedVerticalPulsePath
|
|
1161
1188
|
|
|
1162
|
-
|
|
1189
|
+
```ts
|
|
1190
|
+
resolveContinuedVerticalPulsePath(
|
|
1191
|
+
input: { candidatePulsePaths: readonly PlaybackGroundGridPulsePath[]; pulseSlotIndex: number; frameIndex: number; travelProgressRatio: number; },
|
|
1192
|
+
): PlaybackGroundGridPulsePath | null
|
|
1193
|
+
```
|
|
1163
1194
|
|
|
1164
|
-
|
|
1195
|
+
Resolves the nearest continued vertical pulse path for an active slot.
|
|
1165
1196
|
|
|
1166
|
-
|
|
1197
|
+
Parameters:
|
|
1198
|
+
- `input` - - Continuation input for the current frame.
|
|
1167
1199
|
|
|
1168
|
-
|
|
1200
|
+
Returns: Continued pulse path when one can be matched, otherwise null.
|
|
1169
1201
|
|
|
1170
1202
|
### resolvePlaybackGroundGridVerticalPulseSelection
|
|
1171
1203
|
|
|
@@ -1192,37 +1224,22 @@ Parameters:
|
|
|
1192
1224
|
|
|
1193
1225
|
Returns: Vertical pulse path, or null when none are available.
|
|
1194
1226
|
|
|
1195
|
-
###
|
|
1196
|
-
|
|
1197
|
-
```ts
|
|
1198
|
-
rememberPlaybackGroundGridVerticalPulseSelection(
|
|
1199
|
-
pulseSlotIndex: number,
|
|
1200
|
-
continuationState: PlaybackGroundGridVerticalPulseContinuationState,
|
|
1201
|
-
): void
|
|
1202
|
-
```
|
|
1203
|
-
|
|
1204
|
-
Stores the resolved pulse center for continuation on the next frame.
|
|
1205
|
-
|
|
1206
|
-
Parameters:
|
|
1207
|
-
- `pulseSlotIndex` - - Zero-based pulse slot index.
|
|
1208
|
-
- `continuationState` - - Latest visible pulse position for the slot.
|
|
1209
|
-
|
|
1210
|
-
Returns: Nothing.
|
|
1211
|
-
|
|
1212
|
-
### resolveContinuedVerticalPulsePath
|
|
1227
|
+
### resolveStableVerticalPulsePathCandidates
|
|
1213
1228
|
|
|
1214
1229
|
```ts
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1230
|
+
resolveStableVerticalPulsePathCandidates(
|
|
1231
|
+
verticalPulsePaths: readonly PlaybackGroundGridPulsePath[],
|
|
1232
|
+
visibleVerticalPulsePaths: readonly PlaybackGroundGridPulsePath[],
|
|
1233
|
+
): readonly PlaybackGroundGridPulsePath[]
|
|
1218
1234
|
```
|
|
1219
1235
|
|
|
1220
|
-
Resolves
|
|
1236
|
+
Resolves a stable vertical pulse-candidate set for one frame.
|
|
1221
1237
|
|
|
1222
1238
|
Parameters:
|
|
1223
|
-
- `
|
|
1239
|
+
- `verticalPulsePaths` - - Full vertical ray paths for the current frame.
|
|
1240
|
+
- `visibleVerticalPulsePaths` - - Midpoint-visible subset used as fallback.
|
|
1224
1241
|
|
|
1225
|
-
Returns:
|
|
1242
|
+
Returns: Stable candidate set for deterministic vertical pulse selection.
|
|
1226
1243
|
|
|
1227
1244
|
### trimCachedVerticalPulseContinuationState
|
|
1228
1245
|
|
|
@@ -1239,39 +1256,24 @@ Parameters:
|
|
|
1239
1256
|
|
|
1240
1257
|
Returns: Nothing.
|
|
1241
1258
|
|
|
1242
|
-
### resolveStableVerticalPulsePathCandidates
|
|
1243
|
-
|
|
1244
|
-
```ts
|
|
1245
|
-
resolveStableVerticalPulsePathCandidates(
|
|
1246
|
-
verticalPulsePaths: readonly PlaybackGroundGridPulsePath[],
|
|
1247
|
-
visibleVerticalPulsePaths: readonly PlaybackGroundGridPulsePath[],
|
|
1248
|
-
): readonly PlaybackGroundGridPulsePath[]
|
|
1249
|
-
```
|
|
1250
|
-
|
|
1251
|
-
Resolves a stable vertical pulse-candidate set for one frame.
|
|
1252
|
-
|
|
1253
|
-
Parameters:
|
|
1254
|
-
- `verticalPulsePaths` - - Full vertical ray paths for the current frame.
|
|
1255
|
-
- `visibleVerticalPulsePaths` - - Midpoint-visible subset used as fallback.
|
|
1256
|
-
|
|
1257
|
-
Returns: Stable candidate set for deterministic vertical pulse selection.
|
|
1258
|
-
|
|
1259
1259
|
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.timing.utils.ts
|
|
1260
1260
|
|
|
1261
|
-
###
|
|
1261
|
+
### resolvePlaybackGroundGridHorizontalPulsePath
|
|
1262
1262
|
|
|
1263
1263
|
```ts
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1264
|
+
resolvePlaybackGroundGridHorizontalPulsePath(
|
|
1265
|
+
horizontalPulsePaths: readonly PlaybackGroundGridPulsePath[],
|
|
1266
|
+
pulseSlotIndex: number,
|
|
1267
|
+
): PlaybackGroundGridPulsePath | null
|
|
1267
1268
|
```
|
|
1268
1269
|
|
|
1269
|
-
|
|
1270
|
+
Selects one thick-enough horizontal band for the current pulse slot.
|
|
1270
1271
|
|
|
1271
1272
|
Parameters:
|
|
1272
|
-
- `
|
|
1273
|
+
- `horizontalPulsePaths` - - Cached horizontal pulse paths eligible for travel.
|
|
1274
|
+
- `pulseSlotIndex` - - Zero-based pulse slot index.
|
|
1273
1275
|
|
|
1274
|
-
Returns:
|
|
1276
|
+
Returns: Horizontal pulse path, or null when none are suitable.
|
|
1275
1277
|
|
|
1276
1278
|
### resolvePlaybackGroundGridPulseOrientation
|
|
1277
1279
|
|
|
@@ -1288,22 +1290,20 @@ Parameters:
|
|
|
1288
1290
|
|
|
1289
1291
|
Returns: Horizontal or vertical pulse travel orientation.
|
|
1290
1292
|
|
|
1291
|
-
###
|
|
1293
|
+
### resolvePlaybackGroundGridPulseTiming
|
|
1292
1294
|
|
|
1293
1295
|
```ts
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
): PlaybackGroundGridPulsePath | null
|
|
1296
|
+
resolvePlaybackGroundGridPulseTiming(
|
|
1297
|
+
frameIndex: number,
|
|
1298
|
+
): PlaybackGroundGridPulseTimingState | null
|
|
1298
1299
|
```
|
|
1299
1300
|
|
|
1300
|
-
|
|
1301
|
+
Resolves timing state for the currently active deterministic pulse slot.
|
|
1301
1302
|
|
|
1302
1303
|
Parameters:
|
|
1303
|
-
- `
|
|
1304
|
-
- `pulseSlotIndex` - - Zero-based pulse slot index.
|
|
1304
|
+
- `frameIndex` - - Current deterministic playback frame index.
|
|
1305
1305
|
|
|
1306
|
-
Returns:
|
|
1306
|
+
Returns: Pulse timing state, or null when no pulse is active in this frame.
|
|
1307
1307
|
|
|
1308
1308
|
### resolvePlaybackGroundGridPulseTravelRatio
|
|
1309
1309
|
|
|
@@ -1426,6 +1426,25 @@ Parameters:
|
|
|
1426
1426
|
|
|
1427
1427
|
Returns: Normalized 0..1 depth where 0 is at the horizon and 1 is nearest.
|
|
1428
1428
|
|
|
1429
|
+
### resolvePlaybackGroundGridGeometry
|
|
1430
|
+
|
|
1431
|
+
```ts
|
|
1432
|
+
resolvePlaybackGroundGridGeometry(
|
|
1433
|
+
sceneContext: PlaybackBackgroundGroundGridSceneContext,
|
|
1434
|
+
frameIndex: number,
|
|
1435
|
+
scrollBasePx: number,
|
|
1436
|
+
): PlaybackGroundGridGeometry
|
|
1437
|
+
```
|
|
1438
|
+
|
|
1439
|
+
Builds the line geometry for the neon ground grid.
|
|
1440
|
+
|
|
1441
|
+
Parameters:
|
|
1442
|
+
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
1443
|
+
- `frameIndex` - - Current deterministic playback frame index.
|
|
1444
|
+
- `scrollBasePx` - - Shared world scroll used for parallax motion.
|
|
1445
|
+
|
|
1446
|
+
Returns: Horizontal depth bands and perspective rays for the current frame.
|
|
1447
|
+
|
|
1429
1448
|
### resolvePlaybackGroundGridLineAlpha
|
|
1430
1449
|
|
|
1431
1450
|
```ts
|
|
@@ -1471,25 +1490,6 @@ Parameters:
|
|
|
1471
1490
|
|
|
1472
1491
|
Returns: Stroke width in pixels.
|
|
1473
1492
|
|
|
1474
|
-
### resolvePlaybackGroundGridGeometry
|
|
1475
|
-
|
|
1476
|
-
```ts
|
|
1477
|
-
resolvePlaybackGroundGridGeometry(
|
|
1478
|
-
sceneContext: PlaybackBackgroundGroundGridSceneContext,
|
|
1479
|
-
frameIndex: number,
|
|
1480
|
-
scrollBasePx: number,
|
|
1481
|
-
): PlaybackGroundGridGeometry
|
|
1482
|
-
```
|
|
1483
|
-
|
|
1484
|
-
Builds the line geometry for the neon ground grid.
|
|
1485
|
-
|
|
1486
|
-
Parameters:
|
|
1487
|
-
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
1488
|
-
- `frameIndex` - - Current deterministic playback frame index.
|
|
1489
|
-
- `scrollBasePx` - - Shared world scroll used for parallax motion.
|
|
1490
|
-
|
|
1491
|
-
Returns: Horizontal depth bands and perspective rays for the current frame.
|
|
1492
|
-
|
|
1493
1493
|
### resolvePlaybackGroundGridSceneContext
|
|
1494
1494
|
|
|
1495
1495
|
```ts
|