@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,355 @@
|
|
|
1
|
+
# browser-entry/playback/background
|
|
2
|
+
|
|
3
|
+
## browser-entry/playback/background/playback.background.types.ts
|
|
4
|
+
|
|
5
|
+
### playback.background.types
|
|
6
|
+
|
|
7
|
+
Minimal render input required to draw the playback background.
|
|
8
|
+
|
|
9
|
+
The background is intentionally treated as a deterministic camera effect
|
|
10
|
+
rather than a gameplay-aware renderer. By restricting the contract to
|
|
11
|
+
viewport geometry, frame index, and scroll position, the module can create a
|
|
12
|
+
stable neon sky-ground composition without coupling itself to bird state,
|
|
13
|
+
pipe arrays, or trail caches.
|
|
14
|
+
|
|
15
|
+
@example
|
|
16
|
+
```ts
|
|
17
|
+
const request: PlaybackBackgroundRequest = {
|
|
18
|
+
viewportLeftXPx: cameraLeftPx,
|
|
19
|
+
visibleWorldWidthPx: 288,
|
|
20
|
+
visibleWorldHeightPx: 512,
|
|
21
|
+
frameIndex,
|
|
22
|
+
scrollBasePx: frameIndex * pipeSpeedPxPerFrame,
|
|
23
|
+
};
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### PlaybackBackgroundLayout
|
|
27
|
+
|
|
28
|
+
Resolved vertical scene split used by playback background composition.
|
|
29
|
+
|
|
30
|
+
The layout fixes the classic synthwave composition used by this demo: a tall
|
|
31
|
+
sky band for layered starfield parallax and a compressed lower strip for the
|
|
32
|
+
perspective grid. Caching this structure by viewport size keeps redraws cheap
|
|
33
|
+
when the scene is otherwise stable.
|
|
34
|
+
|
|
35
|
+
### PlaybackBackgroundLayoutFactory
|
|
36
|
+
|
|
37
|
+
`() => import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundLayout`
|
|
38
|
+
|
|
39
|
+
Zero-argument builder used to lazily construct one cached background layout.
|
|
40
|
+
|
|
41
|
+
The cache service accepts a factory instead of raw data so callers can defer
|
|
42
|
+
the slightly more expensive layout computation until a viewport-size cache
|
|
43
|
+
miss actually occurs.
|
|
44
|
+
|
|
45
|
+
### PlaybackBackgroundRequest
|
|
46
|
+
|
|
47
|
+
Minimal render input required to draw the playback background.
|
|
48
|
+
|
|
49
|
+
The background is intentionally treated as a deterministic camera effect
|
|
50
|
+
rather than a gameplay-aware renderer. By restricting the contract to
|
|
51
|
+
viewport geometry, frame index, and scroll position, the module can create a
|
|
52
|
+
stable neon sky-ground composition without coupling itself to bird state,
|
|
53
|
+
pipe arrays, or trail caches.
|
|
54
|
+
|
|
55
|
+
### PlaybackBackgroundSceneContext
|
|
56
|
+
|
|
57
|
+
Derived scene contract shared by the playback background render passes.
|
|
58
|
+
|
|
59
|
+
This is the background module's precomputed staging area. The scene service
|
|
60
|
+
resolves the sky/lower-band split, vanishing point, and horizon styling once
|
|
61
|
+
so the draw passes can stay orchestration-first and avoid repeating geometry
|
|
62
|
+
math every frame.
|
|
63
|
+
|
|
64
|
+
### PlaybackHorizonLineRequest
|
|
65
|
+
|
|
66
|
+
Draw request for the horizon divider line.
|
|
67
|
+
|
|
68
|
+
This narrow contract is the final handoff from layout math to the canvas
|
|
69
|
+
stroke helper: world-space x extents, the pixel-snapped y position, and the
|
|
70
|
+
resolved glow style needed for both line passes.
|
|
71
|
+
|
|
72
|
+
### PlaybackHorizonStyle
|
|
73
|
+
|
|
74
|
+
Neon styling contract for the horizon divider line.
|
|
75
|
+
|
|
76
|
+
The horizon is rendered as both a crisp divider and a glow source, much like
|
|
77
|
+
the luminous skyline separator common in synthwave and TRON-inspired poster
|
|
78
|
+
art. Keeping those paint properties bundled makes it easier to reason about
|
|
79
|
+
the horizon as one semantic effect instead of a pile of canvas state.
|
|
80
|
+
|
|
81
|
+
## browser-entry/playback/background/playback.background.ts
|
|
82
|
+
|
|
83
|
+
### renderPlaybackBackground
|
|
84
|
+
|
|
85
|
+
`(context: CanvasRenderingContext2D, request: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundRequest) => void`
|
|
86
|
+
|
|
87
|
+
Draws the layered playback background.
|
|
88
|
+
|
|
89
|
+
The composition keeps the top two-thirds for the neon starfield, fills the
|
|
90
|
+
lower band with a TRON-like perspective ground grid, and separates both
|
|
91
|
+
regions with a glowing horizon divider.
|
|
92
|
+
|
|
93
|
+
Parameters:
|
|
94
|
+
- `context` - - Canvas 2D drawing context.
|
|
95
|
+
- `request` - - Narrow render input required for background composition.
|
|
96
|
+
|
|
97
|
+
Returns: Nothing.
|
|
98
|
+
|
|
99
|
+
## browser-entry/playback/background/playback.background.services.ts
|
|
100
|
+
|
|
101
|
+
### drawPlaybackBackgroundHorizon
|
|
102
|
+
|
|
103
|
+
`(context: CanvasRenderingContext2D, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundSceneContext) => void`
|
|
104
|
+
|
|
105
|
+
Draws the glowing horizon divider across the visible viewport.
|
|
106
|
+
|
|
107
|
+
Parameters:
|
|
108
|
+
- `context` - - Canvas 2D drawing context.
|
|
109
|
+
- `sceneContext` - - Derived scene geometry and style contract.
|
|
110
|
+
|
|
111
|
+
Returns: Nothing.
|
|
112
|
+
|
|
113
|
+
### drawPlaybackBackgroundSky
|
|
114
|
+
|
|
115
|
+
`(context: CanvasRenderingContext2D, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundSceneContext, request: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundRequest) => void`
|
|
116
|
+
|
|
117
|
+
Draws the starfield parallax clipped to the upper sky band.
|
|
118
|
+
|
|
119
|
+
Parameters:
|
|
120
|
+
- `context` - - Canvas 2D drawing context.
|
|
121
|
+
- `sceneContext` - - Derived scene geometry and style contract.
|
|
122
|
+
- `request` - - Narrow render input required for background composition.
|
|
123
|
+
|
|
124
|
+
Returns: Nothing.
|
|
125
|
+
|
|
126
|
+
### paintPlaybackBackgroundBase
|
|
127
|
+
|
|
128
|
+
`(context: CanvasRenderingContext2D, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundSceneContext) => void`
|
|
129
|
+
|
|
130
|
+
Paints the base background fill for the currently visible viewport.
|
|
131
|
+
|
|
132
|
+
Parameters:
|
|
133
|
+
- `context` - - Canvas 2D drawing context.
|
|
134
|
+
- `sceneContext` - - Derived scene geometry and style contract.
|
|
135
|
+
|
|
136
|
+
Returns: Nothing.
|
|
137
|
+
|
|
138
|
+
### resolvePlaybackBackgroundSceneContext
|
|
139
|
+
|
|
140
|
+
`(request: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundRequest) => import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundSceneContext`
|
|
141
|
+
|
|
142
|
+
Resolves the derived scene contract required by the background passes.
|
|
143
|
+
|
|
144
|
+
Parameters:
|
|
145
|
+
- `request` - - Narrow render input required for background composition.
|
|
146
|
+
|
|
147
|
+
Returns: Immutable scene context shared by the private render helpers.
|
|
148
|
+
|
|
149
|
+
## browser-entry/playback/background/playback.background.constants.ts
|
|
150
|
+
|
|
151
|
+
### FLAPPY_BACKGROUND_COMPOSITE_LIGHTER
|
|
152
|
+
|
|
153
|
+
### FLAPPY_BACKGROUND_COMPOSITE_SOURCE_OVER
|
|
154
|
+
|
|
155
|
+
### FLAPPY_BACKGROUND_HORIZON_GLOW_ALPHA
|
|
156
|
+
|
|
157
|
+
### FLAPPY_BACKGROUND_HORIZON_GLOW_BLUR_PX
|
|
158
|
+
|
|
159
|
+
### FLAPPY_BACKGROUND_HORIZON_HALF_THICKNESS_MULTIPLIER
|
|
160
|
+
|
|
161
|
+
### FLAPPY_BACKGROUND_HORIZON_LINE_THICKNESS_PX
|
|
162
|
+
|
|
163
|
+
### FLAPPY_BACKGROUND_HORIZON_STYLE
|
|
164
|
+
|
|
165
|
+
### FLAPPY_BACKGROUND_MIN_VIEWPORT_DIMENSION_PX
|
|
166
|
+
|
|
167
|
+
### FLAPPY_BACKGROUND_ODD_STROKE_ALIGNMENT_OFFSET_PX
|
|
168
|
+
|
|
169
|
+
### FLAPPY_BACKGROUND_ODD_STROKE_DIVISOR
|
|
170
|
+
|
|
171
|
+
### FLAPPY_BACKGROUND_SKY_HEIGHT_RATIO
|
|
172
|
+
|
|
173
|
+
### FLAPPY_BACKGROUND_TILE_ROW_BUFFER_COUNT
|
|
174
|
+
|
|
175
|
+
### FLAPPY_BACKGROUND_TILE_ROW_START_INDEX
|
|
176
|
+
|
|
177
|
+
### FLAPPY_BACKGROUND_TRANSPARENT_SHADOW_COLOR
|
|
178
|
+
|
|
179
|
+
## browser-entry/playback/background/playback.background.draw.services.ts
|
|
180
|
+
|
|
181
|
+
### drawPlaybackBackgroundHorizon
|
|
182
|
+
|
|
183
|
+
`(context: CanvasRenderingContext2D, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundSceneContext) => void`
|
|
184
|
+
|
|
185
|
+
Draws the glowing horizon divider across the visible viewport.
|
|
186
|
+
|
|
187
|
+
Parameters:
|
|
188
|
+
- `context` - - Canvas 2D drawing context.
|
|
189
|
+
- `sceneContext` - - Derived scene geometry and style contract.
|
|
190
|
+
|
|
191
|
+
Returns: Nothing.
|
|
192
|
+
|
|
193
|
+
### drawPlaybackBackgroundSky
|
|
194
|
+
|
|
195
|
+
`(context: CanvasRenderingContext2D, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundSceneContext, request: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundRequest) => void`
|
|
196
|
+
|
|
197
|
+
Draws the starfield parallax clipped to the upper sky band.
|
|
198
|
+
|
|
199
|
+
Parameters:
|
|
200
|
+
- `context` - - Canvas 2D drawing context.
|
|
201
|
+
- `sceneContext` - - Derived scene geometry and style contract.
|
|
202
|
+
- `request` - - Narrow render input required for background composition.
|
|
203
|
+
|
|
204
|
+
Returns: Nothing.
|
|
205
|
+
|
|
206
|
+
### drawPlaybackHorizonLine
|
|
207
|
+
|
|
208
|
+
`(context: CanvasRenderingContext2D, request: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackHorizonLineRequest) => void`
|
|
209
|
+
|
|
210
|
+
Draws the glowing horizon divider using the provided neon style.
|
|
211
|
+
|
|
212
|
+
Parameters:
|
|
213
|
+
- `context` - - Canvas 2D drawing context.
|
|
214
|
+
- `request` - - Width, aligned y-position, and style for the divider.
|
|
215
|
+
|
|
216
|
+
Returns: Nothing.
|
|
217
|
+
|
|
218
|
+
### drawPlaybackTiledImageRow
|
|
219
|
+
|
|
220
|
+
`(context: CanvasRenderingContext2D, startXPx: number, tile: import("test/examples/flappy_bird/browser-entry/playback/playback.starfield.types").StarTileImage, tileWidthPx: number, visibleWidthPx: number, offsetPx: number) => void`
|
|
221
|
+
|
|
222
|
+
Draws a horizontally tiled image strip across the visible width.
|
|
223
|
+
|
|
224
|
+
Parameters:
|
|
225
|
+
- `context` - - Canvas 2D drawing context.
|
|
226
|
+
- `startXPx` - - Leftmost visible world x-position for the tiled strip.
|
|
227
|
+
- `tile` - - Pre-rendered tile image reused across the sky band.
|
|
228
|
+
- `tileWidthPx` - - Width of one repeated tile in pixels.
|
|
229
|
+
- `visibleWidthPx` - - Current visible width that must be fully covered.
|
|
230
|
+
- `offsetPx` - - Parallax scroll offset used to wrap tile placement.
|
|
231
|
+
|
|
232
|
+
Returns: Nothing.
|
|
233
|
+
|
|
234
|
+
### paintPlaybackBackgroundBase
|
|
235
|
+
|
|
236
|
+
`(context: CanvasRenderingContext2D, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundSceneContext) => void`
|
|
237
|
+
|
|
238
|
+
Paints the base background fill for the currently visible viewport.
|
|
239
|
+
|
|
240
|
+
Parameters:
|
|
241
|
+
- `context` - - Canvas 2D drawing context.
|
|
242
|
+
- `sceneContext` - - Derived scene geometry and style contract.
|
|
243
|
+
|
|
244
|
+
Returns: Nothing.
|
|
245
|
+
|
|
246
|
+
## browser-entry/playback/background/playback.background.cache.services.ts
|
|
247
|
+
|
|
248
|
+
### ensurePlaybackBackgroundViewportCacheValidity
|
|
249
|
+
|
|
250
|
+
`(visibleWorldWidthPx: number, visibleWorldHeightPx: number) => string`
|
|
251
|
+
|
|
252
|
+
Ensures background caches only retain entries for the current viewport size.
|
|
253
|
+
|
|
254
|
+
When the page size changes, cached geometry and coverage counts become
|
|
255
|
+
obsolete because the background bands and tile coverage both depend on the
|
|
256
|
+
current viewport dimensions.
|
|
257
|
+
|
|
258
|
+
Parameters:
|
|
259
|
+
- `visibleWorldWidthPx` - - Current visible world width in pixels.
|
|
260
|
+
- `visibleWorldHeightPx` - - Current visible world height in pixels.
|
|
261
|
+
|
|
262
|
+
Returns: Stable viewport-size cache key for the current frame.
|
|
263
|
+
|
|
264
|
+
### resolveCachedPlaybackBackgroundLayout
|
|
265
|
+
|
|
266
|
+
`(visibleWorldHeightPx: number, factory: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundLayoutFactory) => import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundLayout`
|
|
267
|
+
|
|
268
|
+
Resolves cached background layout for the current viewport height.
|
|
269
|
+
|
|
270
|
+
Parameters:
|
|
271
|
+
- `visibleWorldHeightPx` - - Current visible world height in pixels.
|
|
272
|
+
- `factory` - - Lazy layout builder used when the cache misses.
|
|
273
|
+
|
|
274
|
+
Returns: Cached background layout for the current viewport size.
|
|
275
|
+
|
|
276
|
+
### resolveCachedPlaybackTileCoverageCount
|
|
277
|
+
|
|
278
|
+
`(tileWidthPx: number, factory: () => number) => number`
|
|
279
|
+
|
|
280
|
+
Resolves cached tile coverage count for one tile width.
|
|
281
|
+
|
|
282
|
+
Parameters:
|
|
283
|
+
- `tileWidthPx` - - Width of one repeated starfield tile in pixels.
|
|
284
|
+
- `factory` - - Lazy coverage builder used when the cache misses.
|
|
285
|
+
|
|
286
|
+
Returns: Cached tile coverage count for the active viewport width.
|
|
287
|
+
|
|
288
|
+
### resolvePlaybackBackgroundViewportCacheKey
|
|
289
|
+
|
|
290
|
+
`(visibleWorldWidthPx: number, visibleWorldHeightPx: number) => string`
|
|
291
|
+
|
|
292
|
+
Resolves the stable viewport-size cache key used by background caches.
|
|
293
|
+
|
|
294
|
+
Parameters:
|
|
295
|
+
- `visibleWorldWidthPx` - - Current visible world width in pixels.
|
|
296
|
+
- `visibleWorldHeightPx` - - Current visible world height in pixels.
|
|
297
|
+
|
|
298
|
+
Returns: Cache key that changes whenever the page size changes.
|
|
299
|
+
|
|
300
|
+
## browser-entry/playback/background/playback.background.scene.services.ts
|
|
301
|
+
|
|
302
|
+
### resolvePlaybackBackgroundSceneContext
|
|
303
|
+
|
|
304
|
+
`(request: import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundRequest) => import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundSceneContext`
|
|
305
|
+
|
|
306
|
+
Resolves the derived scene contract required by the background passes.
|
|
307
|
+
|
|
308
|
+
Parameters:
|
|
309
|
+
- `request` - - Narrow render input required for background composition.
|
|
310
|
+
|
|
311
|
+
Returns: Immutable scene context shared by the private render helpers.
|
|
312
|
+
|
|
313
|
+
## browser-entry/playback/background/playback.background.utils.ts
|
|
314
|
+
|
|
315
|
+
### resolveAlignedHorizonYPx
|
|
316
|
+
|
|
317
|
+
`(horizonYPx: number, lineThicknessPx: number) => number`
|
|
318
|
+
|
|
319
|
+
Resolves pixel-snapped horizon positioning for crisp canvas strokes.
|
|
320
|
+
|
|
321
|
+
Parameters:
|
|
322
|
+
- `horizonYPx` - - Logical horizon centerline in pixels.
|
|
323
|
+
- `lineThicknessPx` - - Stroke thickness in pixels.
|
|
324
|
+
|
|
325
|
+
Returns: Pixel-snapped y-position for the stroke.
|
|
326
|
+
|
|
327
|
+
### resolvePlaybackBackgroundLayout
|
|
328
|
+
|
|
329
|
+
`(visibleWorldHeightPx: number) => import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackBackgroundLayout`
|
|
330
|
+
|
|
331
|
+
Resolves the vertical split between the starfield sky and the future ground.
|
|
332
|
+
|
|
333
|
+
Parameters:
|
|
334
|
+
- `visibleWorldHeightPx` - - Current visible world height in pixels.
|
|
335
|
+
|
|
336
|
+
Returns: Stable scene layout for the current frame.
|
|
337
|
+
|
|
338
|
+
### resolvePlaybackHorizonStyle
|
|
339
|
+
|
|
340
|
+
`() => import("test/examples/flappy_bird/browser-entry/playback/background/playback.background.types").PlaybackHorizonStyle`
|
|
341
|
+
|
|
342
|
+
Resolves the neon paint settings for the horizon divider.
|
|
343
|
+
|
|
344
|
+
Returns: Reusable draw style for both the glow and crisp line passes.
|
|
345
|
+
|
|
346
|
+
### resolveSafeBackgroundDimension
|
|
347
|
+
|
|
348
|
+
`(dimensionPx: number) => number`
|
|
349
|
+
|
|
350
|
+
Clamps a background dimension into a render-safe positive integer.
|
|
351
|
+
|
|
352
|
+
Parameters:
|
|
353
|
+
- `dimensionPx` - - Candidate viewport dimension in pixels.
|
|
354
|
+
|
|
355
|
+
Returns: Positive integer dimension suitable for canvas math.
|