@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,541 @@
|
|
|
1
|
+
# browser-entry/playback/frame-render
|
|
2
|
+
|
|
3
|
+
## browser-entry/playback/frame-render/playback.frame-render.types.ts
|
|
4
|
+
|
|
5
|
+
### PlaybackBirdGeometry
|
|
6
|
+
|
|
7
|
+
Pixel-aligned square geometry used by bird paint helpers.
|
|
8
|
+
|
|
9
|
+
Bird geometry is resolved once so the detailed bird renderer can reuse a
|
|
10
|
+
stable square body box across glow and fill passes.
|
|
11
|
+
|
|
12
|
+
### PlaybackBirdPaintInput
|
|
13
|
+
|
|
14
|
+
Bird-paint input shared by the bird render helper module.
|
|
15
|
+
|
|
16
|
+
This combines geometry and style into one small input object for lower-level
|
|
17
|
+
drawing helpers.
|
|
18
|
+
|
|
19
|
+
### PlaybackBirdRenderer
|
|
20
|
+
|
|
21
|
+
`(context: CanvasRenderingContext2D, birdYPx: number, birdIndex: number, championBirdIndex: number) => void`
|
|
22
|
+
|
|
23
|
+
Bird body renderer contract used by frame-render orchestration helpers.
|
|
24
|
+
|
|
25
|
+
Keeping the renderer as an injected function makes the high-level frame pass
|
|
26
|
+
independent from the detailed bird-paint implementation.
|
|
27
|
+
|
|
28
|
+
### PlaybackFrameSceneContext
|
|
29
|
+
|
|
30
|
+
Local type contracts for playback frame rendering.
|
|
31
|
+
|
|
32
|
+
These types are extracted from the broader frame renderer so scene state,
|
|
33
|
+
bird geometry, and trail styling can evolve behind a dedicated module
|
|
34
|
+
boundary.
|
|
35
|
+
|
|
36
|
+
Together they describe the inputs and intermediate state needed to paint one
|
|
37
|
+
world-space frame on the browser canvas.
|
|
38
|
+
|
|
39
|
+
### PlaybackTrailRenderer
|
|
40
|
+
|
|
41
|
+
`(context: CanvasRenderingContext2D, trailPoints: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").TrailPoint[], color: string, anchorX: number, baseOpacity: number, edgeBounds: import("test/examples/flappy_bird/browser-entry/playback/playback.types").PlaybackEdgeBounds) => void`
|
|
42
|
+
|
|
43
|
+
Trail segment renderer used by frame-render orchestration helpers.
|
|
44
|
+
|
|
45
|
+
The detailed trail painter owns edge fading and stepped segments; the frame
|
|
46
|
+
orchestration only decides when to call it.
|
|
47
|
+
|
|
48
|
+
### PlaybackTrailRenderStyle
|
|
49
|
+
|
|
50
|
+
Resolved opacity and color for one bird trail render pass.
|
|
51
|
+
|
|
52
|
+
Trails use a lighter-weight style record than birds because they only need a
|
|
53
|
+
base opacity plus stroke color.
|
|
54
|
+
|
|
55
|
+
### PlaybackTrailStyleResolver
|
|
56
|
+
|
|
57
|
+
`(birdIndex: number, championBirdIndex: number) => import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackTrailRenderStyle`
|
|
58
|
+
|
|
59
|
+
Trail style resolver used by frame-render orchestration helpers.
|
|
60
|
+
|
|
61
|
+
This lets orchestration ask for champion-vs-non-champion trail styling
|
|
62
|
+
without embedding color policy directly in the frame pass.
|
|
63
|
+
|
|
64
|
+
## browser-entry/playback/frame-render/playback.frame-render.service.ts
|
|
65
|
+
|
|
66
|
+
### renderPopulationFrame
|
|
67
|
+
|
|
68
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState, trailState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").TrailState) => void`
|
|
69
|
+
|
|
70
|
+
High-level frame-render orchestration for playback.
|
|
71
|
+
|
|
72
|
+
This boundary coordinates one visual frame of the playback experience. It
|
|
73
|
+
resolves the scene, prepares the canvas, paints the background and entities,
|
|
74
|
+
and maintains the short champion trail used for motion emphasis.
|
|
75
|
+
|
|
76
|
+
### updateTrailState
|
|
77
|
+
|
|
78
|
+
`(trailState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").TrailState, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState) => void`
|
|
79
|
+
|
|
80
|
+
Updates the trail cache from the latest frame snapshot.
|
|
81
|
+
|
|
82
|
+
The renderer intentionally keeps only a short champion trail instead of full
|
|
83
|
+
history for every bird, which keeps the visual emphasis clear and the per-frame
|
|
84
|
+
work small.
|
|
85
|
+
|
|
86
|
+
Parameters:
|
|
87
|
+
- `trailState` - - Mutable trail state.
|
|
88
|
+
- `renderState` - - Current render state.
|
|
89
|
+
|
|
90
|
+
Returns: Nothing.
|
|
91
|
+
|
|
92
|
+
## browser-entry/playback/frame-render/playback.frame-render.services.ts
|
|
93
|
+
|
|
94
|
+
### beginPlaybackFrameViewportTransform
|
|
95
|
+
|
|
96
|
+
`(context: CanvasRenderingContext2D, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext) => void`
|
|
97
|
+
|
|
98
|
+
Applies the viewport transform used for world-space frame rendering.
|
|
99
|
+
|
|
100
|
+
After this transform, draw calls can work in simulation coordinates instead of
|
|
101
|
+
raw canvas pixel coordinates.
|
|
102
|
+
|
|
103
|
+
Parameters:
|
|
104
|
+
- `context` - - Canvas 2D drawing context.
|
|
105
|
+
- `sceneContext` - - Shared scene geometry for the frame.
|
|
106
|
+
|
|
107
|
+
Returns: Nothing.
|
|
108
|
+
|
|
109
|
+
### finalizePlaybackFrameCanvas
|
|
110
|
+
|
|
111
|
+
`(context: CanvasRenderingContext2D) => void`
|
|
112
|
+
|
|
113
|
+
Restores the caller canvas state after viewport-space frame drawing.
|
|
114
|
+
|
|
115
|
+
This ensures later canvas users do not inherit playback-specific transform or
|
|
116
|
+
alpha state.
|
|
117
|
+
|
|
118
|
+
Parameters:
|
|
119
|
+
- `context` - - Canvas 2D drawing context.
|
|
120
|
+
|
|
121
|
+
Returns: Nothing.
|
|
122
|
+
|
|
123
|
+
### preparePlaybackFrameCanvas
|
|
124
|
+
|
|
125
|
+
`(context: CanvasRenderingContext2D) => void`
|
|
126
|
+
|
|
127
|
+
Canvas-state helpers for playback frame rendering.
|
|
128
|
+
|
|
129
|
+
These functions isolate the mutable canvas setup and teardown needed for one
|
|
130
|
+
frame so the orchestration layer can read as declarative world rendering.
|
|
131
|
+
|
|
132
|
+
### renderPlaybackFrameBackground
|
|
133
|
+
|
|
134
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext) => void`
|
|
135
|
+
|
|
136
|
+
Entity-layer rendering helpers for playback frames.
|
|
137
|
+
|
|
138
|
+
These services paint the world-space contents of a frame once the scene and
|
|
139
|
+
canvas transforms have already been resolved.
|
|
140
|
+
|
|
141
|
+
### renderPlaybackFrameBirds
|
|
142
|
+
|
|
143
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext, renderBird: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackBirdRenderer) => void`
|
|
144
|
+
|
|
145
|
+
Draws all active birds for the current frame.
|
|
146
|
+
|
|
147
|
+
Only live birds are painted so the playback frame reflects the active
|
|
148
|
+
population rather than leaving ghost bodies behind.
|
|
149
|
+
|
|
150
|
+
Parameters:
|
|
151
|
+
- `context` - - Canvas 2D drawing context.
|
|
152
|
+
- `renderState` - - Mutable simulation state snapshot.
|
|
153
|
+
- `sceneContext` - - Shared scene geometry for the frame.
|
|
154
|
+
- `renderBird` - - Bird body renderer owned by the detailed utility layer.
|
|
155
|
+
|
|
156
|
+
Returns: Nothing.
|
|
157
|
+
|
|
158
|
+
### renderPlaybackFramePipes
|
|
159
|
+
|
|
160
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext) => void`
|
|
161
|
+
|
|
162
|
+
Draws all visible pipe segments and their neon outlines for the frame.
|
|
163
|
+
|
|
164
|
+
Pipes are rendered as upper and lower segments connected to the projected
|
|
165
|
+
floor profile used by the background grid.
|
|
166
|
+
|
|
167
|
+
Parameters:
|
|
168
|
+
- `context` - - Canvas 2D drawing context.
|
|
169
|
+
- `renderState` - - Mutable simulation state snapshot.
|
|
170
|
+
- `sceneContext` - - Shared scene geometry for the frame.
|
|
171
|
+
|
|
172
|
+
Returns: Nothing.
|
|
173
|
+
|
|
174
|
+
### renderPlaybackFrameTrails
|
|
175
|
+
|
|
176
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState, trailState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").TrailState, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext, resolveTrailStyle: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackTrailStyleResolver, renderTrail: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackTrailRenderer) => void`
|
|
177
|
+
|
|
178
|
+
Draws stepped trails for all active birds in the frame.
|
|
179
|
+
|
|
180
|
+
In practice the trail cache usually contains only the champion trail, but the
|
|
181
|
+
renderer stays generic and asks the trail-style policy how each active bird
|
|
182
|
+
should be painted.
|
|
183
|
+
|
|
184
|
+
Parameters:
|
|
185
|
+
- `context` - - Canvas 2D drawing context.
|
|
186
|
+
- `renderState` - - Mutable simulation state snapshot.
|
|
187
|
+
- `trailState` - - Leader trail render cache.
|
|
188
|
+
- `sceneContext` - - Shared scene geometry for the frame.
|
|
189
|
+
- `resolveTrailStyle` - - Trail style resolver owned by the detailed utility layer.
|
|
190
|
+
- `renderTrail` - - Trail segment renderer owned by the detailed utility layer.
|
|
191
|
+
|
|
192
|
+
Returns: Nothing.
|
|
193
|
+
|
|
194
|
+
### resolvePlaybackFrameSceneContext
|
|
195
|
+
|
|
196
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState) => import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext`
|
|
197
|
+
|
|
198
|
+
Scene-resolution helpers for playback frame rendering.
|
|
199
|
+
|
|
200
|
+
Before anything can be painted, the renderer needs a camera-relative view of
|
|
201
|
+
the world: viewport scale, visible bounds, camera origin, and which bird is
|
|
202
|
+
currently the champion.
|
|
203
|
+
|
|
204
|
+
## browser-entry/playback/frame-render/playback.frame-render.scene.services.ts
|
|
205
|
+
|
|
206
|
+
### resolvePlaybackFrameSceneContext
|
|
207
|
+
|
|
208
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState) => import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext`
|
|
209
|
+
|
|
210
|
+
Scene-resolution helpers for playback frame rendering.
|
|
211
|
+
|
|
212
|
+
Before anything can be painted, the renderer needs a camera-relative view of
|
|
213
|
+
the world: viewport scale, visible bounds, camera origin, and which bird is
|
|
214
|
+
currently the champion.
|
|
215
|
+
|
|
216
|
+
## browser-entry/playback/frame-render/playback.frame-render.canvas.services.ts
|
|
217
|
+
|
|
218
|
+
### beginPlaybackFrameViewportTransform
|
|
219
|
+
|
|
220
|
+
`(context: CanvasRenderingContext2D, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext) => void`
|
|
221
|
+
|
|
222
|
+
Applies the viewport transform used for world-space frame rendering.
|
|
223
|
+
|
|
224
|
+
After this transform, draw calls can work in simulation coordinates instead of
|
|
225
|
+
raw canvas pixel coordinates.
|
|
226
|
+
|
|
227
|
+
Parameters:
|
|
228
|
+
- `context` - - Canvas 2D drawing context.
|
|
229
|
+
- `sceneContext` - - Shared scene geometry for the frame.
|
|
230
|
+
|
|
231
|
+
Returns: Nothing.
|
|
232
|
+
|
|
233
|
+
### finalizePlaybackFrameCanvas
|
|
234
|
+
|
|
235
|
+
`(context: CanvasRenderingContext2D) => void`
|
|
236
|
+
|
|
237
|
+
Restores the caller canvas state after viewport-space frame drawing.
|
|
238
|
+
|
|
239
|
+
This ensures later canvas users do not inherit playback-specific transform or
|
|
240
|
+
alpha state.
|
|
241
|
+
|
|
242
|
+
Parameters:
|
|
243
|
+
- `context` - - Canvas 2D drawing context.
|
|
244
|
+
|
|
245
|
+
Returns: Nothing.
|
|
246
|
+
|
|
247
|
+
### preparePlaybackFrameCanvas
|
|
248
|
+
|
|
249
|
+
`(context: CanvasRenderingContext2D) => void`
|
|
250
|
+
|
|
251
|
+
Canvas-state helpers for playback frame rendering.
|
|
252
|
+
|
|
253
|
+
These functions isolate the mutable canvas setup and teardown needed for one
|
|
254
|
+
frame so the orchestration layer can read as declarative world rendering.
|
|
255
|
+
|
|
256
|
+
## browser-entry/playback/frame-render/playback.frame-render.entity.services.ts
|
|
257
|
+
|
|
258
|
+
### renderPlaybackFrameBackground
|
|
259
|
+
|
|
260
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext) => void`
|
|
261
|
+
|
|
262
|
+
Entity-layer rendering helpers for playback frames.
|
|
263
|
+
|
|
264
|
+
These services paint the world-space contents of a frame once the scene and
|
|
265
|
+
canvas transforms have already been resolved.
|
|
266
|
+
|
|
267
|
+
### renderPlaybackFrameBirds
|
|
268
|
+
|
|
269
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext, renderBird: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackBirdRenderer) => void`
|
|
270
|
+
|
|
271
|
+
Draws all active birds for the current frame.
|
|
272
|
+
|
|
273
|
+
Only live birds are painted so the playback frame reflects the active
|
|
274
|
+
population rather than leaving ghost bodies behind.
|
|
275
|
+
|
|
276
|
+
Parameters:
|
|
277
|
+
- `context` - - Canvas 2D drawing context.
|
|
278
|
+
- `renderState` - - Mutable simulation state snapshot.
|
|
279
|
+
- `sceneContext` - - Shared scene geometry for the frame.
|
|
280
|
+
- `renderBird` - - Bird body renderer owned by the detailed utility layer.
|
|
281
|
+
|
|
282
|
+
Returns: Nothing.
|
|
283
|
+
|
|
284
|
+
### renderPlaybackFramePipes
|
|
285
|
+
|
|
286
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext) => void`
|
|
287
|
+
|
|
288
|
+
Draws all visible pipe segments and their neon outlines for the frame.
|
|
289
|
+
|
|
290
|
+
Pipes are rendered as upper and lower segments connected to the projected
|
|
291
|
+
floor profile used by the background grid.
|
|
292
|
+
|
|
293
|
+
Parameters:
|
|
294
|
+
- `context` - - Canvas 2D drawing context.
|
|
295
|
+
- `renderState` - - Mutable simulation state snapshot.
|
|
296
|
+
- `sceneContext` - - Shared scene geometry for the frame.
|
|
297
|
+
|
|
298
|
+
Returns: Nothing.
|
|
299
|
+
|
|
300
|
+
### renderPlaybackFrameTrails
|
|
301
|
+
|
|
302
|
+
`(context: CanvasRenderingContext2D, renderState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").PopulationRenderState, trailState: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").TrailState, sceneContext: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackFrameSceneContext, resolveTrailStyle: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackTrailStyleResolver, renderTrail: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackTrailRenderer) => void`
|
|
303
|
+
|
|
304
|
+
Draws stepped trails for all active birds in the frame.
|
|
305
|
+
|
|
306
|
+
In practice the trail cache usually contains only the champion trail, but the
|
|
307
|
+
renderer stays generic and asks the trail-style policy how each active bird
|
|
308
|
+
should be painted.
|
|
309
|
+
|
|
310
|
+
Parameters:
|
|
311
|
+
- `context` - - Canvas 2D drawing context.
|
|
312
|
+
- `renderState` - - Mutable simulation state snapshot.
|
|
313
|
+
- `trailState` - - Leader trail render cache.
|
|
314
|
+
- `sceneContext` - - Shared scene geometry for the frame.
|
|
315
|
+
- `resolveTrailStyle` - - Trail style resolver owned by the detailed utility layer.
|
|
316
|
+
- `renderTrail` - - Trail segment renderer owned by the detailed utility layer.
|
|
317
|
+
|
|
318
|
+
Returns: Nothing.
|
|
319
|
+
|
|
320
|
+
## browser-entry/playback/frame-render/playback.frame-render.utils.ts
|
|
321
|
+
|
|
322
|
+
### drawChampionPlaybackBirdGlow
|
|
323
|
+
|
|
324
|
+
`(context: CanvasRenderingContext2D, birdGeometry: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackBirdGeometry, birdRenderStyle: import("test/examples/flappy_bird/browser-entry/playback/playback.render.utils").PlaybackBirdRenderStyle) => void`
|
|
325
|
+
|
|
326
|
+
Draws the champion bird using the same two-pass additive outline glow method as pipes.
|
|
327
|
+
|
|
328
|
+
Reusing the pipe-style glow language helps the whole playback scene feel like
|
|
329
|
+
one visual system instead of unrelated rendering effects.
|
|
330
|
+
|
|
331
|
+
Parameters:
|
|
332
|
+
- `context` - - Canvas 2D drawing context.
|
|
333
|
+
- `birdGeometry` - - Pixel-aligned bird geometry.
|
|
334
|
+
- `birdRenderStyle` - - Resolved bird style payload.
|
|
335
|
+
|
|
336
|
+
Returns: Nothing.
|
|
337
|
+
|
|
338
|
+
### drawPlaybackBirdBody
|
|
339
|
+
|
|
340
|
+
`(context: CanvasRenderingContext2D, birdGeometry: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackBirdGeometry, birdRenderStyle: import("test/examples/flappy_bird/browser-entry/playback/playback.render.utils").PlaybackBirdRenderStyle) => void`
|
|
341
|
+
|
|
342
|
+
Draws the square bird body with its base neon glow.
|
|
343
|
+
|
|
344
|
+
This is the standard body pass shared by champion and non-champion birds.
|
|
345
|
+
|
|
346
|
+
Parameters:
|
|
347
|
+
- `context` - - Canvas 2D drawing context.
|
|
348
|
+
- `birdGeometry` - - Pixel-aligned bird geometry.
|
|
349
|
+
- `birdRenderStyle` - - Resolved bird style payload.
|
|
350
|
+
|
|
351
|
+
Returns: Nothing.
|
|
352
|
+
|
|
353
|
+
### drawTrail
|
|
354
|
+
|
|
355
|
+
`(context: CanvasRenderingContext2D, trailPoints: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").TrailPoint[], color: string, anchorX: number, baseOpacity: number, edgeBounds: import("test/examples/flappy_bird/browser-entry/playback/playback.types").PlaybackEdgeBounds) => void`
|
|
356
|
+
|
|
357
|
+
Draws the stepped trail history for one active bird.
|
|
358
|
+
|
|
359
|
+
The stepped shape makes the trajectory feel more schematic and readable than a
|
|
360
|
+
perfectly smooth spline, which fits the overall instrument-panel aesthetic.
|
|
361
|
+
|
|
362
|
+
Parameters:
|
|
363
|
+
- `context` - - Canvas 2D drawing context.
|
|
364
|
+
- `trailPoints` - - Cached per-frame trail points for one bird.
|
|
365
|
+
- `color` - - Stroke color for the trail.
|
|
366
|
+
- `anchorX` - - Bird anchor x-position in world space.
|
|
367
|
+
- `baseOpacity` - - Base opacity before edge and lifetime fading.
|
|
368
|
+
- `edgeBounds` - - Visible world bounds used for edge fading.
|
|
369
|
+
|
|
370
|
+
Returns: Nothing.
|
|
371
|
+
|
|
372
|
+
### renderPlaybackBird
|
|
373
|
+
|
|
374
|
+
`(context: CanvasRenderingContext2D, birdYPx: number, birdIndex: number, championBirdIndex: number) => void`
|
|
375
|
+
|
|
376
|
+
Detailed bird-painting helpers for playback frames.
|
|
377
|
+
|
|
378
|
+
The bird renderer keeps the body intentionally simple and geometric: a neon
|
|
379
|
+
square with optional champion glow passes. That makes the population readable
|
|
380
|
+
at a glance even when many birds overlap.
|
|
381
|
+
|
|
382
|
+
### resolvePlaybackBirdBodyGlowBlur
|
|
383
|
+
|
|
384
|
+
`(birdRenderStyle: import("test/examples/flappy_bird/browser-entry/playback/playback.render.utils").PlaybackBirdRenderStyle) => number`
|
|
385
|
+
|
|
386
|
+
Resolves the body glow blur for one bird render pass.
|
|
387
|
+
|
|
388
|
+
Champion birds receive a slightly stronger body glow than the rest of the
|
|
389
|
+
population.
|
|
390
|
+
|
|
391
|
+
Parameters:
|
|
392
|
+
- `birdRenderStyle` - - Resolved bird style payload.
|
|
393
|
+
|
|
394
|
+
Returns: Blur radius used behind the square bird body.
|
|
395
|
+
|
|
396
|
+
### resolvePlaybackBirdGeometry
|
|
397
|
+
|
|
398
|
+
`(birdYPx: number) => import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackBirdGeometry`
|
|
399
|
+
|
|
400
|
+
Resolves the fixed bird geometry used by all body rendering passes.
|
|
401
|
+
|
|
402
|
+
Geometry is snapped to integer pixels so the square body stays crisp instead
|
|
403
|
+
of blurring across subpixel boundaries.
|
|
404
|
+
|
|
405
|
+
Parameters:
|
|
406
|
+
- `birdYPx` - - Bird vertical position in world pixels.
|
|
407
|
+
|
|
408
|
+
Returns: Pixel-aligned square geometry for the bird body.
|
|
409
|
+
|
|
410
|
+
### resolvePlaybackTrailStyle
|
|
411
|
+
|
|
412
|
+
`(birdIndex: number, championBirdIndex: number) => import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackTrailRenderStyle`
|
|
413
|
+
|
|
414
|
+
Detailed trail-painting helpers for playback frames.
|
|
415
|
+
|
|
416
|
+
Trails are rendered as stepped segments with both lifetime fading and edge
|
|
417
|
+
fading so motion remains legible without overwhelming the scene.
|
|
418
|
+
|
|
419
|
+
## browser-entry/playback/frame-render/playback.frame-render.bird.utils.ts
|
|
420
|
+
|
|
421
|
+
### drawChampionPlaybackBirdGlow
|
|
422
|
+
|
|
423
|
+
`(context: CanvasRenderingContext2D, birdGeometry: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackBirdGeometry, birdRenderStyle: import("test/examples/flappy_bird/browser-entry/playback/playback.render.utils").PlaybackBirdRenderStyle) => void`
|
|
424
|
+
|
|
425
|
+
Draws the champion bird using the same two-pass additive outline glow method as pipes.
|
|
426
|
+
|
|
427
|
+
Reusing the pipe-style glow language helps the whole playback scene feel like
|
|
428
|
+
one visual system instead of unrelated rendering effects.
|
|
429
|
+
|
|
430
|
+
Parameters:
|
|
431
|
+
- `context` - - Canvas 2D drawing context.
|
|
432
|
+
- `birdGeometry` - - Pixel-aligned bird geometry.
|
|
433
|
+
- `birdRenderStyle` - - Resolved bird style payload.
|
|
434
|
+
|
|
435
|
+
Returns: Nothing.
|
|
436
|
+
|
|
437
|
+
### drawPlaybackBirdBody
|
|
438
|
+
|
|
439
|
+
`(context: CanvasRenderingContext2D, birdGeometry: import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackBirdGeometry, birdRenderStyle: import("test/examples/flappy_bird/browser-entry/playback/playback.render.utils").PlaybackBirdRenderStyle) => void`
|
|
440
|
+
|
|
441
|
+
Draws the square bird body with its base neon glow.
|
|
442
|
+
|
|
443
|
+
This is the standard body pass shared by champion and non-champion birds.
|
|
444
|
+
|
|
445
|
+
Parameters:
|
|
446
|
+
- `context` - - Canvas 2D drawing context.
|
|
447
|
+
- `birdGeometry` - - Pixel-aligned bird geometry.
|
|
448
|
+
- `birdRenderStyle` - - Resolved bird style payload.
|
|
449
|
+
|
|
450
|
+
Returns: Nothing.
|
|
451
|
+
|
|
452
|
+
### renderPlaybackBird
|
|
453
|
+
|
|
454
|
+
`(context: CanvasRenderingContext2D, birdYPx: number, birdIndex: number, championBirdIndex: number) => void`
|
|
455
|
+
|
|
456
|
+
Detailed bird-painting helpers for playback frames.
|
|
457
|
+
|
|
458
|
+
The bird renderer keeps the body intentionally simple and geometric: a neon
|
|
459
|
+
square with optional champion glow passes. That makes the population readable
|
|
460
|
+
at a glance even when many birds overlap.
|
|
461
|
+
|
|
462
|
+
### resolvePlaybackBirdBodyGlowBlur
|
|
463
|
+
|
|
464
|
+
`(birdRenderStyle: import("test/examples/flappy_bird/browser-entry/playback/playback.render.utils").PlaybackBirdRenderStyle) => number`
|
|
465
|
+
|
|
466
|
+
Resolves the body glow blur for one bird render pass.
|
|
467
|
+
|
|
468
|
+
Champion birds receive a slightly stronger body glow than the rest of the
|
|
469
|
+
population.
|
|
470
|
+
|
|
471
|
+
Parameters:
|
|
472
|
+
- `birdRenderStyle` - - Resolved bird style payload.
|
|
473
|
+
|
|
474
|
+
Returns: Blur radius used behind the square bird body.
|
|
475
|
+
|
|
476
|
+
### resolvePlaybackBirdGeometry
|
|
477
|
+
|
|
478
|
+
`(birdYPx: number) => import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackBirdGeometry`
|
|
479
|
+
|
|
480
|
+
Resolves the fixed bird geometry used by all body rendering passes.
|
|
481
|
+
|
|
482
|
+
Geometry is snapped to integer pixels so the square body stays crisp instead
|
|
483
|
+
of blurring across subpixel boundaries.
|
|
484
|
+
|
|
485
|
+
Parameters:
|
|
486
|
+
- `birdYPx` - - Bird vertical position in world pixels.
|
|
487
|
+
|
|
488
|
+
Returns: Pixel-aligned square geometry for the bird body.
|
|
489
|
+
|
|
490
|
+
## browser-entry/playback/frame-render/playback.frame-render.trail.utils.ts
|
|
491
|
+
|
|
492
|
+
### drawTrail
|
|
493
|
+
|
|
494
|
+
`(context: CanvasRenderingContext2D, trailPoints: import("test/examples/flappy_bird/browser-entry/browser-entry.simulation.types").TrailPoint[], color: string, anchorX: number, baseOpacity: number, edgeBounds: import("test/examples/flappy_bird/browser-entry/playback/playback.types").PlaybackEdgeBounds) => void`
|
|
495
|
+
|
|
496
|
+
Draws the stepped trail history for one active bird.
|
|
497
|
+
|
|
498
|
+
The stepped shape makes the trajectory feel more schematic and readable than a
|
|
499
|
+
perfectly smooth spline, which fits the overall instrument-panel aesthetic.
|
|
500
|
+
|
|
501
|
+
Parameters:
|
|
502
|
+
- `context` - - Canvas 2D drawing context.
|
|
503
|
+
- `trailPoints` - - Cached per-frame trail points for one bird.
|
|
504
|
+
- `color` - - Stroke color for the trail.
|
|
505
|
+
- `anchorX` - - Bird anchor x-position in world space.
|
|
506
|
+
- `baseOpacity` - - Base opacity before edge and lifetime fading.
|
|
507
|
+
- `edgeBounds` - - Visible world bounds used for edge fading.
|
|
508
|
+
|
|
509
|
+
Returns: Nothing.
|
|
510
|
+
|
|
511
|
+
### drawTrailSegmentWithEdgeFade
|
|
512
|
+
|
|
513
|
+
`(context: CanvasRenderingContext2D, startXPx: number, startYPx: number, endXPx: number, endYPx: number, baseOpacity: number, edgeBounds: import("test/examples/flappy_bird/browser-entry/playback/playback.types").PlaybackEdgeBounds, startFrameOffset: number, endFrameOffset: number, maximumTrailFrameOffset: number) => void`
|
|
514
|
+
|
|
515
|
+
Draws one trail segment with combined edge and lifetime fading.
|
|
516
|
+
|
|
517
|
+
Two independent fade signals are combined here: old segments dim over time,
|
|
518
|
+
and segments near the viewport edge fade to avoid harsh clipping.
|
|
519
|
+
|
|
520
|
+
Parameters:
|
|
521
|
+
- `context` - - Canvas 2D drawing context.
|
|
522
|
+
- `startXPx` - - Segment start x-position.
|
|
523
|
+
- `startYPx` - - Segment start y-position.
|
|
524
|
+
- `endXPx` - - Segment end x-position.
|
|
525
|
+
- `endYPx` - - Segment end y-position.
|
|
526
|
+
- `baseOpacity` - - Base opacity before fade factors.
|
|
527
|
+
- `edgeBounds` - - Visible world bounds used for edge fading.
|
|
528
|
+
- `startFrameOffset` - - Relative age of the segment start.
|
|
529
|
+
- `endFrameOffset` - - Relative age of the segment end.
|
|
530
|
+
- `maximumTrailFrameOffset` - - Oldest visible trail age.
|
|
531
|
+
|
|
532
|
+
Returns: Nothing.
|
|
533
|
+
|
|
534
|
+
### resolvePlaybackTrailStyle
|
|
535
|
+
|
|
536
|
+
`(birdIndex: number, championBirdIndex: number) => import("test/examples/flappy_bird/browser-entry/playback/frame-render/playback.frame-render.types").PlaybackTrailRenderStyle`
|
|
537
|
+
|
|
538
|
+
Detailed trail-painting helpers for playback frames.
|
|
539
|
+
|
|
540
|
+
Trails are rendered as stepped segments with both lifetime fading and edge
|
|
541
|
+
fading so motion remains legible without overwhelming the scene.
|