@reicek/neataptic-ts 0.1.21 → 0.1.23
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/agents/boundary-mapper.agent.md +31 -0
- package/.github/agents/docs-scout.agent.md +29 -0
- package/.github/agents/plan-scout.agent.md +31 -0
- package/.github/agents/solid-split.agent.md +143 -0
- package/.github/copilot-instructions.md +119 -0
- package/.github/skills/solid-split-playbook/SKILL.md +220 -0
- package/.github/skills/solid-split-playbook/assets/docs-checklist.md +34 -0
- package/.github/skills/solid-split-playbook/assets/split-plan-template.md +48 -0
- package/.github/skills/solid-split-playbook/assets/split-workflow-checklist.md +51 -0
- package/.github/skills/trace-analyzer-extension/SKILL.md +63 -0
- package/.github/skills/trace-analyzer-extension/assets/extension-checklist.md +24 -0
- package/.github/skills/trace-analyzer-extension/references/analyzer-extension-workflow.md +101 -0
- package/.github/skills/trace-audit-reporting/SKILL.md +96 -0
- package/.github/skills/trace-audit-reporting/assets/performance-report-template.md +123 -0
- package/.github/skills/trace-audit-reporting/references/trace-analysis-workflow.md +132 -0
- package/package.json +7 -3
- package/plans/ES2023 migration +13 -8
- package/plans/Evolution_Training_Interoperability_Contracts.md +1 -1
- package/plans/Flappy_Bird_Folder_Documentation_Pass.md +53 -0
- package/plans/Flappy_Evolution_Worker_Documentation_Pass.md +58 -0
- package/plans/Interactive_Examples_and_Learning_Path.md +10 -2
- package/plans/Memory_Optimization.md +3 -3
- package/plans/README.md +63 -0
- package/plans/Roadmap.md +15 -3
- package/plans/asciiMaze_SOLID_split.done.md +130 -0
- package/plans/flappy_bird_SOLID_split.done.md +67 -0
- package/scripts/analyze-trace.ts +590 -0
- package/scripts/assets/theme.css +221 -34
- package/scripts/copy-examples.mjs +9 -5
- package/scripts/export-onnx.mjs +3 -3
- package/scripts/generate-bench-tables.mjs +10 -10
- package/scripts/generate-bench-tables.ts +10 -10
- package/scripts/generate-docs.ts +1415 -449
- package/scripts/render-docs-html.ts +15 -8
- package/src/README.md +127 -222
- package/src/architecture/README.md +117 -184
- package/src/architecture/architect.ts +6 -0
- package/src/architecture/layer/README.md +38 -38
- package/src/architecture/network/README.md +49 -31
- package/src/architecture/network/activate/README.md +77 -77
- package/src/architecture/network/connect/README.md +15 -13
- package/src/architecture/network/deterministic/README.md +7 -7
- package/src/architecture/network/evolve/README.md +44 -44
- package/src/architecture/network/gating/README.md +20 -20
- package/src/architecture/network/genetic/README.md +51 -51
- package/src/architecture/network/mutate/README.md +97 -97
- package/src/architecture/network/network.types.ts +39 -0
- package/src/architecture/network/onnx/README.md +264 -264
- package/src/architecture/network/prune/README.md +39 -39
- package/src/architecture/network/remove/README.md +26 -26
- package/src/architecture/network/serialize/README.md +56 -56
- package/src/architecture/network/serialize/network.serialize.json.utils.ts +1 -0
- package/src/architecture/network/serialize/network.serialize.utils.ts +6 -1
- package/src/architecture/network/serialize/network.serialize.utils.types.ts +1 -1
- package/src/architecture/network/slab/README.md +61 -61
- package/src/architecture/network/standalone/README.md +24 -24
- package/src/architecture/network/stats/README.md +9 -9
- package/src/architecture/network/topology/README.md +46 -46
- package/src/architecture/network/training/README.md +21 -21
- package/src/architecture/network.ts +114 -10
- package/src/methods/README.md +9 -87
- package/src/multithreading/README.md +8 -77
- package/src/multithreading/workers/README.md +2 -2
- package/src/multithreading/workers/browser/README.md +0 -6
- package/src/multithreading/workers/node/README.md +0 -3
- package/src/neat/README.md +623 -568
- package/src/neat/neat.evolve.population.utils.ts +29 -5
- package/src/neat/neat.helpers.ts +16 -0
- package/src/neat/neat.topology-intent.utils.ts +160 -0
- package/src/utils/README.md +18 -18
- package/test/examples/asciiMaze/README.md +59 -59
- package/test/examples/asciiMaze/asciiMaze.e2e.test.ts +14 -9
- package/test/examples/asciiMaze/browser-entry/README.md +196 -0
- package/test/examples/asciiMaze/browser-entry/browser-entry.abort.services.ts +95 -0
- package/test/examples/asciiMaze/browser-entry/browser-entry.constants.ts +23 -0
- package/test/examples/asciiMaze/browser-entry/browser-entry.curriculum.services.ts +115 -0
- package/test/examples/asciiMaze/browser-entry/browser-entry.globals.services.ts +106 -0
- package/test/examples/asciiMaze/browser-entry/browser-entry.host.services.ts +157 -0
- package/test/examples/asciiMaze/browser-entry/browser-entry.services.ts +14 -0
- package/test/examples/asciiMaze/browser-entry/browser-entry.ts +129 -0
- package/test/examples/asciiMaze/browser-entry/browser-entry.types.ts +120 -0
- package/test/examples/asciiMaze/browser-entry/browser-entry.utils.ts +98 -0
- package/test/examples/asciiMaze/browser-entry.ts +10 -576
- package/test/examples/asciiMaze/dashboardManager/README.md +276 -0
- package/test/examples/asciiMaze/dashboardManager/archive/README.md +16 -0
- package/test/examples/asciiMaze/dashboardManager/archive/dashboardManager.archive.services.ts +267 -0
- package/test/examples/asciiMaze/dashboardManager/dashboardManager.constants.ts +35 -0
- package/test/examples/asciiMaze/dashboardManager/dashboardManager.services.ts +103 -0
- package/test/examples/asciiMaze/dashboardManager/dashboardManager.ts +181 -0
- package/test/examples/asciiMaze/dashboardManager/dashboardManager.types.ts +267 -0
- package/test/examples/asciiMaze/dashboardManager/dashboardManager.utils.ts +254 -0
- package/test/examples/asciiMaze/dashboardManager/live/README.md +14 -0
- package/test/examples/asciiMaze/dashboardManager/live/dashboardManager.live.services.ts +264 -0
- package/test/examples/asciiMaze/dashboardManager/telemetry/README.md +47 -0
- package/test/examples/asciiMaze/dashboardManager/telemetry/dashboardManager.telemetry.services.ts +513 -0
- package/test/examples/asciiMaze/dashboardManager.ts +13 -2335
- package/test/examples/asciiMaze/evolutionEngine/README.md +1058 -0
- package/test/examples/asciiMaze/evolutionEngine/curriculumPhase.ts +90 -0
- package/test/examples/asciiMaze/evolutionEngine/engineState.constants.ts +36 -0
- package/test/examples/asciiMaze/evolutionEngine/engineState.ts +58 -513
- package/test/examples/asciiMaze/evolutionEngine/engineState.types.ts +212 -0
- package/test/examples/asciiMaze/evolutionEngine/engineState.utils.ts +301 -0
- package/test/examples/asciiMaze/evolutionEngine/evolutionEngine.types.ts +445 -0
- package/test/examples/asciiMaze/evolutionEngine/evolutionLoop.ts +81 -50
- package/test/examples/asciiMaze/evolutionEngine/optionsAndSetup.ts +2 -4
- package/test/examples/asciiMaze/evolutionEngine/populationDynamics.ts +17 -33
- package/test/examples/asciiMaze/evolutionEngine/populationPruning.ts +1 -1
- package/test/examples/asciiMaze/evolutionEngine/rngAndTiming.ts +1 -2
- package/test/examples/asciiMaze/evolutionEngine/sampling.ts +1 -1
- package/test/examples/asciiMaze/evolutionEngine/scratchPools.ts +2 -5
- package/test/examples/asciiMaze/evolutionEngine/setupHelpers.ts +30 -37
- package/test/examples/asciiMaze/evolutionEngine/telemetryMetrics.ts +16 -58
- package/test/examples/asciiMaze/evolutionEngine/trainingWarmStart.ts +2 -2
- package/test/examples/asciiMaze/evolutionEngine.ts +55 -55
- package/test/examples/asciiMaze/fitness.ts +2 -2
- package/test/examples/asciiMaze/fitness.types.ts +65 -0
- package/test/examples/asciiMaze/interfaces.ts +64 -1352
- package/test/examples/asciiMaze/mazeMovement/README.md +356 -0
- package/test/examples/asciiMaze/mazeMovement/finalization/README.md +49 -0
- package/test/examples/asciiMaze/mazeMovement/finalization/mazeMovement.finalization.ts +138 -0
- package/test/examples/asciiMaze/mazeMovement/mazeMovement.constants.ts +101 -0
- package/test/examples/asciiMaze/mazeMovement/mazeMovement.services.ts +230 -0
- package/test/examples/asciiMaze/mazeMovement/mazeMovement.ts +299 -0
- package/test/examples/asciiMaze/mazeMovement/mazeMovement.types.ts +185 -0
- package/test/examples/asciiMaze/mazeMovement/mazeMovement.utils.ts +153 -0
- package/test/examples/asciiMaze/mazeMovement/policy/README.md +91 -0
- package/test/examples/asciiMaze/mazeMovement/policy/mazeMovement.policy.ts +467 -0
- package/test/examples/asciiMaze/mazeMovement/runtime/README.md +95 -0
- package/test/examples/asciiMaze/mazeMovement/runtime/mazeMovement.runtime.ts +354 -0
- package/test/examples/asciiMaze/mazeMovement/shaping/README.md +124 -0
- package/test/examples/asciiMaze/mazeMovement/shaping/mazeMovement.shaping.ts +459 -0
- package/test/examples/asciiMaze/mazeMovement.ts +12 -2978
- package/test/examples/flappy_bird/README.md +193 -88
- package/test/examples/flappy_bird/browser-entry/README.md +1441 -0
- package/test/examples/flappy_bird/browser-entry/browser-entry.host.utils.ts +4 -324
- package/test/examples/flappy_bird/browser-entry/browser-entry.network-view.utils.ts +9 -396
- package/test/examples/flappy_bird/browser-entry/browser-entry.playback.utils.ts +6 -714
- package/test/examples/flappy_bird/browser-entry/browser-entry.render.types.ts +26 -3
- package/test/examples/flappy_bird/browser-entry/browser-entry.runtime.types.ts +16 -1
- package/test/examples/flappy_bird/browser-entry/browser-entry.simulation.types.ts +39 -5
- package/test/examples/flappy_bird/browser-entry/browser-entry.spawn.utils.ts +11 -31
- package/test/examples/flappy_bird/browser-entry/browser-entry.stats.types.ts +32 -4
- package/test/examples/flappy_bird/browser-entry/browser-entry.ts +11 -0
- package/test/examples/flappy_bird/browser-entry/browser-entry.types.ts +8 -0
- package/test/examples/flappy_bird/browser-entry/browser-entry.visualization.types.ts +50 -7
- package/test/examples/flappy_bird/browser-entry/browser-entry.visualization.utils.ts +21 -893
- package/test/examples/flappy_bird/browser-entry/browser-entry.worker.types.ts +91 -10
- package/test/examples/flappy_bird/browser-entry/host/README.md +318 -0
- package/test/examples/flappy_bird/browser-entry/host/host.canvas.service.ts +16 -0
- package/test/examples/flappy_bird/browser-entry/host/host.constants.ts +20 -0
- package/test/examples/flappy_bird/browser-entry/host/host.dom.service.ts +10 -0
- package/test/examples/flappy_bird/browser-entry/host/host.resize.service.ts +1 -295
- package/test/examples/flappy_bird/browser-entry/host/host.stats.service.ts +14 -0
- package/test/examples/flappy_bird/browser-entry/host/host.ts +592 -6
- package/test/examples/flappy_bird/browser-entry/host/host.types.ts +13 -0
- package/test/examples/flappy_bird/browser-entry/host/resize/README.md +309 -0
- package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.constants.ts +47 -0
- package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.services.ts +392 -0
- package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.ts +132 -0
- package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.types.ts +92 -0
- package/test/examples/flappy_bird/browser-entry/host/resize/host.resize.service.utils.ts +272 -0
- package/test/examples/flappy_bird/browser-entry/network-view/README.md +389 -0
- package/test/examples/flappy_bird/browser-entry/network-view/network-view.draw.service.ts +13 -0
- package/test/examples/flappy_bird/browser-entry/network-view/network-view.labels.utils.ts +12 -0
- package/test/examples/flappy_bird/browser-entry/network-view/network-view.layout.utils.ts +14 -0
- package/test/examples/flappy_bird/browser-entry/network-view/network-view.topology.utils.ts +267 -0
- package/test/examples/flappy_bird/browser-entry/network-view/network-view.ts +823 -7
- package/test/examples/flappy_bird/browser-entry/network-view/network-view.types.ts +11 -0
- package/test/examples/flappy_bird/browser-entry/playback/README.md +845 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/README.md +355 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/README.md +1068 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.batch.services.ts +64 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.cache.services.ts +207 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.constants.ts +197 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.batch.utils.ts +114 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.layout.utils.test.ts +96 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.layout.utils.ts +204 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.services.ts +49 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.utils.ts +313 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.layer.services.ts +81 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils.test.ts +33 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils.ts +201 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.selection.utils.ts +171 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.timing.utils.ts +124 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.test.ts +279 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.ts +132 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.scene.services.ts +26 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.services.ts +65 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.ts +48 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types.ts +342 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.utils.ts +10 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.cache.services.ts +96 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.constants.ts +127 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.draw.services.ts +184 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.scene.services.ts +64 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.services.ts +6 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.ts +53 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.types.ts +105 -0
- package/test/examples/flappy_bird/browser-entry/playback/background/playback.background.utils.ts +100 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/README.md +541 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.bird.utils.ts +180 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.canvas.services.ts +77 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.entity.services.ts +167 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.scene.services.ts +57 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.service.test.ts +176 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.service.ts +113 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.services.ts +35 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.trail.utils.ts +248 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types.ts +103 -0
- package/test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.utils.ts +11 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.constants.ts +1 -1
- package/test/examples/flappy_bird/browser-entry/playback/playback.frame-render.service.ts +10 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.iteration.services.ts +192 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.loop.service.ts +12 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.orchestration.types.ts +78 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.render.pipe-outline.service.ts +128 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.render.service.ts +1 -116
- package/test/examples/flappy_bird/browser-entry/playback/playback.session.services.ts +184 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.snapshot.utils.test.ts +121 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.snapshot.utils.ts +8 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.layer.services.ts +36 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.service.ts +11 -128
- package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.services.ts +268 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.types.ts +91 -0
- package/test/examples/flappy_bird/browser-entry/playback/playback.starfield.utils.ts +11 -4
- package/test/examples/flappy_bird/browser-entry/playback/playback.trail.utils.ts +9 -86
- package/test/examples/flappy_bird/browser-entry/playback/playback.ts +75 -7
- package/test/examples/flappy_bird/browser-entry/playback/playback.types.ts +12 -9
- package/test/examples/flappy_bird/browser-entry/playback/playback.worker-channel.utils.ts +11 -123
- package/test/examples/flappy_bird/browser-entry/playback/snapshot/README.md +55 -0
- package/test/examples/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.services.ts +103 -0
- package/test/examples/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.summary.utils.test.ts +45 -0
- package/test/examples/flappy_bird/browser-entry/playback/snapshot/playback.snapshot.summary.utils.ts +28 -0
- package/test/examples/flappy_bird/browser-entry/playback/trail/README.md +95 -0
- package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.history.services.test.ts +35 -0
- package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.history.services.ts +64 -0
- package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.opacity.utils.test.ts +37 -0
- package/test/examples/flappy_bird/browser-entry/playback/trail/playback.trail.opacity.utils.ts +74 -0
- package/test/examples/flappy_bird/browser-entry/playback/worker-channel/README.md +71 -0
- package/test/examples/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.request.services.ts +45 -0
- package/test/examples/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.summary.services.ts +74 -0
- package/test/examples/flappy_bird/browser-entry/playback/worker-channel/playback.worker-channel.types.ts +53 -0
- package/test/examples/flappy_bird/browser-entry/runtime/README.md +304 -0
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.browser-globals.service.ts +15 -0
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.errors.ts +17 -0
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.evolution-launch.service.ts +56 -0
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.evolution-loop.service.ts +19 -0
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.lifecycle.service.ts +96 -0
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.startup.service.ts +92 -0
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.telemetry.service.ts +24 -0
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.ts +31 -121
- package/test/examples/flappy_bird/browser-entry/runtime/runtime.types.ts +65 -0
- package/test/examples/flappy_bird/browser-entry/visualization/README.md +568 -0
- package/test/examples/flappy_bird/browser-entry/visualization/visualization.colors.utils.ts +26 -0
- package/test/examples/flappy_bird/browser-entry/visualization/visualization.constants.ts +110 -0
- package/test/examples/flappy_bird/browser-entry/visualization/visualization.draw.service.ts +979 -19
- package/test/examples/flappy_bird/browser-entry/visualization/visualization.legend.utils.ts +157 -3
- package/test/examples/flappy_bird/browser-entry/visualization/visualization.topology.utils.ts +13 -27
- package/test/examples/flappy_bird/browser-entry/visualization/visualization.ts +7 -20
- package/test/examples/flappy_bird/browser-entry/visualization/visualization.types.ts +14 -0
- package/test/examples/flappy_bird/browser-entry/worker-channel/README.md +238 -0
- package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.errors.ts +11 -0
- package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.generation.service.ts +12 -0
- package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.playback.service.test.ts +143 -0
- package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.playback.service.ts +140 -14
- package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.request.service.ts +27 -0
- package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.ts +8 -0
- package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.types.ts +23 -0
- package/test/examples/flappy_bird/browser-entry/worker-channel/worker-channel.url.service.ts +5 -0
- package/test/examples/flappy_bird/constants/README.md +1163 -0
- package/test/examples/flappy_bird/constants/constants.birds.ts +16 -38
- package/test/examples/flappy_bird/constants/constants.difficulty.ts +21 -0
- package/test/examples/flappy_bird/constants/constants.network-view.ts +24 -0
- package/test/examples/flappy_bird/constants/constants.network.ts +1 -1
- package/test/examples/flappy_bird/constants/constants.observation.ts +7 -0
- package/test/examples/flappy_bird/constants/constants.palette.ts +9 -2
- package/test/examples/flappy_bird/constants/constants.physics.ts +9 -0
- package/test/examples/flappy_bird/constants/constants.pipe-render.ts +3 -0
- package/test/examples/flappy_bird/constants/constants.pipes.ts +22 -3
- package/test/examples/flappy_bird/constants/constants.runtime.ts +28 -4
- package/test/examples/flappy_bird/constants/constants.starfield.ts +78 -3
- package/test/examples/flappy_bird/constants/constants.ts +6 -0
- package/test/examples/flappy_bird/environment/README.md +182 -0
- package/test/examples/flappy_bird/environment/environment.collision.utils.ts +7 -0
- package/test/examples/flappy_bird/environment/environment.constants.ts +16 -3
- package/test/examples/flappy_bird/environment/environment.observation.utils.ts +12 -19
- package/test/examples/flappy_bird/environment/environment.state.service.ts +10 -0
- package/test/examples/flappy_bird/environment/environment.step.service.ts +15 -66
- package/test/examples/flappy_bird/environment/environment.types.ts +14 -0
- package/test/examples/flappy_bird/evaluation/README.md +155 -0
- package/test/examples/flappy_bird/evaluation/evaluation.constants.ts +23 -4
- package/test/examples/flappy_bird/evaluation/evaluation.fitness.utils.ts +16 -1
- package/test/examples/flappy_bird/evaluation/evaluation.rollout.service.ts +7 -374
- package/test/examples/flappy_bird/evaluation/evaluation.seed.utils.ts +4 -0
- package/test/examples/flappy_bird/evaluation/evaluation.types.ts +18 -2
- package/test/examples/flappy_bird/evaluation/rollout/README.md +355 -0
- package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.constants.ts +38 -0
- package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.service.ts +71 -0
- package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.services.ts +338 -0
- package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.types.ts +69 -0
- package/test/examples/flappy_bird/evaluation/rollout/evaluation.rollout.utils.ts +399 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/README.md +845 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.constants.ts +49 -7
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.errors.ts +34 -3
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.evolution.service.ts +22 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.playback.service.ts +62 -26
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.protocol.service.ts +27 -1
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.runtime.service.ts +23 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.frame.service.ts +378 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.types.ts +22 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.simulation.utils.ts +20 -203
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.snapshot.utils.test.ts +94 -0
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.snapshot.utils.ts +78 -13
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.ts +235 -344
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.types.ts +170 -22
- package/test/examples/flappy_bird/flappy-evolution-worker/flappy-evolution-worker.warm-start.service.ts +314 -0
- package/test/examples/flappy_bird/flappy.simulation.shared.utils.ts +17 -0
- package/test/examples/flappy_bird/flappyEnvironment.ts +21 -0
- package/test/examples/flappy_bird/flappyEvaluation.ts +12 -0
- package/test/examples/flappy_bird/flappyEvolution.worker.ts +7 -0
- package/test/examples/flappy_bird/index.ts +8 -2
- package/test/examples/flappy_bird/rng.ts +10 -0
- package/test/examples/flappy_bird/simulation-shared/README.md +518 -0
- package/test/examples/flappy_bird/simulation-shared/observation/README.md +255 -0
- package/test/examples/flappy_bird/simulation-shared/observation/observation.features.utils.ts +339 -0
- package/test/examples/flappy_bird/simulation-shared/observation/observation.ts +19 -0
- package/test/examples/flappy_bird/simulation-shared/observation/observation.vector.utils.ts +81 -0
- package/test/examples/flappy_bird/simulation-shared/simulation-shared.constants.ts +3 -0
- package/test/examples/flappy_bird/simulation-shared/simulation-shared.control.utils.ts +6 -0
- package/test/examples/flappy_bird/simulation-shared/simulation-shared.difficulty.utils.ts +9 -0
- package/test/examples/flappy_bird/simulation-shared/simulation-shared.errors.ts +10 -1
- package/test/examples/flappy_bird/simulation-shared/simulation-shared.memory.utils.ts +18 -0
- package/test/examples/flappy_bird/simulation-shared/simulation-shared.observation.utils.ts +7 -402
- package/test/examples/flappy_bird/simulation-shared/simulation-shared.spawn.utils.ts +36 -6
- package/test/examples/flappy_bird/{evaluation/evaluation.statistics.utils.ts → simulation-shared/simulation-shared.statistics.utils.ts} +30 -9
- package/test/examples/flappy_bird/simulation-shared/simulation-shared.types.ts +38 -5
- package/test/examples/flappy_bird/trainFlappyBird.ts +13 -0
- package/test/examples/flappy_bird/trainer/README.md +676 -0
- package/test/examples/flappy_bird/trainer/evaluation/README.md +253 -0
- package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.constants.ts +15 -0
- package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.services.ts +86 -0
- package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.ts +187 -0
- package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.types.ts +32 -0
- package/test/examples/flappy_bird/trainer/evaluation/trainer.evaluation.service.utils.ts +182 -0
- package/test/examples/flappy_bird/trainer/trainer.evaluation.service.ts +13 -0
- package/test/examples/flappy_bird/trainer/trainer.fitness.service.ts +23 -1
- package/test/examples/flappy_bird/trainer/trainer.loop.service.ts +17 -1
- package/test/examples/flappy_bird/trainer/trainer.report.service.services.ts +181 -0
- package/test/examples/flappy_bird/trainer/trainer.report.service.ts +136 -0
- package/test/examples/flappy_bird/trainer/trainer.selection.utils.ts +89 -0
- package/test/examples/flappy_bird/trainer/trainer.setup.service.ts +22 -0
- package/test/examples/flappy_bird/trainer/trainer.signals.service.ts +8 -0
- package/test/examples/flappy_bird/trainer/trainer.ts +38 -553
- package/test/examples/flappy_bird/trainer/trainer.types.ts +44 -7
- package/test/neat/neat.topology-intent.test.ts +129 -0
- package/test/network/network.topology-intent.test.ts +44 -0
- package/test/examples/flappy_bird/browser-entry/browser-entry.utils.ts +0 -12
- package/test/examples/flappy_bird/environment/environment.ts +0 -7
- package/test/examples/flappy_bird/evaluation/evaluation.ts +0 -7
- package/test/examples/flappy_bird/simulation-shared/simulation-shared.ts +0 -15
- package/test/examples/flappy_bird/trainer/trainer.statistics.utils.ts +0 -78
|
@@ -0,0 +1,1068 @@
|
|
|
1
|
+
# browser-entry/playback/background/ground-grid
|
|
2
|
+
|
|
3
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.types.ts
|
|
4
|
+
|
|
5
|
+
### PlaybackBackgroundGroundGridRequest
|
|
6
|
+
|
|
7
|
+
Narrow request required to render the playback ground grid.
|
|
8
|
+
|
|
9
|
+
The ground grid only needs time and world-scroll context. That separation is
|
|
10
|
+
deliberate: the lower-band renderer should respond to camera motion like a
|
|
11
|
+
piece of scenic lighting, not reach into gameplay entities or playback HUD
|
|
12
|
+
state.
|
|
13
|
+
|
|
14
|
+
### PlaybackBackgroundGroundGridResolvedScene
|
|
15
|
+
|
|
16
|
+
Geometry and style package resolved before drawing the ground grid.
|
|
17
|
+
|
|
18
|
+
Splitting scene resolution from drawing keeps canvas code simple: by the time
|
|
19
|
+
the renderer runs, every geometric and palette decision has already been made
|
|
20
|
+
and packed into one immutable object graph.
|
|
21
|
+
|
|
22
|
+
### PlaybackBackgroundGroundGridSceneContext
|
|
23
|
+
|
|
24
|
+
Immutable scene context resolved for one lower-band ground-grid pass.
|
|
25
|
+
|
|
26
|
+
This is the adapted subset of the shared background scene that the ground
|
|
27
|
+
grid cares about: horizon position, lower-band bounds, and the centered
|
|
28
|
+
vanishing point that gives the grid its forced-perspective look.
|
|
29
|
+
|
|
30
|
+
### PlaybackBackgroundGroundGridSourceScene
|
|
31
|
+
|
|
32
|
+
Helper alias used when adapting the shared background scene context.
|
|
33
|
+
|
|
34
|
+
The parent background module owns the full sky-plus-ground scene contract;
|
|
35
|
+
the grid renderer narrows that shape to only the fields needed for the lower
|
|
36
|
+
band so the dependency direction stays clear.
|
|
37
|
+
|
|
38
|
+
### PlaybackBackgroundGroundGridStyle
|
|
39
|
+
|
|
40
|
+
Theme-owned style contract for the neon ground grid.
|
|
41
|
+
|
|
42
|
+
The ground grid uses three coordinated colors: the structural line work, a
|
|
43
|
+
fog wash that softens the lower band, and small pulse markers that briefly
|
|
44
|
+
travel along eligible tracks.
|
|
45
|
+
|
|
46
|
+
### PlaybackGroundGridAnchorBounds
|
|
47
|
+
|
|
48
|
+
Visible horizon bounds projected onto the bottom anchor line.
|
|
49
|
+
|
|
50
|
+
Perspective rays begin conceptually at the horizon and terminate on the floor
|
|
51
|
+
anchor line, so this structure captures the visible lane span after the
|
|
52
|
+
horizon segment has been projected downward.
|
|
53
|
+
|
|
54
|
+
### PlaybackGroundGridAnchorBoundsInput
|
|
55
|
+
|
|
56
|
+
Input used when projecting a visible horizon span onto anchor space.
|
|
57
|
+
|
|
58
|
+
### PlaybackGroundGridAnchorProjectionInput
|
|
59
|
+
|
|
60
|
+
Input used when projecting one horizon x-position onto the floor anchor line.
|
|
61
|
+
|
|
62
|
+
### PlaybackGroundGridGeometry
|
|
63
|
+
|
|
64
|
+
Pure geometry bundle generated before canvas drawing begins.
|
|
65
|
+
|
|
66
|
+
Horizontal bands, vertical rays, and the optional pulse are resolved into one
|
|
67
|
+
package so the draw layer can stay strictly about paint order.
|
|
68
|
+
|
|
69
|
+
### PlaybackGroundGridHorizontalGeometry
|
|
70
|
+
|
|
71
|
+
Cached horizontal geometry bundle reused across matching scene sizes.
|
|
72
|
+
|
|
73
|
+
Horizontal depth lines are stable for a given viewport, which makes them the
|
|
74
|
+
cheapest part of the grid to cache aggressively.
|
|
75
|
+
|
|
76
|
+
### PlaybackGroundGridHorizontalGeometryFactory
|
|
77
|
+
|
|
78
|
+
`() => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridHorizontalGeometry`
|
|
79
|
+
|
|
80
|
+
Lazy builder used when one horizontal geometry cache entry is missing.
|
|
81
|
+
|
|
82
|
+
Horizontal depth bands depend only on stable scene dimensions, so callers can
|
|
83
|
+
defer their construction until a cache miss proves the work is actually
|
|
84
|
+
needed.
|
|
85
|
+
|
|
86
|
+
### PlaybackGroundGridLineSegment
|
|
87
|
+
|
|
88
|
+
Declarative line segment model used by the ground-grid renderer.
|
|
89
|
+
|
|
90
|
+
The grid is built as plain data first so batch builders can group segments by
|
|
91
|
+
shared style before any canvas path or glow work happens.
|
|
92
|
+
|
|
93
|
+
### PlaybackGroundGridPulse
|
|
94
|
+
|
|
95
|
+
One visible pulse square rendered above the grid lines.
|
|
96
|
+
|
|
97
|
+
These pulses are tiny accent lights, not gameplay markers. Their job is to
|
|
98
|
+
give the lower band a hint of moving circuitry without competing with birds,
|
|
99
|
+
pipes, or the active network HUD.
|
|
100
|
+
|
|
101
|
+
### PlaybackGroundGridPulseInput
|
|
102
|
+
|
|
103
|
+
Input contract used while resolving one deterministic pulse event.
|
|
104
|
+
|
|
105
|
+
Pulses are deterministic decoration: given the same frame and scene, the same
|
|
106
|
+
lane should light up. This input bundle gathers the candidate paths needed to
|
|
107
|
+
make that choice without consulting external state.
|
|
108
|
+
|
|
109
|
+
### PlaybackGroundGridPulseOrientation
|
|
110
|
+
|
|
111
|
+
Travel orientation used by lightweight pulse overlays.
|
|
112
|
+
|
|
113
|
+
Horizontal pulses skim along depth bands, while vertical pulses ride the
|
|
114
|
+
perspective rays toward or away from the horizon.
|
|
115
|
+
|
|
116
|
+
### PlaybackGroundGridPulsePath
|
|
117
|
+
|
|
118
|
+
Simplified path used by one visible pulse event.
|
|
119
|
+
|
|
120
|
+
Pulses do not need the full batch geometry; they only need a single lane to
|
|
121
|
+
travel along, represented here as a start-end segment plus local thickness.
|
|
122
|
+
|
|
123
|
+
### PlaybackGroundGridPulseTimingState
|
|
124
|
+
|
|
125
|
+
Timing state resolved for one deterministic ground-grid pulse slot.
|
|
126
|
+
|
|
127
|
+
The slot model keeps pulse timing legible: each pulse has a start bucket, an
|
|
128
|
+
elapsed time inside that bucket, and a normalized progress value used by the
|
|
129
|
+
position and fade helpers.
|
|
130
|
+
|
|
131
|
+
### PlaybackGroundGridPulseTrackThicknessInput
|
|
132
|
+
|
|
133
|
+
Input used when adapting a pulse position into a local track thickness.
|
|
134
|
+
|
|
135
|
+
Because the grid uses perspective-weighted stroke widths, the pulse size must
|
|
136
|
+
be adjusted to the local lane thickness rather than using one fixed square.
|
|
137
|
+
|
|
138
|
+
### PlaybackGroundGridPulseTravelRatioInput
|
|
139
|
+
|
|
140
|
+
Direction and timing state used when resolving pulse travel progress.
|
|
141
|
+
|
|
142
|
+
Some pulse lanes feel better moving away from the viewer and others toward
|
|
143
|
+
it, so travel resolution keeps orientation and forward/reverse intent paired
|
|
144
|
+
with the current lifetime progress.
|
|
145
|
+
|
|
146
|
+
### PlaybackGroundGridSegmentBatch
|
|
147
|
+
|
|
148
|
+
Ordered batch of line segments that share one render style.
|
|
149
|
+
|
|
150
|
+
Grouping segments by alpha, blur, and thickness reduces canvas state churn
|
|
151
|
+
and gives the renderer a natural place to cache `Path2D` instances when the
|
|
152
|
+
environment supports them.
|
|
153
|
+
|
|
154
|
+
### PlaybackGroundGridVerticalCycleContext
|
|
155
|
+
|
|
156
|
+
Wrapped vertical-cycle state derived from scroll for one frame.
|
|
157
|
+
|
|
158
|
+
The perspective rays repeat on a fixed cycle. Wrapping the scroll state lets
|
|
159
|
+
the renderer reuse cached geometry while still appearing to drift sideways.
|
|
160
|
+
|
|
161
|
+
### PlaybackGroundGridVerticalGeometry
|
|
162
|
+
|
|
163
|
+
Cached vertical geometry bundle reused across one wrapped scroll cycle.
|
|
164
|
+
|
|
165
|
+
Vertical rays move with scroll, but only within a repeating wrapped cycle.
|
|
166
|
+
Caching at that granularity captures most of the reuse without pretending the
|
|
167
|
+
rays are globally static.
|
|
168
|
+
|
|
169
|
+
### PlaybackGroundGridVerticalGeometryFactory
|
|
170
|
+
|
|
171
|
+
`() => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalGeometry`
|
|
172
|
+
|
|
173
|
+
Lazy builder used when one vertical geometry cache entry is missing.
|
|
174
|
+
|
|
175
|
+
Vertical rays additionally depend on wrapped scroll state, so the cache keeps
|
|
176
|
+
a compact builder hook rather than eagerly storing every possible cycle.
|
|
177
|
+
|
|
178
|
+
### PlaybackGroundGridVerticalPulseContinuationState
|
|
179
|
+
|
|
180
|
+
Cached continuation state used to keep one vertical pulse on the same ray.
|
|
181
|
+
|
|
182
|
+
Without this continuity state a vertical pulse could jitter between adjacent
|
|
183
|
+
rays across frames, which looks like noise instead of a deliberate light.
|
|
184
|
+
|
|
185
|
+
### PlaybackGroundGridVerticalRayInput
|
|
186
|
+
|
|
187
|
+
Internal helper contract used while generating vertical-ray sub-segments.
|
|
188
|
+
|
|
189
|
+
Each vertical ray is split into depth-aware pieces so stroke thickness and
|
|
190
|
+
glow can evolve as the ray approaches the viewer instead of staying uniform.
|
|
191
|
+
|
|
192
|
+
### PlaybackGroundGridVerticalSceneMetrics
|
|
193
|
+
|
|
194
|
+
Cached scene metrics reused across matching vertical-grid frames.
|
|
195
|
+
|
|
196
|
+
These metrics answer the expensive geometric questions once per viewport,
|
|
197
|
+
such as how wide the visible anchor span is and how many perspective lanes
|
|
198
|
+
can fit while preserving the intended spacing.
|
|
199
|
+
|
|
200
|
+
### PlaybackGroundGridVerticalSceneMetricsFactory
|
|
201
|
+
|
|
202
|
+
`() => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalSceneMetrics`
|
|
203
|
+
|
|
204
|
+
Lazy builder used when one vertical scene-metrics cache entry is missing.
|
|
205
|
+
|
|
206
|
+
Scene metrics such as projected anchor bounds are pure functions of the
|
|
207
|
+
viewport, which makes them ideal cache inputs for the performance-sensitive
|
|
208
|
+
lower-band renderer.
|
|
209
|
+
|
|
210
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.ts
|
|
211
|
+
|
|
212
|
+
### renderPlaybackBackgroundGroundGrid
|
|
213
|
+
|
|
214
|
+
`(context: CanvasRenderingContext2D, sourceScene: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSourceScene, request: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridRequest) => void`
|
|
215
|
+
|
|
216
|
+
Draws the neon lower-band ground grid beneath the horizon.
|
|
217
|
+
|
|
218
|
+
The grid is intentionally stylized rather than physically realistic: fixed
|
|
219
|
+
horizontal depth bands compress toward the horizon, while moving perspective
|
|
220
|
+
rays slide sideways but still converge to the centered vanishing point.
|
|
221
|
+
|
|
222
|
+
Parameters:
|
|
223
|
+
- `context` - - Canvas 2D drawing context.
|
|
224
|
+
- `sourceScene` - - Shared lower-band geometry from the background module.
|
|
225
|
+
- `request` - - Shared parallax scroll input for the current frame.
|
|
226
|
+
|
|
227
|
+
Returns: Nothing.
|
|
228
|
+
|
|
229
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.services.ts
|
|
230
|
+
|
|
231
|
+
### drawGroundGridFog
|
|
232
|
+
|
|
233
|
+
`(context: CanvasRenderingContext2D, resolvedScene: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridResolvedScene) => void`
|
|
234
|
+
|
|
235
|
+
Draws the lower-band atmospheric wash behind the neon line work.
|
|
236
|
+
|
|
237
|
+
Parameters:
|
|
238
|
+
- `context` - - Canvas 2D drawing context.
|
|
239
|
+
- `resolvedScene` - - Geometry and style for the current viewport.
|
|
240
|
+
|
|
241
|
+
Returns: Nothing.
|
|
242
|
+
|
|
243
|
+
### drawGroundGridPulse
|
|
244
|
+
|
|
245
|
+
`(context: CanvasRenderingContext2D, pulse: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulse | null, fillColor: string) => void`
|
|
246
|
+
|
|
247
|
+
Draws one pulse square above the grid lines and below gameplay entities.
|
|
248
|
+
|
|
249
|
+
Parameters:
|
|
250
|
+
- `context` - - Canvas 2D drawing context.
|
|
251
|
+
- `pulse` - - Visible pulse square for the current frame.
|
|
252
|
+
- `fillColor` - - Core neon fill color.
|
|
253
|
+
|
|
254
|
+
Returns: Nothing.
|
|
255
|
+
|
|
256
|
+
### drawGroundGridSegmentBatch
|
|
257
|
+
|
|
258
|
+
`(context: CanvasRenderingContext2D, batch: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridSegmentBatch) => void`
|
|
259
|
+
|
|
260
|
+
Draws one batch of neon line segments that share one render style.
|
|
261
|
+
|
|
262
|
+
Parameters:
|
|
263
|
+
- `context` - - Canvas 2D drawing context.
|
|
264
|
+
- `batch` - - Ordered line-segment batch that shares one render style.
|
|
265
|
+
|
|
266
|
+
Returns: Nothing.
|
|
267
|
+
|
|
268
|
+
### drawGroundGridSegmentBatches
|
|
269
|
+
|
|
270
|
+
`(context: CanvasRenderingContext2D, batches: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridSegmentBatch[], lineColor: string) => void`
|
|
271
|
+
|
|
272
|
+
Draws one ordered collection of neon segment batches.
|
|
273
|
+
|
|
274
|
+
Parameters:
|
|
275
|
+
- `context` - - Canvas 2D drawing context.
|
|
276
|
+
- `batches` - - Ordered line-segment batches to render.
|
|
277
|
+
- `lineColor` - - Core neon stroke color.
|
|
278
|
+
|
|
279
|
+
Returns: Nothing.
|
|
280
|
+
|
|
281
|
+
### drawPlaybackGroundGrid
|
|
282
|
+
|
|
283
|
+
`(context: CanvasRenderingContext2D, resolvedScene: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridResolvedScene, geometry: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridGeometry) => void`
|
|
284
|
+
|
|
285
|
+
Draws the resolved neon ground grid inside the lower background band.
|
|
286
|
+
|
|
287
|
+
Parameters:
|
|
288
|
+
- `context` - - Canvas 2D drawing context.
|
|
289
|
+
- `resolvedScene` - - Geometry and style for the current viewport.
|
|
290
|
+
- `geometry` - - Precomputed horizontal and vertical line segments.
|
|
291
|
+
|
|
292
|
+
Returns: Nothing.
|
|
293
|
+
|
|
294
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.constants.ts
|
|
295
|
+
|
|
296
|
+
### FLAPPY_BACKGROUND_GROUND_GRID_STYLE
|
|
297
|
+
|
|
298
|
+
### FLAPPY_GROUND_GRID_APPROX_FRAME_DURATION_MS
|
|
299
|
+
|
|
300
|
+
### FLAPPY_GROUND_GRID_DEPTH_CURVE_EXPONENT
|
|
301
|
+
|
|
302
|
+
### FLAPPY_GROUND_GRID_FOG_ALPHA
|
|
303
|
+
|
|
304
|
+
### FLAPPY_GROUND_GRID_FOG_HEIGHT_RATIO
|
|
305
|
+
|
|
306
|
+
### FLAPPY_GROUND_GRID_HORIZONTAL_LINE_COUNT
|
|
307
|
+
|
|
308
|
+
### FLAPPY_GROUND_GRID_MAX_ALPHA
|
|
309
|
+
|
|
310
|
+
### FLAPPY_GROUND_GRID_MAX_BLUR_PX
|
|
311
|
+
|
|
312
|
+
### FLAPPY_GROUND_GRID_MAX_THICKNESS_PX
|
|
313
|
+
|
|
314
|
+
### FLAPPY_GROUND_GRID_MIN_ALPHA
|
|
315
|
+
|
|
316
|
+
### FLAPPY_GROUND_GRID_MIN_BLUR_PX
|
|
317
|
+
|
|
318
|
+
### FLAPPY_GROUND_GRID_MIN_THICKNESS_PX
|
|
319
|
+
|
|
320
|
+
### FLAPPY_GROUND_GRID_MIN_VERTICAL_LINE_COUNT
|
|
321
|
+
|
|
322
|
+
### FLAPPY_GROUND_GRID_PIPE_CONNECTION_LINE_OFFSET_FROM_BOTTOM
|
|
323
|
+
|
|
324
|
+
### FLAPPY_GROUND_GRID_PULSE_ALPHA
|
|
325
|
+
|
|
326
|
+
### FLAPPY_GROUND_GRID_PULSE_INTERVAL_MS
|
|
327
|
+
|
|
328
|
+
### FLAPPY_GROUND_GRID_PULSE_LIFETIME_MS
|
|
329
|
+
|
|
330
|
+
### FLAPPY_GROUND_GRID_PULSE_MAX_SIZE_PX
|
|
331
|
+
|
|
332
|
+
### FLAPPY_GROUND_GRID_PULSE_MIN_ELIGIBLE_THICKNESS_PX
|
|
333
|
+
|
|
334
|
+
### FLAPPY_GROUND_GRID_PULSE_MIN_SIZE_PX
|
|
335
|
+
|
|
336
|
+
### FLAPPY_GROUND_GRID_PULSE_PREFERRED_HORIZONTAL_START_RATIO
|
|
337
|
+
|
|
338
|
+
### FLAPPY_GROUND_GRID_PULSE_VISIBLE_VIEWPORT_INSET_PX
|
|
339
|
+
|
|
340
|
+
### FLAPPY_GROUND_GRID_SCROLL_OFFSET_QUANTIZATION_DECIMALS
|
|
341
|
+
|
|
342
|
+
### FLAPPY_GROUND_GRID_SCROLL_RATIO
|
|
343
|
+
|
|
344
|
+
### FLAPPY_GROUND_GRID_TARGET_VERTICAL_LINE_SPACING_PX
|
|
345
|
+
|
|
346
|
+
### FLAPPY_GROUND_GRID_TARGET_VERTICAL_SEGMENT_HEIGHT_PX
|
|
347
|
+
|
|
348
|
+
### FLAPPY_GROUND_GRID_UNSIGNED_NORMALIZATION_DIVISOR
|
|
349
|
+
|
|
350
|
+
### FLAPPY_GROUND_GRID_VERTICAL_OVERFLOW_COUNT
|
|
351
|
+
|
|
352
|
+
### FLAPPY_GROUND_GRID_VERTICAL_PULSE_END_RATIO
|
|
353
|
+
|
|
354
|
+
### FLAPPY_GROUND_GRID_VERTICAL_PULSE_START_RATIO
|
|
355
|
+
|
|
356
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.batch.services.ts
|
|
357
|
+
|
|
358
|
+
### drawGroundGridSegmentBatch
|
|
359
|
+
|
|
360
|
+
`(context: CanvasRenderingContext2D, batch: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridSegmentBatch) => void`
|
|
361
|
+
|
|
362
|
+
Draws one batch of neon line segments that share one render style.
|
|
363
|
+
|
|
364
|
+
Parameters:
|
|
365
|
+
- `context` - - Canvas 2D drawing context.
|
|
366
|
+
- `batch` - - Ordered line-segment batch that shares one render style.
|
|
367
|
+
|
|
368
|
+
Returns: Nothing.
|
|
369
|
+
|
|
370
|
+
### drawGroundGridSegmentBatches
|
|
371
|
+
|
|
372
|
+
`(context: CanvasRenderingContext2D, batches: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridSegmentBatch[], lineColor: string) => void`
|
|
373
|
+
|
|
374
|
+
Draws one ordered collection of neon segment batches.
|
|
375
|
+
|
|
376
|
+
Parameters:
|
|
377
|
+
- `context` - - Canvas 2D drawing context.
|
|
378
|
+
- `batches` - - Ordered line-segment batches to render.
|
|
379
|
+
- `lineColor` - - Core neon stroke color.
|
|
380
|
+
|
|
381
|
+
Returns: Nothing.
|
|
382
|
+
|
|
383
|
+
### strokePlaybackGroundGridBatch
|
|
384
|
+
|
|
385
|
+
`(context: CanvasRenderingContext2D, batch: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridSegmentBatch) => void`
|
|
386
|
+
|
|
387
|
+
Strokes one ground-grid batch using a cached path when the environment supports it.
|
|
388
|
+
|
|
389
|
+
Parameters:
|
|
390
|
+
- `context` - - Canvas 2D drawing context.
|
|
391
|
+
- `batch` - - Ordered line-segment batch that shares one render style.
|
|
392
|
+
|
|
393
|
+
Returns: Nothing.
|
|
394
|
+
|
|
395
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.cache.services.ts
|
|
396
|
+
|
|
397
|
+
### ensureGroundGridViewportCacheValidity
|
|
398
|
+
|
|
399
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext) => string`
|
|
400
|
+
|
|
401
|
+
Ensures ground-grid caches only retain entries for the current viewport size.
|
|
402
|
+
|
|
403
|
+
The ground grid is derived from viewport width and total scene height, so a
|
|
404
|
+
page resize invalidates every cached geometry variant and fog gradient.
|
|
405
|
+
|
|
406
|
+
Parameters:
|
|
407
|
+
- `sceneContext` - - Current lower-band scene geometry.
|
|
408
|
+
|
|
409
|
+
Returns: Stable viewport-size cache key for the current frame.
|
|
410
|
+
|
|
411
|
+
### resolveCachedGroundGridFogGradient
|
|
412
|
+
|
|
413
|
+
`(context: CanvasRenderingContext2D, sceneCacheKey: string, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext, fogColor: string) => CanvasGradient`
|
|
414
|
+
|
|
415
|
+
Resolves a cached fog gradient for one canvas and local scene.
|
|
416
|
+
|
|
417
|
+
Parameters:
|
|
418
|
+
- `context` - - Canvas 2D drawing context.
|
|
419
|
+
- `sceneCacheKey` - - Stable scene key for the active viewport.
|
|
420
|
+
- `sceneContext` - - Current lower-band scene geometry.
|
|
421
|
+
- `fogColor` - - Theme-owned fog color token.
|
|
422
|
+
|
|
423
|
+
Returns: Cached fog gradient aligned to the lower-band scene.
|
|
424
|
+
|
|
425
|
+
### resolveCachedGroundGridHorizontalGeometry
|
|
426
|
+
|
|
427
|
+
`(sceneCacheKey: string, factory: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridHorizontalGeometryFactory) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridHorizontalGeometry`
|
|
428
|
+
|
|
429
|
+
Resolves cached horizontal geometry for one scene.
|
|
430
|
+
|
|
431
|
+
Parameters:
|
|
432
|
+
- `sceneCacheKey` - - Stable scene key for the active viewport.
|
|
433
|
+
- `factory` - - Lazy geometry builder used when the cache misses.
|
|
434
|
+
|
|
435
|
+
Returns: Cached horizontal geometry bundle for the scene.
|
|
436
|
+
|
|
437
|
+
### resolveCachedGroundGridVerticalGeometry
|
|
438
|
+
|
|
439
|
+
`(cycleCacheKey: string, factory: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalGeometryFactory) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalGeometry`
|
|
440
|
+
|
|
441
|
+
Resolves cached vertical geometry for one scene and wrapped offset cycle.
|
|
442
|
+
|
|
443
|
+
Parameters:
|
|
444
|
+
- `cycleCacheKey` - - Scene-and-offset cache key for the active frame.
|
|
445
|
+
- `factory` - - Lazy geometry builder used when the cache misses.
|
|
446
|
+
|
|
447
|
+
Returns: Cached vertical geometry bundle for the cycle.
|
|
448
|
+
|
|
449
|
+
### resolveCachedGroundGridVerticalSceneMetrics
|
|
450
|
+
|
|
451
|
+
`(sceneCacheKey: string, factory: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalSceneMetricsFactory) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalSceneMetrics`
|
|
452
|
+
|
|
453
|
+
Resolves cached scene metrics for one vertical-grid layout.
|
|
454
|
+
|
|
455
|
+
Parameters:
|
|
456
|
+
- `sceneCacheKey` - - Stable scene key for the active viewport.
|
|
457
|
+
- `factory` - - Lazy scene-metrics builder used when the cache misses.
|
|
458
|
+
|
|
459
|
+
Returns: Cached vertical scene metrics for the scene.
|
|
460
|
+
|
|
461
|
+
### resolveGroundGridSceneCacheKey
|
|
462
|
+
|
|
463
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext) => string`
|
|
464
|
+
|
|
465
|
+
Resolves the stable local-scene cache key for ground-grid geometry.
|
|
466
|
+
|
|
467
|
+
Parameters:
|
|
468
|
+
- `sceneContext` - - Current lower-band scene geometry.
|
|
469
|
+
|
|
470
|
+
Returns: Scene key suitable for static horizontal and vertical cache entries.
|
|
471
|
+
|
|
472
|
+
### resolveGroundGridVerticalCycleCacheKey
|
|
473
|
+
|
|
474
|
+
`(sceneCacheKey: string, wrappedOffsetPx: number) => string`
|
|
475
|
+
|
|
476
|
+
Resolves the cache key for one wrapped vertical-geometry cycle.
|
|
477
|
+
|
|
478
|
+
Parameters:
|
|
479
|
+
- `sceneCacheKey` - - Stable scene key for the active viewport.
|
|
480
|
+
- `wrappedOffsetPx` - - Wrapped offset within one lane cycle.
|
|
481
|
+
|
|
482
|
+
Returns: Cycle key used for vertical geometry reuse.
|
|
483
|
+
|
|
484
|
+
### resolveGroundGridViewportCacheKey
|
|
485
|
+
|
|
486
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext) => string`
|
|
487
|
+
|
|
488
|
+
Resolves the viewport-size cache key used by the ground-grid caches.
|
|
489
|
+
|
|
490
|
+
Parameters:
|
|
491
|
+
- `sceneContext` - - Current lower-band scene geometry.
|
|
492
|
+
|
|
493
|
+
Returns: Cache key that changes whenever the page size changes.
|
|
494
|
+
|
|
495
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.layer.services.ts
|
|
496
|
+
|
|
497
|
+
### drawGroundGridFog
|
|
498
|
+
|
|
499
|
+
`(context: CanvasRenderingContext2D, resolvedScene: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridResolvedScene) => void`
|
|
500
|
+
|
|
501
|
+
Draws the lower-band atmospheric wash behind the neon line work.
|
|
502
|
+
|
|
503
|
+
Parameters:
|
|
504
|
+
- `context` - - Canvas 2D drawing context.
|
|
505
|
+
- `resolvedScene` - - Geometry and style for the current viewport.
|
|
506
|
+
|
|
507
|
+
Returns: Nothing.
|
|
508
|
+
|
|
509
|
+
### drawGroundGridPulse
|
|
510
|
+
|
|
511
|
+
`(context: CanvasRenderingContext2D, pulse: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulse | null, fillColor: string) => void`
|
|
512
|
+
|
|
513
|
+
Draws one pulse square above the grid lines and below gameplay entities.
|
|
514
|
+
|
|
515
|
+
Parameters:
|
|
516
|
+
- `context` - - Canvas 2D drawing context.
|
|
517
|
+
- `pulse` - - Visible pulse square for the current frame.
|
|
518
|
+
- `fillColor` - - Core neon fill color.
|
|
519
|
+
|
|
520
|
+
Returns: Nothing.
|
|
521
|
+
|
|
522
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.scene.services.ts
|
|
523
|
+
|
|
524
|
+
### resolvePlaybackGroundGridSceneContext
|
|
525
|
+
|
|
526
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSourceScene) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext`
|
|
527
|
+
|
|
528
|
+
Resolves the shared scene context used by the ground-grid renderer.
|
|
529
|
+
|
|
530
|
+
Parameters:
|
|
531
|
+
- `sceneContext` - - Lower-band geometry provided by the background module.
|
|
532
|
+
|
|
533
|
+
Returns: Narrow scene contract consumed by grid-specific helpers.
|
|
534
|
+
|
|
535
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.services.ts
|
|
536
|
+
|
|
537
|
+
### resolvePlaybackGroundGridGeometry
|
|
538
|
+
|
|
539
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext, frameIndex: number, scrollBasePx: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridGeometry`
|
|
540
|
+
|
|
541
|
+
Builds the line geometry for the neon ground grid.
|
|
542
|
+
|
|
543
|
+
Parameters:
|
|
544
|
+
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
545
|
+
- `frameIndex` - - Current deterministic playback frame index.
|
|
546
|
+
- `scrollBasePx` - - Shared world scroll used for parallax motion.
|
|
547
|
+
|
|
548
|
+
Returns: Horizontal depth bands and perspective rays for the current frame.
|
|
549
|
+
|
|
550
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.utils.ts
|
|
551
|
+
|
|
552
|
+
### interpolatePlaybackGroundGridPoint
|
|
553
|
+
|
|
554
|
+
`(startXPx: number, startYPx: number, endXPx: number, endYPx: number, interpolationRatio: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils").PlaybackGroundGridPoint`
|
|
555
|
+
|
|
556
|
+
Interpolates one point along a perspective ray.
|
|
557
|
+
|
|
558
|
+
Parameters:
|
|
559
|
+
- `startXPx` - - Bottom anchor x-position.
|
|
560
|
+
- `startYPx` - - Bottom anchor y-position.
|
|
561
|
+
- `endXPx` - - Vanishing-point x-position.
|
|
562
|
+
- `endYPx` - - Vanishing-point y-position.
|
|
563
|
+
- `interpolationRatio` - - Normalized 0..1 position along the ray.
|
|
564
|
+
|
|
565
|
+
Returns: Interpolated point on the perspective ray.
|
|
566
|
+
|
|
567
|
+
### resolvePlaybackGroundGridDepthCurve
|
|
568
|
+
|
|
569
|
+
`(depthRatio: number) => number`
|
|
570
|
+
|
|
571
|
+
Maps a normalized depth ratio into a stronger synthwave spacing curve.
|
|
572
|
+
|
|
573
|
+
Parameters:
|
|
574
|
+
- `depthRatio` - - Normalized 0..1 depth where 0 is far and 1 is near.
|
|
575
|
+
|
|
576
|
+
Returns: Curved depth ratio used for line placement and styling.
|
|
577
|
+
|
|
578
|
+
### resolvePlaybackGroundGridDepthFromHorizonDistance
|
|
579
|
+
|
|
580
|
+
`(distanceToHorizonPx: number, maximumDistanceToHorizonPx: number) => number`
|
|
581
|
+
|
|
582
|
+
Resolves normalized depth from a vertical distance away from the horizon.
|
|
583
|
+
|
|
584
|
+
Parameters:
|
|
585
|
+
- `distanceToHorizonPx` - - Vertical distance from the vanishing horizon.
|
|
586
|
+
- `maximumDistanceToHorizonPx` - - Largest visible vertical horizon distance.
|
|
587
|
+
|
|
588
|
+
Returns: Normalized 0..1 depth where 0 is at the horizon and 1 is nearest.
|
|
589
|
+
|
|
590
|
+
### resolvePlaybackGroundGridGeometry
|
|
591
|
+
|
|
592
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext, frameIndex: number, scrollBasePx: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridGeometry`
|
|
593
|
+
|
|
594
|
+
Builds the line geometry for the neon ground grid.
|
|
595
|
+
|
|
596
|
+
Parameters:
|
|
597
|
+
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
598
|
+
- `frameIndex` - - Current deterministic playback frame index.
|
|
599
|
+
- `scrollBasePx` - - Shared world scroll used for parallax motion.
|
|
600
|
+
|
|
601
|
+
Returns: Horizontal depth bands and perspective rays for the current frame.
|
|
602
|
+
|
|
603
|
+
### resolvePlaybackGroundGridLineAlpha
|
|
604
|
+
|
|
605
|
+
`(depthRatio: number) => number`
|
|
606
|
+
|
|
607
|
+
Resolves neon alpha for one line based on its normalized depth.
|
|
608
|
+
|
|
609
|
+
Parameters:
|
|
610
|
+
- `depthRatio` - - Normalized 0..1 depth where 0 is far and 1 is near.
|
|
611
|
+
|
|
612
|
+
Returns: Opacity for the rendered line.
|
|
613
|
+
|
|
614
|
+
### resolvePlaybackGroundGridLineBlur
|
|
615
|
+
|
|
616
|
+
`(depthRatio: number) => number`
|
|
617
|
+
|
|
618
|
+
Resolves glow blur for one line based on its normalized depth.
|
|
619
|
+
|
|
620
|
+
Parameters:
|
|
621
|
+
- `depthRatio` - - Normalized 0..1 depth where 0 is far and 1 is near.
|
|
622
|
+
|
|
623
|
+
Returns: Blur radius for the rendered line.
|
|
624
|
+
|
|
625
|
+
### resolvePlaybackGroundGridLineThickness
|
|
626
|
+
|
|
627
|
+
`(depthRatio: number) => number`
|
|
628
|
+
|
|
629
|
+
Resolves stroke thickness for one line based on its normalized depth.
|
|
630
|
+
|
|
631
|
+
Parameters:
|
|
632
|
+
- `depthRatio` - - Normalized 0..1 depth where 0 is far and 1 is near.
|
|
633
|
+
|
|
634
|
+
Returns: Stroke width in pixels.
|
|
635
|
+
|
|
636
|
+
### resolvePlaybackGroundGridSceneContext
|
|
637
|
+
|
|
638
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSourceScene) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext`
|
|
639
|
+
|
|
640
|
+
Resolves the shared scene context used by the ground-grid renderer.
|
|
641
|
+
|
|
642
|
+
Parameters:
|
|
643
|
+
- `sceneContext` - - Lower-band geometry provided by the background module.
|
|
644
|
+
|
|
645
|
+
Returns: Narrow scene contract consumed by grid-specific helpers.
|
|
646
|
+
|
|
647
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils.ts
|
|
648
|
+
|
|
649
|
+
### interpolatePlaybackGroundGridPoint
|
|
650
|
+
|
|
651
|
+
`(startXPx: number, startYPx: number, endXPx: number, endYPx: number, interpolationRatio: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils").PlaybackGroundGridPoint`
|
|
652
|
+
|
|
653
|
+
Interpolates one point along a perspective ray.
|
|
654
|
+
|
|
655
|
+
Parameters:
|
|
656
|
+
- `startXPx` - - Bottom anchor x-position.
|
|
657
|
+
- `startYPx` - - Bottom anchor y-position.
|
|
658
|
+
- `endXPx` - - Vanishing-point x-position.
|
|
659
|
+
- `endYPx` - - Vanishing-point y-position.
|
|
660
|
+
- `interpolationRatio` - - Normalized 0..1 position along the ray.
|
|
661
|
+
|
|
662
|
+
Returns: Interpolated point on the perspective ray.
|
|
663
|
+
|
|
664
|
+
### PlaybackGroundGridPipeConnectionProfile
|
|
665
|
+
|
|
666
|
+
Shared pipe-floor projection resolved from the lower ground-grid geometry.
|
|
667
|
+
|
|
668
|
+
### PlaybackGroundGridPoint
|
|
669
|
+
|
|
670
|
+
Small point value used when interpolating positions along one grid ray.
|
|
671
|
+
|
|
672
|
+
### resolvePlaybackGroundGridDepthCurve
|
|
673
|
+
|
|
674
|
+
`(depthRatio: number) => number`
|
|
675
|
+
|
|
676
|
+
Maps a normalized depth ratio into a stronger synthwave spacing curve.
|
|
677
|
+
|
|
678
|
+
Parameters:
|
|
679
|
+
- `depthRatio` - - Normalized 0..1 depth where 0 is far and 1 is near.
|
|
680
|
+
|
|
681
|
+
Returns: Curved depth ratio used for line placement and styling.
|
|
682
|
+
|
|
683
|
+
### resolvePlaybackGroundGridDepthFromHorizonDistance
|
|
684
|
+
|
|
685
|
+
`(distanceToHorizonPx: number, maximumDistanceToHorizonPx: number) => number`
|
|
686
|
+
|
|
687
|
+
Resolves normalized depth from a vertical distance away from the horizon.
|
|
688
|
+
|
|
689
|
+
Parameters:
|
|
690
|
+
- `distanceToHorizonPx` - - Vertical distance from the vanishing horizon.
|
|
691
|
+
- `maximumDistanceToHorizonPx` - - Largest visible vertical horizon distance.
|
|
692
|
+
|
|
693
|
+
Returns: Normalized 0..1 depth where 0 is at the horizon and 1 is nearest.
|
|
694
|
+
|
|
695
|
+
### resolvePlaybackGroundGridLineAlpha
|
|
696
|
+
|
|
697
|
+
`(depthRatio: number) => number`
|
|
698
|
+
|
|
699
|
+
Resolves neon alpha for one line based on its normalized depth.
|
|
700
|
+
|
|
701
|
+
Parameters:
|
|
702
|
+
- `depthRatio` - - Normalized 0..1 depth where 0 is far and 1 is near.
|
|
703
|
+
|
|
704
|
+
Returns: Opacity for the rendered line.
|
|
705
|
+
|
|
706
|
+
### resolvePlaybackGroundGridLineBlur
|
|
707
|
+
|
|
708
|
+
`(depthRatio: number) => number`
|
|
709
|
+
|
|
710
|
+
Resolves glow blur for one line based on its normalized depth.
|
|
711
|
+
|
|
712
|
+
Parameters:
|
|
713
|
+
- `depthRatio` - - Normalized 0..1 depth where 0 is far and 1 is near.
|
|
714
|
+
|
|
715
|
+
Returns: Blur radius for the rendered line.
|
|
716
|
+
|
|
717
|
+
### resolvePlaybackGroundGridLineThickness
|
|
718
|
+
|
|
719
|
+
`(depthRatio: number) => number`
|
|
720
|
+
|
|
721
|
+
Resolves stroke thickness for one line based on its normalized depth.
|
|
722
|
+
|
|
723
|
+
Parameters:
|
|
724
|
+
- `depthRatio` - - Normalized 0..1 depth where 0 is far and 1 is near.
|
|
725
|
+
|
|
726
|
+
Returns: Stroke width in pixels.
|
|
727
|
+
|
|
728
|
+
### resolvePlaybackGroundGridPipeConnectionProfile
|
|
729
|
+
|
|
730
|
+
`(visibleWorldHeightPx: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.math.utils").PlaybackGroundGridPipeConnectionProfile`
|
|
731
|
+
|
|
732
|
+
Resolves the shared lower-pipe floor and matched grid-ray scroll ratio.
|
|
733
|
+
|
|
734
|
+
The lower pipe is visually clipped to the first usable horizontal grid band
|
|
735
|
+
above the bottom edge. The returned scroll ratio then speeds up the moving
|
|
736
|
+
perspective rays so their lateral motion matches the pipe speed exactly at
|
|
737
|
+
that same projected height.
|
|
738
|
+
|
|
739
|
+
Parameters:
|
|
740
|
+
- `visibleWorldHeightPx` - - Current visible world height in pixels.
|
|
741
|
+
|
|
742
|
+
Returns: Pipe-floor y-position plus the matching vertical-ray scroll ratio.
|
|
743
|
+
|
|
744
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.utils.ts
|
|
745
|
+
|
|
746
|
+
### resolvePlaybackGroundGridPulse
|
|
747
|
+
|
|
748
|
+
`(input: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulseInput) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulse | null`
|
|
749
|
+
|
|
750
|
+
Resolves one rare, deterministic pulse square for the current frame.
|
|
751
|
+
|
|
752
|
+
Parameters:
|
|
753
|
+
- `input` - - Current frame timing and visible pulse path candidates.
|
|
754
|
+
|
|
755
|
+
Returns: Visible pulse square, or null when the current slot is inactive.
|
|
756
|
+
|
|
757
|
+
### resolvePlaybackGroundGridPulseTrackThickness
|
|
758
|
+
|
|
759
|
+
`(input: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulseTrackThicknessInput) => number`
|
|
760
|
+
|
|
761
|
+
Resolves the local track thickness at the pulse position.
|
|
762
|
+
|
|
763
|
+
Parameters:
|
|
764
|
+
- `input` - - Pulse position, path, and scene geometry.
|
|
765
|
+
|
|
766
|
+
Returns: Thickness of the current line under the pulse.
|
|
767
|
+
|
|
768
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.utils.ts
|
|
769
|
+
|
|
770
|
+
### appendPlaybackGroundGridVerticalLineSegments
|
|
771
|
+
|
|
772
|
+
`(targetSegments: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridLineSegment[], startIndex: number, input: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalRayInput) => number`
|
|
773
|
+
|
|
774
|
+
Appends tapered style segments for one perspective ray.
|
|
775
|
+
|
|
776
|
+
Parameters:
|
|
777
|
+
- `targetSegments` - - Target line-segment buffer.
|
|
778
|
+
- `startIndex` - - Current insertion index within the target buffer.
|
|
779
|
+
- `input` - - Geometry and depth context for one ray.
|
|
780
|
+
|
|
781
|
+
Returns: Next insertion index after all ray segments have been written.
|
|
782
|
+
|
|
783
|
+
### buildPlaybackGroundGridHorizontalGeometry
|
|
784
|
+
|
|
785
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridHorizontalGeometry`
|
|
786
|
+
|
|
787
|
+
Builds the screen-horizontal depth bands for the lower neon plane.
|
|
788
|
+
|
|
789
|
+
Parameters:
|
|
790
|
+
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
791
|
+
|
|
792
|
+
Returns: Ordered far-to-near line segments and pulse subsets.
|
|
793
|
+
|
|
794
|
+
### buildPlaybackGroundGridVerticalGeometry
|
|
795
|
+
|
|
796
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext, verticalSceneMetrics: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalSceneMetrics, wrappedOffsetPx: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalGeometry`
|
|
797
|
+
|
|
798
|
+
Builds the perspective rays that converge to the centered horizon point.
|
|
799
|
+
|
|
800
|
+
Parameters:
|
|
801
|
+
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
802
|
+
- `safeLaneSpacingPx` - - Stable lane spacing used for ray anchors.
|
|
803
|
+
- `wrappedOffsetPx` - - Wrapped offset used for cache reuse and ray placement.
|
|
804
|
+
|
|
805
|
+
Returns: Wrapped left-to-right perspective rays and pulse subsets.
|
|
806
|
+
|
|
807
|
+
### resolvePlaybackGroundGridHorizontalGeometry
|
|
808
|
+
|
|
809
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridHorizontalGeometry`
|
|
810
|
+
|
|
811
|
+
Resolves cached screen-horizontal depth bands for the lower neon plane.
|
|
812
|
+
|
|
813
|
+
Parameters:
|
|
814
|
+
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
815
|
+
|
|
816
|
+
Returns: Ordered far-to-near line segments and pulse subsets.
|
|
817
|
+
|
|
818
|
+
### resolvePlaybackGroundGridVerticalGeometry
|
|
819
|
+
|
|
820
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext, scrollBasePx: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalGeometry`
|
|
821
|
+
|
|
822
|
+
Resolves cached perspective rays that converge to the centered horizon point.
|
|
823
|
+
|
|
824
|
+
Parameters:
|
|
825
|
+
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
826
|
+
- `scrollBasePx` - - Shared world scroll used for parallax motion.
|
|
827
|
+
|
|
828
|
+
Returns: Wrapped left-to-right perspective rays and pulse subsets.
|
|
829
|
+
|
|
830
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.timing.utils.ts
|
|
831
|
+
|
|
832
|
+
### resolvePlaybackGroundGridHorizontalPulsePath
|
|
833
|
+
|
|
834
|
+
`(horizontalPulsePaths: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath[], pulseSlotIndex: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath | null`
|
|
835
|
+
|
|
836
|
+
Selects one thick-enough horizontal band for the current pulse slot.
|
|
837
|
+
|
|
838
|
+
Parameters:
|
|
839
|
+
- `horizontalPulsePaths` - - Cached horizontal pulse paths eligible for travel.
|
|
840
|
+
- `pulseSlotIndex` - - Zero-based pulse slot index.
|
|
841
|
+
|
|
842
|
+
Returns: Horizontal pulse path, or null when none are suitable.
|
|
843
|
+
|
|
844
|
+
### resolvePlaybackGroundGridPulseOrientation
|
|
845
|
+
|
|
846
|
+
`(pulseSlotIndex: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulseOrientation`
|
|
847
|
+
|
|
848
|
+
Resolves pulse orientation for one deterministic pulse slot.
|
|
849
|
+
|
|
850
|
+
Parameters:
|
|
851
|
+
- `pulseSlotIndex` - - Zero-based pulse slot index.
|
|
852
|
+
|
|
853
|
+
Returns: Horizontal or vertical pulse travel orientation.
|
|
854
|
+
|
|
855
|
+
### resolvePlaybackGroundGridPulseTiming
|
|
856
|
+
|
|
857
|
+
`(frameIndex: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulseTimingState | null`
|
|
858
|
+
|
|
859
|
+
Resolves timing state for the currently active deterministic pulse slot.
|
|
860
|
+
|
|
861
|
+
Parameters:
|
|
862
|
+
- `frameIndex` - - Current deterministic playback frame index.
|
|
863
|
+
|
|
864
|
+
Returns: Pulse timing state, or null when no pulse is active in this frame.
|
|
865
|
+
|
|
866
|
+
### resolvePlaybackGroundGridPulseTravelRatio
|
|
867
|
+
|
|
868
|
+
`(input: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulseTravelRatioInput) => number`
|
|
869
|
+
|
|
870
|
+
Resolves the pulse travel ratio along its chosen line.
|
|
871
|
+
|
|
872
|
+
Parameters:
|
|
873
|
+
- `input` - - Pulse timing direction and orientation.
|
|
874
|
+
|
|
875
|
+
Returns: Normalized 0..1 travel ratio along the chosen line.
|
|
876
|
+
|
|
877
|
+
### resolvePlaybackGroundGridUnitHash
|
|
878
|
+
|
|
879
|
+
`(seed: number, salt: number) => number`
|
|
880
|
+
|
|
881
|
+
Resolves a deterministic unit-interval hash from a slot index and salt.
|
|
882
|
+
|
|
883
|
+
Parameters:
|
|
884
|
+
- `seed` - - Slot-local seed value.
|
|
885
|
+
- `salt` - - Small integer salt used to pick a stable random stream.
|
|
886
|
+
|
|
887
|
+
Returns: Stable random value in the range 0..1.
|
|
888
|
+
|
|
889
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.batch.utils.ts
|
|
890
|
+
|
|
891
|
+
### groupPlaybackGroundGridSegmentsByStyle
|
|
892
|
+
|
|
893
|
+
`(segments: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridLineSegment[]) => readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridSegmentBatch[]`
|
|
894
|
+
|
|
895
|
+
Groups line segments into ordered style batches for lower-overhead drawing.
|
|
896
|
+
|
|
897
|
+
Parameters:
|
|
898
|
+
- `segments` - - Ordered line segments that should preserve draw grouping.
|
|
899
|
+
|
|
900
|
+
Returns: Ordered style batches that can be stroked with fewer state changes.
|
|
901
|
+
|
|
902
|
+
### resolvePlaybackGroundGridBatchPath
|
|
903
|
+
|
|
904
|
+
`(segments: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridLineSegment[]) => Path2D | null`
|
|
905
|
+
|
|
906
|
+
Resolves one cached draw-ready path for a grouped segment batch.
|
|
907
|
+
|
|
908
|
+
Parameters:
|
|
909
|
+
- `segments` - - Ordered line segments that belong to one style batch.
|
|
910
|
+
|
|
911
|
+
Returns: Cached Path2D when available, otherwise null.
|
|
912
|
+
|
|
913
|
+
### resolvePlaybackGroundGridPreferredHorizontalPulsePaths
|
|
914
|
+
|
|
915
|
+
`(horizontalLines: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridLineSegment[]) => readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath[]`
|
|
916
|
+
|
|
917
|
+
Prefers the nearer, thicker horizontal tracks when picking a pulse lane.
|
|
918
|
+
|
|
919
|
+
Parameters:
|
|
920
|
+
- `horizontalLines` - - Visible horizontal grid bands.
|
|
921
|
+
|
|
922
|
+
Returns: Pulse-eligible horizontal paths biased toward the foreground.
|
|
923
|
+
|
|
924
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.geometry.layout.utils.ts
|
|
925
|
+
|
|
926
|
+
### buildPlaybackGroundGridVerticalSceneMetrics
|
|
927
|
+
|
|
928
|
+
`(sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalSceneMetrics`
|
|
929
|
+
|
|
930
|
+
Builds the static scene metrics reused across one viewport-sized grid layout.
|
|
931
|
+
|
|
932
|
+
Parameters:
|
|
933
|
+
- `sceneContext` - - Lower-band geometry for the current viewport.
|
|
934
|
+
|
|
935
|
+
Returns: Stable anchor bounds and lane spacing for vertical-ray reuse.
|
|
936
|
+
|
|
937
|
+
### isPlaybackGroundGridVerticalPulsePathVisible
|
|
938
|
+
|
|
939
|
+
`(pulsePath: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext) => boolean`
|
|
940
|
+
|
|
941
|
+
Resolves whether one vertical pulse path is safely visible in the viewport.
|
|
942
|
+
|
|
943
|
+
Parameters:
|
|
944
|
+
- `pulsePath` - - Candidate vertical pulse path.
|
|
945
|
+
- `sceneContext` - - Current lower-band scene geometry.
|
|
946
|
+
|
|
947
|
+
Returns: True when the pulse midpoint stays inside the visible ground band.
|
|
948
|
+
|
|
949
|
+
### projectPlaybackGroundGridProjectedXToAnchorX
|
|
950
|
+
|
|
951
|
+
`(input: { projectedXPx: number; projectedYPx: number; sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackBackgroundGroundGridSceneContext; }) => number`
|
|
952
|
+
|
|
953
|
+
Projects one visible x-position at an arbitrary y-level to the anchor line.
|
|
954
|
+
|
|
955
|
+
Parameters:
|
|
956
|
+
- `input` - - Projected target and scene geometry.
|
|
957
|
+
|
|
958
|
+
Returns: Bottom anchor x-position whose ray reaches the projected point.
|
|
959
|
+
|
|
960
|
+
### resolvePlaybackGroundGridAnchorBounds
|
|
961
|
+
|
|
962
|
+
`(input: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridAnchorBoundsInput) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridAnchorBounds`
|
|
963
|
+
|
|
964
|
+
Projects one visible horizontal span back onto the floor anchor line.
|
|
965
|
+
|
|
966
|
+
Parameters:
|
|
967
|
+
- `input` - - Visible span bounds and scene geometry.
|
|
968
|
+
|
|
969
|
+
Returns: Bottom-anchor bounds required to cover the chosen projected span.
|
|
970
|
+
|
|
971
|
+
### resolvePlaybackGroundGridRetainedWidthRatioAtYPx
|
|
972
|
+
|
|
973
|
+
`(lowerBandBottomYPx: number, vanishingPointYPx: number, targetYPx: number) => number`
|
|
974
|
+
|
|
975
|
+
Resolves how much adjacent-ray spacing remains at one projected y-position.
|
|
976
|
+
|
|
977
|
+
Perspective rays linearly collapse toward the vanishing point, so the local
|
|
978
|
+
lane width at any y-position is just the bottom-anchor spacing multiplied by
|
|
979
|
+
the remaining width ratio between the bottom edge and the vanishing point.
|
|
980
|
+
|
|
981
|
+
Parameters:
|
|
982
|
+
- `lowerBandBottomYPx` - - Bottom edge of the visible ground band.
|
|
983
|
+
- `vanishingPointYPx` - - Shared vanishing-point y-position.
|
|
984
|
+
- `targetYPx` - - Projected y-position whose retained width should be measured.
|
|
985
|
+
|
|
986
|
+
Returns: Width-retention ratio in the inclusive `[0, 1]` range.
|
|
987
|
+
|
|
988
|
+
### resolvePlaybackGroundGridVerticalCycleContext
|
|
989
|
+
|
|
990
|
+
`(safeLaneSpacingPx: number, lowerBandBottomYPx: number, scrollBasePx: number) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalCycleContext`
|
|
991
|
+
|
|
992
|
+
Resolves the wrapped vertical-geometry cycle for the current scroll value.
|
|
993
|
+
|
|
994
|
+
Parameters:
|
|
995
|
+
- `safeLaneSpacingPx` - - Stable lane spacing used by current viewport metrics.
|
|
996
|
+
- `lowerBandBottomYPx` - - Lower edge of the visible ground-grid band.
|
|
997
|
+
- `scrollBasePx` - - Shared world scroll used for parallax motion.
|
|
998
|
+
|
|
999
|
+
Returns: Quantized wrapped offset and safe lane spacing for cache lookups.
|
|
1000
|
+
|
|
1001
|
+
## browser-entry/playback/background/ground-grid/playback.background.ground-grid.pulse.selection.utils.ts
|
|
1002
|
+
|
|
1003
|
+
### rememberPlaybackGroundGridVerticalPulseSelection
|
|
1004
|
+
|
|
1005
|
+
`(pulseSlotIndex: number, continuationState: import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridVerticalPulseContinuationState) => void`
|
|
1006
|
+
|
|
1007
|
+
Stores the resolved pulse center for continuation on the next frame.
|
|
1008
|
+
|
|
1009
|
+
Parameters:
|
|
1010
|
+
- `pulseSlotIndex` - - Zero-based pulse slot index.
|
|
1011
|
+
- `continuationState` - - Latest visible pulse position for the slot.
|
|
1012
|
+
|
|
1013
|
+
Returns: Nothing.
|
|
1014
|
+
|
|
1015
|
+
### resolveContinuedVerticalPulsePath
|
|
1016
|
+
|
|
1017
|
+
`(input: { candidatePulsePaths: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath[]; pulseSlotIndex: number; frameIndex: number; travelProgressRatio: number; }) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath | null`
|
|
1018
|
+
|
|
1019
|
+
Resolves the nearest continued vertical pulse path for an active slot.
|
|
1020
|
+
|
|
1021
|
+
Parameters:
|
|
1022
|
+
- `input` - - Continuation input for the current frame.
|
|
1023
|
+
|
|
1024
|
+
Returns: Continued pulse path when one can be matched, otherwise null.
|
|
1025
|
+
|
|
1026
|
+
### resolvePlaybackGroundGridVerticalPulseSelection
|
|
1027
|
+
|
|
1028
|
+
`(input: { verticalPulsePaths: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath[]; visibleVerticalPulsePaths: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath[]; pulseSlotIndex: number; frameIndex: number; travelProgressRatio: number; resolveUnitHash: (seed: number, salt: number) => number; }) => import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath | null`
|
|
1029
|
+
|
|
1030
|
+
Resolves the current vertical pulse path while preserving per-slot continuity.
|
|
1031
|
+
|
|
1032
|
+
A vertical pulse should stay attached to one moving ray for its whole
|
|
1033
|
+
lifetime, even though the frame-local ray array is rebuilt as scroll wraps.
|
|
1034
|
+
This helper first prefers the nearest continuation of the previous frame's
|
|
1035
|
+
pulse position, then falls back to deterministic slot-based selection.
|
|
1036
|
+
|
|
1037
|
+
Parameters:
|
|
1038
|
+
- `verticalPulsePaths` - - Full vertical ray paths for the current frame.
|
|
1039
|
+
- `visibleVerticalPulsePaths` - - Visible subset preferred for on-screen pulses.
|
|
1040
|
+
- `pulseSlotIndex` - - Zero-based pulse slot index.
|
|
1041
|
+
- `frameIndex` - - Current deterministic frame index.
|
|
1042
|
+
- `travelProgressRatio` - - Current travel ratio along the chosen line.
|
|
1043
|
+
- `resolveUnitHash` - - Deterministic unit-hash helper used for fallback picks.
|
|
1044
|
+
|
|
1045
|
+
Returns: Vertical pulse path, or null when none are available.
|
|
1046
|
+
|
|
1047
|
+
### resolveStableVerticalPulsePathCandidates
|
|
1048
|
+
|
|
1049
|
+
`(verticalPulsePaths: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath[], visibleVerticalPulsePaths: readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath[]) => readonly import("test/examples/flappy_bird/browser-entry/playback/background/ground-grid/playback.background.ground-grid.types").PlaybackGroundGridPulsePath[]`
|
|
1050
|
+
|
|
1051
|
+
Resolves a stable vertical pulse-candidate set for one frame.
|
|
1052
|
+
|
|
1053
|
+
Parameters:
|
|
1054
|
+
- `verticalPulsePaths` - - Full vertical ray paths for the current frame.
|
|
1055
|
+
- `visibleVerticalPulsePaths` - - Midpoint-visible subset used as fallback.
|
|
1056
|
+
|
|
1057
|
+
Returns: Stable candidate set for deterministic vertical pulse selection.
|
|
1058
|
+
|
|
1059
|
+
### trimCachedVerticalPulseContinuationState
|
|
1060
|
+
|
|
1061
|
+
`(currentPulseSlotIndex: number) => void`
|
|
1062
|
+
|
|
1063
|
+
Trims cached continuation state so only the current or previous pulse slots remain.
|
|
1064
|
+
|
|
1065
|
+
Parameters:
|
|
1066
|
+
- `currentPulseSlotIndex` - - Pulse slot currently being resolved.
|
|
1067
|
+
|
|
1068
|
+
Returns: Nothing.
|