From 2d0168104d1515fd05cdcc5189b4b207d33b5135 Mon Sep 17 00:00:00 2001 From: Emil Date: Wed, 2 Sep 2026 17:47:15 +0300 Subject: [PATCH] =?UTF-8?q?M4:=20PhysicsDemo=20=E2=80=94=20the=20"one=20sm?= =?UTF-8?q?all=20game,=20end=20to=20end"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit samples/PhysicsDemo ties physics, audio, input, and rendering together through nothing but the kernel's own vocabulary — no plugin here references another plugin's implementation, only Contracts. Press Space to drop a box; engine.physics simulates it falling onto a static ground; CubeRenderer (new — engine.render's QuadRenderer drew flat cards, no good for a physics demo where a BoxCollider needs to actually look like a box) draws it; physics-demo-game watches each spawned box's own Y velocity via IPhysicsService and plays a bounce sound via IAudioService the moment a real fall settles. A looping ambient track plays throughout via AudioSource's own PlayOnAwake. project.json deliberately excludes engine.editor — this is the shippable configuration M4's "done when" actually asks for, not the dev one. "Landed" isn't a Box3D contact event — the native shim never exposed one (nothing but scalars crosses that boundary, see lingua_physics.c). Watching velocity every frame is the honest, right-sized alternative for a demo this size, not a shortcut around missing infrastructure. Verified two ways. First, real Space-key input isn't simulable here (no xdotool/ydotool under this Wayland session) — so PhysicsDemoGame.Tests drives the actual PhysicsDemoGamePlugin.Configure/Tick through the real Schedule with a controllable fake IEngineInput (and fake IPhysicsService/ IAudioService, since engine.physics/engine.audio's own correctness is already covered elsewhere): spawn-on-press with edge detection, the Rigidbody/BoxCollider/CubeRenderer combo the spawned box actually gets, and — the case most likely to be subtly wrong — a box that never actually falls doesn't false-positive as "landed," only one that fell past FallingThreshold and then settled does, exactly once. All 5 passed immediately. Second, a real windowed run: a box placed in scene.json above the ground visibly falls and settles onto it on screen after a real few-second wait — screenshotting by --screenshot-after-frames alone turned out not to prove this (VSync is off, so frames race by far faster than real physics time passes; enough elapsed frames isn't enough elapsed seconds), an interactive run with a real sleep before the screenshot command is what actually shows it. Full suite: 92 tests. Remaining for M4: the Linux + Windows build pipeline. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01N1qPfzq8TDCUMFMV3UwV5N --- .gitignore | 7 + LinguaEngine.sln | 41 ++++ .../Engine.Render.Contracts/CubeRenderer.cs | 12 ++ .../Engine.Render/RenderPlugin.cs | 91 ++++++++- .../physics-demo-game/PhysicsDemoGame.csproj | 16 ++ .../PhysicsDemoGamePlugin.cs | 119 ++++++++++++ .../GamePlugins/physics-demo-game/plugin.json | 12 ++ samples/PhysicsDemo/assets/bounce.wav | Bin 0 -> 15920 bytes samples/PhysicsDemo/assets/music.wav | Bin 0 -> 176444 bytes samples/PhysicsDemo/assets/texture.png | Bin 0 -> 84 bytes samples/PhysicsDemo/project.json | 13 ++ samples/PhysicsDemo/scene.json | 42 +++++ scripts/run-physics-demo.sh | 21 +++ .../PhysicsDemoGame.Tests.csproj | 22 +++ .../PhysicsDemoGamePluginTests.cs | 176 ++++++++++++++++++ 15 files changed, 566 insertions(+), 6 deletions(-) create mode 100644 plugins/engine.render/Engine.Render.Contracts/CubeRenderer.cs create mode 100644 samples/PhysicsDemo/GamePlugins/physics-demo-game/PhysicsDemoGame.csproj create mode 100644 samples/PhysicsDemo/GamePlugins/physics-demo-game/PhysicsDemoGamePlugin.cs create mode 100644 samples/PhysicsDemo/GamePlugins/physics-demo-game/plugin.json create mode 100644 samples/PhysicsDemo/assets/bounce.wav create mode 100644 samples/PhysicsDemo/assets/music.wav create mode 100644 samples/PhysicsDemo/assets/texture.png create mode 100644 samples/PhysicsDemo/project.json create mode 100644 samples/PhysicsDemo/scene.json create mode 100755 scripts/run-physics-demo.sh create mode 100644 tests/PhysicsDemoGame.Tests/PhysicsDemoGame.Tests.csproj create mode 100644 tests/PhysicsDemoGame.Tests/PhysicsDemoGamePluginTests.cs diff --git a/.gitignore b/.gitignore index 394abaf..7699cab 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,10 @@ imgui.ini ## Engine.Physics/native/) is what the engine actually ships. native/*/build/ native/*/.fetchcontent-cache/ + +## scripts/run-physics-demo.sh copies the game-specific plugin's built +## output directly into its own folder (that's where its own pluginPaths +## entry in project.json points) — regenerated, not source. plugin.json, +## the .csproj, and the .cs files there stay tracked. +samples/*/GamePlugins/*/*.dll +samples/*/GamePlugins/*/*.pdb diff --git a/LinguaEngine.sln b/LinguaEngine.sln index 914442e..1250894 100644 --- a/LinguaEngine.sln +++ b/LinguaEngine.sln @@ -73,6 +73,18 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Engine.Audio", "plugins\eng EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Engine.Audio.Tests", "tests\Engine.Audio.Tests\Engine.Audio.Tests.csproj", "{E610BD6A-A732-4863-8D19-555B75134E13}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{5D20AA90-6969-D8BD-9DCD-8634F4692FDA}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PhysicsDemo", "PhysicsDemo", "{51874E45-60A1-E43B-395E-A3BE4050752F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GamePlugins", "GamePlugins", "{9760813E-A577-3C56-DE20-0218A108BABD}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "physics-demo-game", "physics-demo-game", "{83FF5113-4091-0AE3-A9AD-50B7BB917258}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PhysicsDemoGame", "samples\PhysicsDemo\GamePlugins\physics-demo-game\PhysicsDemoGame.csproj", "{1AFDA567-D86A-43C8-91B9-34CC13F48FEF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PhysicsDemoGame.Tests", "tests\PhysicsDemoGame.Tests\PhysicsDemoGame.Tests.csproj", "{0201686F-0E2A-400F-8166-CBD11B65D724}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -371,6 +383,30 @@ Global {E610BD6A-A732-4863-8D19-555B75134E13}.Release|x64.Build.0 = Release|Any CPU {E610BD6A-A732-4863-8D19-555B75134E13}.Release|x86.ActiveCfg = Release|Any CPU {E610BD6A-A732-4863-8D19-555B75134E13}.Release|x86.Build.0 = Release|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Debug|x64.ActiveCfg = Debug|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Debug|x64.Build.0 = Debug|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Debug|x86.ActiveCfg = Debug|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Debug|x86.Build.0 = Debug|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Release|Any CPU.Build.0 = Release|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Release|x64.ActiveCfg = Release|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Release|x64.Build.0 = Release|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Release|x86.ActiveCfg = Release|Any CPU + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF}.Release|x86.Build.0 = Release|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Debug|x64.ActiveCfg = Debug|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Debug|x64.Build.0 = Debug|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Debug|x86.ActiveCfg = Debug|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Debug|x86.Build.0 = Debug|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Release|Any CPU.Build.0 = Release|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Release|x64.ActiveCfg = Release|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Release|x64.Build.0 = Release|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Release|x86.ActiveCfg = Release|Any CPU + {0201686F-0E2A-400F-8166-CBD11B65D724}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -408,5 +444,10 @@ Global {2C2E545D-6937-476D-AC62-F96CEA6403F9} = {2D4F0C3C-7532-0E50-D9FD-7209344A42BE} {C9AA2FF3-EB6C-4849-AD9F-9E99EFF30AEB} = {2D4F0C3C-7532-0E50-D9FD-7209344A42BE} {E610BD6A-A732-4863-8D19-555B75134E13} = {2D4F0C3C-7532-0E50-D9FD-7209344A42BE} + {51874E45-60A1-E43B-395E-A3BE4050752F} = {5D20AA90-6969-D8BD-9DCD-8634F4692FDA} + {9760813E-A577-3C56-DE20-0218A108BABD} = {51874E45-60A1-E43B-395E-A3BE4050752F} + {83FF5113-4091-0AE3-A9AD-50B7BB917258} = {9760813E-A577-3C56-DE20-0218A108BABD} + {1AFDA567-D86A-43C8-91B9-34CC13F48FEF} = {83FF5113-4091-0AE3-A9AD-50B7BB917258} + {0201686F-0E2A-400F-8166-CBD11B65D724} = {0AB3BF05-4346-4AA6-1389-037BE0695223} EndGlobalSection EndGlobal diff --git a/plugins/engine.render/Engine.Render.Contracts/CubeRenderer.cs b/plugins/engine.render/Engine.Render.Contracts/CubeRenderer.cs new file mode 100644 index 0000000..a5ad304 --- /dev/null +++ b/plugins/engine.render/Engine.Render.Contracts/CubeRenderer.cs @@ -0,0 +1,12 @@ +using Engine.Kernel.World; + +namespace Engine.Render.Contracts; + +/// +/// A unit cube (1x1x1 before Transform.LocalScale), same no-size-fields +/// reasoning as QuadRenderer — Transform.LocalScale already means "how +/// big." Added for M4's physics demo: a BoxCollider falling and settling +/// only reads as a real physics object on screen if it actually looks like +/// a box, not a flat card. +/// +public sealed class CubeRenderer : Component; diff --git a/plugins/engine.render/Engine.Render/RenderPlugin.cs b/plugins/engine.render/Engine.Render/RenderPlugin.cs index 4ae757f..769c58f 100644 --- a/plugins/engine.render/Engine.Render/RenderPlugin.cs +++ b/plugins/engine.render/Engine.Render/RenderPlugin.cs @@ -12,11 +12,14 @@ namespace Engine.Render; /// /// M3's render pipeline: a real perspective camera, drawing every -/// GameObject with a QuadRenderer at its own WorldMatrix — upgraded from -/// M2's single hardcoded NDC-space quad specifically because gizmos need -/// real 3D geometry and a real camera to mean anything (a handle dragged -/// in screen space has to map onto an actual 3D axis). See M3 in -/// docs/kernel-contract.md §8. +/// GameObject with a QuadRenderer or CubeRenderer at its own WorldMatrix — +/// upgraded from M2's single hardcoded NDC-space quad specifically because +/// gizmos need real 3D geometry and a real camera to mean anything (a +/// handle dragged in screen space has to map onto an actual 3D axis). See +/// M3 in docs/kernel-contract.md §8. CubeRenderer itself is M4's addition, +/// for the same reason M3's gizmo needed a real camera: a BoxCollider +/// falling and settling only reads as a physics object if it looks like +/// one, not a flat card. /// /// GameObject.WorldMatrix and this plugin's own matrices are both /// System.Numerics.Matrix4x4, which is row-vector (v' = v * M, and @@ -95,11 +98,64 @@ public sealed class RenderPlugin : IPlugin 0.5f, 0.5f, 0f, 1f, 1f, ]; + // Unit cube (1x1x1 before LocalScale), centered at its own origin — see + // CubeRenderer's own doc comment for why this exists (M4's physics + // demo needs falling BoxColliders to actually look like boxes). No + // face culling is enabled anywhere in this plugin, so winding order + // doesn't matter here the way it would with CullFace on. + private static readonly float[] CubeVertices = + [ + // position uv + -0.5f, -0.5f, 0.5f, 0f, 0f, // front (+Z) + 0.5f, -0.5f, 0.5f, 1f, 0f, + 0.5f, 0.5f, 0.5f, 1f, 1f, + 0.5f, 0.5f, 0.5f, 1f, 1f, + -0.5f, 0.5f, 0.5f, 0f, 1f, + -0.5f, -0.5f, 0.5f, 0f, 0f, + + 0.5f, -0.5f, -0.5f, 0f, 0f, // back (-Z) + -0.5f, -0.5f, -0.5f, 1f, 0f, + -0.5f, 0.5f, -0.5f, 1f, 1f, + -0.5f, 0.5f, -0.5f, 1f, 1f, + 0.5f, 0.5f, -0.5f, 0f, 1f, + 0.5f, -0.5f, -0.5f, 0f, 0f, + + -0.5f, -0.5f, -0.5f, 0f, 0f, // left (-X) + -0.5f, -0.5f, 0.5f, 1f, 0f, + -0.5f, 0.5f, 0.5f, 1f, 1f, + -0.5f, 0.5f, 0.5f, 1f, 1f, + -0.5f, 0.5f, -0.5f, 0f, 1f, + -0.5f, -0.5f, -0.5f, 0f, 0f, + + 0.5f, -0.5f, 0.5f, 0f, 0f, // right (+X) + 0.5f, -0.5f, -0.5f, 1f, 0f, + 0.5f, 0.5f, -0.5f, 1f, 1f, + 0.5f, 0.5f, -0.5f, 1f, 1f, + 0.5f, 0.5f, 0.5f, 0f, 1f, + 0.5f, -0.5f, 0.5f, 0f, 0f, + + -0.5f, 0.5f, 0.5f, 0f, 0f, // top (+Y) + 0.5f, 0.5f, 0.5f, 1f, 0f, + 0.5f, 0.5f, -0.5f, 1f, 1f, + 0.5f, 0.5f, -0.5f, 1f, 1f, + -0.5f, 0.5f, -0.5f, 0f, 1f, + -0.5f, 0.5f, 0.5f, 0f, 0f, + + -0.5f, -0.5f, -0.5f, 0f, 0f, // bottom (-Y) + 0.5f, -0.5f, -0.5f, 1f, 0f, + 0.5f, -0.5f, 0.5f, 1f, 1f, + 0.5f, -0.5f, 0.5f, 1f, 1f, + -0.5f, -0.5f, 0.5f, 0f, 1f, + -0.5f, -0.5f, -0.5f, 0f, 0f, + ]; + private GL? _gl; private IEngineWindow? _window; private CameraService? _camera; private uint _vao; private uint _vbo; + private uint _cubeVao; + private uint _cubeVbo; private uint _program; private uint _texture; private int _modelLocation; @@ -143,6 +199,20 @@ public sealed class RenderPlugin : IPlugin _gl.VertexAttribPointer(1, 2, VertexAttribPointerType.Float, false, stride, (void*)(3 * sizeof(float))); _gl.EnableVertexAttribArray(1); + _gl.BindVertexArray(0); + + _cubeVao = _gl.GenVertexArray(); + _gl.BindVertexArray(_cubeVao); + + _cubeVbo = _gl.GenBuffer(); + _gl.BindBuffer(BufferTargetARB.ArrayBuffer, _cubeVbo); + _gl.BufferData(BufferTargetARB.ArrayBuffer, CubeVertices, BufferUsageARB.StaticDraw); + + _gl.VertexAttribPointer(0, 3, VertexAttribPointerType.Float, false, stride, (void*)0); + _gl.EnableVertexAttribArray(0); + _gl.VertexAttribPointer(1, 2, VertexAttribPointerType.Float, false, stride, (void*)(3 * sizeof(float))); + _gl.EnableVertexAttribArray(1); + _gl.BindVertexArray(0); _gl.Enable(EnableCap.DepthTest); @@ -159,7 +229,7 @@ public sealed class RenderPlugin : IPlugin ctx.Events.Subscribe(_onTextureReloaded); ctx.Services.Provide(new GlScreenCapture(_gl, _window)); - ctx.Schedule.Add(Stage.Render, Draw).Reads(); + ctx.Schedule.Add(Stage.Render, Draw).Reads().Reads(); ctx.Schedule.Add(Stage.Present, Present); ctx.Log.Info("GL context created, 3D quad pipeline ready"); } @@ -176,6 +246,8 @@ public sealed class RenderPlugin : IPlugin _gl.DeleteTexture(_texture); _gl.DeleteVertexArray(_vao); _gl.DeleteBuffer(_vbo); + _gl.DeleteVertexArray(_cubeVao); + _gl.DeleteBuffer(_cubeVbo); _gl.DeleteProgram(_program); _gl.Dispose(); } @@ -237,6 +309,13 @@ public sealed class RenderPlugin : IPlugin SetMatrix(_modelLocation, go.WorldMatrix); _gl.DrawArrays(PrimitiveType.Triangles, 0, 6); } + + _gl.BindVertexArray(_cubeVao); + foreach (var go in world.Query()) + { + SetMatrix(_modelLocation, go.WorldMatrix); + _gl.DrawArrays(PrimitiveType.Triangles, 0, 36); + } } // Split from Draw() into its own Stage.Present system so engine.editor diff --git a/samples/PhysicsDemo/GamePlugins/physics-demo-game/PhysicsDemoGame.csproj b/samples/PhysicsDemo/GamePlugins/physics-demo-game/PhysicsDemoGame.csproj new file mode 100644 index 0000000..fef7ffc --- /dev/null +++ b/samples/PhysicsDemo/GamePlugins/physics-demo-game/PhysicsDemoGame.csproj @@ -0,0 +1,16 @@ + + + + PhysicsDemoGame + PhysicsDemoGame + + + + + + + + + + + diff --git a/samples/PhysicsDemo/GamePlugins/physics-demo-game/PhysicsDemoGamePlugin.cs b/samples/PhysicsDemo/GamePlugins/physics-demo-game/PhysicsDemoGamePlugin.cs new file mode 100644 index 0000000..a8a139c --- /dev/null +++ b/samples/PhysicsDemo/GamePlugins/physics-demo-game/PhysicsDemoGamePlugin.cs @@ -0,0 +1,119 @@ +using System.Numerics; +using Engine.Audio.Contracts; +using Engine.Input.Contracts; +using Engine.Kernel.Plugins; +using Engine.Kernel.Scheduling; +using Engine.Kernel.World; +using Engine.Physics.Contracts; +using Engine.Render.Contracts; +using Silk.NET.Input; + +namespace PhysicsDemoGame; + +/// +/// M4's "one small game, end to end": pressing Space drops a new box from +/// above the ground; engine.physics simulates it falling and settling; +/// engine.render draws it as a real cube (CubeRenderer, added specifically +/// for this); this plugin plays a bounce sound (engine.audio) the moment +/// each box's fall actually stops. Physics, audio, input, and rendering +/// all cooperate here through nothing but the kernel's own vocabulary — +/// this plugin never references engine.physics/audio/render's +/// implementation assemblies, only their Contracts. +/// +/// "Landed" isn't a Box3D contact event — the native shim doesn't expose +/// one (see native/physics-native/lingua_physics.c's own doc comment on +/// why nothing but scalars crosses that boundary; a contact callback would +/// need to carry structured per-contact data across it, exactly what's +/// kept out). Honest scope for a demo this size: watch each spawned box's +/// own Y velocity via IPhysicsService every frame, and call it landed the +/// first time a real fall (velocity past FallingThreshold at some point) +/// settles back near zero. +/// +public sealed class PhysicsDemoGamePlugin : IPlugin +{ + private const float SpawnHeight = 6f; + private const float FallingThreshold = -1f; + private const float RestThreshold = 0.3f; + + private readonly Random _random = new(); + private readonly List _spawned = []; + private readonly HashSet _hasFallen = []; + private readonly HashSet _landed = []; + + private IEngineInput? _input; + private IPhysicsService? _physics; + private IAudioService? _audio; + private GameObject? _bounceSound; + private bool _spacePressedLastFrame; + + public void Configure(IPluginContext ctx) + { + _input = ctx.Services.Require(); + _physics = ctx.Services.Require(); + _audio = ctx.Services.Require(); + + ctx.Schedule.Add(Stage.Update, Tick) + .Writes() + .Writes() + .Writes(); + + ctx.Log.Info("physics demo ready — press Space to drop a box"); + } + + public void Shutdown(IPluginContext ctx) + { + ctx.Schedule.RemoveAllFrom("physics-demo-game"); + _spawned.Clear(); + _hasFallen.Clear(); + _landed.Clear(); + _bounceSound = null; + _input = null; + _physics = null; + _audio = null; + } + + private void Tick(IWorld world) + { + _bounceSound ??= world.Roots.FirstOrDefault(go => go.Name == "Bounce"); + + var spacePressed = _input!.IsKeyDown(Key.Space); + if (spacePressed && !_spacePressedLastFrame) + Spawn(world); + _spacePressedLastFrame = spacePressed; + + foreach (var box in _spawned) + { + if (_landed.Contains(box)) + continue; + + var velocityY = _physics!.GetLinearVelocity(box).Y; + + if (velocityY < FallingThreshold) + { + _hasFallen.Add(box); + continue; + } + + if (_hasFallen.Contains(box) && MathF.Abs(velocityY) < RestThreshold) + { + _landed.Add(box); + if (_bounceSound is not null) + _audio!.Play(_bounceSound); + } + } + } + + private void Spawn(IWorld world) + { + var go = world.CreateGameObject($"Box{_spawned.Count}"); + go.Transform = Transform.Identity; + go.Transform.LocalPosition = new Vector3( + (float)(_random.NextDouble() * 4 - 2), SpawnHeight, (float)(_random.NextDouble() * 4 - 2)); + + go.AddComponent().Type = BodyType.Dynamic; + go.AddComponent(); + go.AddComponent(); + + _spawned.Add(go); + } +} diff --git a/samples/PhysicsDemo/GamePlugins/physics-demo-game/plugin.json b/samples/PhysicsDemo/GamePlugins/physics-demo-game/plugin.json new file mode 100644 index 0000000..04cae77 --- /dev/null +++ b/samples/PhysicsDemo/GamePlugins/physics-demo-game/plugin.json @@ -0,0 +1,12 @@ +{ + "id": "physics-demo-game", + "version": "0.1.0", + "assembly": "PhysicsDemoGame.dll", + "dependsOn": { + "engine.input": "^0.1", + "engine.physics": "^0.1", + "engine.audio": "^0.1", + "engine.render": "^0.1" + }, + "reloadable": true +} diff --git a/samples/PhysicsDemo/assets/bounce.wav b/samples/PhysicsDemo/assets/bounce.wav new file mode 100644 index 0000000000000000000000000000000000000000..3df2120ce7f216dc60c9cb67dd8c1495d46a1fae GIT binary patch literal 15920 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%0A5(#PoQ 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

8m}8kNo8TK{Q(-}#~YQ}5S) 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

HzE(6r{T}#%Xv^9AD{)9Q_s4}L^F=k^i==s z#H_fC*0jH=n^WTOcd;Bg0i_t$Jmawkin7|Z2ZvVKRMV))vZZ``W8f()4 z&-&|1c3iYVEicQb8xu4Y$=}Zt=DN5pj);APmBM@q`m)Jjrgb*+ zNcy5Qa%wqYJCH`-hBhPUiF=?wVr#)CX`Ha>!D|B!``+q%-!1EKw}v$5G%T)t=&i0C z?0RO$Sf84QfN9o`;u}Th3-4={>NwRlMThLVbOzvAEYVEiEs!I}1XRGX>hgUBEWvp} z1n5*(3dew1&IZY6DNKG{!BRD;W!mqBq9RW*-ngmUXr5#(w{LYNd5XO^YL_e} z9H0e{P@Fs`sSw3NoPia`$HfkhS|4#a^h1!+-|5rao6t?|nB2O(=}Eo0Cds?DQto8h zKU54dJIijBt|%T~G`4WD_L|zQoTMm|9h8oiPyy#$D0~gD^SR((0Y#817%bQ)s1PhH z2okDPkxzL*2pdfcd#v#CGR^y!6}Unu*inY3T@Z02Fs zH@1qC&%K;Gj90`P#6QLV$p6Z}!Jo-*<*nn1b9=cl+#rsTb(V=|+@iICeZY*Y`56<* zB$7AfDn2XuBPJDf8g5TWk6#{hJ5m~68v+R;`ws(~fIVGz+Vfj#8k6e(t$A40=Kja2 zu#K;9n9h`qElnuKufg>DpGbU+Gwx=>5V#q+9Am?d#NSFWruvYhGJ>+~ltM(PmSxQNCpUOn;HK zFLgjl6>dM+i|jy}6KM&1;(kUqLXyIVhpY%Z4tA*Gp32Vfc6!U=#@lt4>Wr$R?s~^^ zTa)FiX+T+EsohYbcj_Xv6Vz{%WJQ5&w{(hRjChggj?fR)+_AZ}xvP0HUH~7(kL9~~S9t{91yD_cxKW%ARz7nzVBgDfzGXLNK{8{~dq^74 zm9cQDq)BKIf}D5&s*Ht14~1+FyB919@c2gbQ+lQXPDxiuR*6rG)IzH8OTnB1VnJ*HwqPQNM56GGaH(hj zU=~xPr)5t0Kgt@_EzMHhX#GgT+>%p9RXM?O)*9xx>Y{p#-ZQmh8e*Gmt)Dy2fDU!A zFDjrlNEUi6VqO#`wlIDdECKNlm6UWM*@h<&CzDo?muHO6f@jOAb7=;87MNTdVejYs z%Z28?$xY$yk-NKIM*3{-j4Nq&^ypufN!DZGr>tsuR z`5)uel0$|Q`lmXphOYikNmZC+Po(F-4j^9?F4`sx028gl1=|WvgX};HuL~KXW>KM7 z2WESj@)HVw)eZF+ExZue9~)q$!^)1EDlDUHLdOKR$8)xNU|mnc-{w<*XHh_hTJHM} zAm^koa3d6TF?Jx-2HS$@Laj~GCSwWz68D42#o>$vS%ho_bp}mDPhgH@&0>!OvkM(} zVXiJ0!yCn$%;WI-av$X4a}RL^92>iW^_#hufu%prfl&XUoXUIzW;iEPXQ#mN0_;qT z1vwS|BOxJvNzBX0s&H)RfjuYAgSgS%NBt6QHodFvUqr@eKRb6pnuT5FU=Sbo;H zreu*}qyC1jT*FqsSB_A0%hb|85}nvzJWV7M&J{w1bp@V+Krr)tBuo)WMW@8;B%7qy zWJWm$?1(040>B>iXVLHC;?ltKk>-0~b9m4hUiq+Ucui~Fo5r;*jCS8HZO?=L4Ss_H zAt8paYmiCNzHv{XgA$d9QRvS}QMhS@W5oYR&&gLaR%YR|1=OLm=k!Jff<<6Qa!NS| zxS_f0!R*_ZTbBDhcL(6z7r50N0w<5nV#PAm^wqRF>Xhs|S;`Ct*+!BQZxE(~dU_3w zL0(PtNthG&F1izv8@@H)h!uKTkGXDB=5z_aMvY!y47I5RKC5rm5r32 zRWvF$sw1@`-Bta5!@-hUMtM2JvdF5i4{^yW=XrfHLR|j4W znHC-unIF9}E+pYbA_{pP-JCQOcaZRs_>1(7d?#ahR$}&RDv@@O{+D58+E@biAr682 zAJ;#3VD9YP8DK9`$=$%$?Z!&Jc`frI>Z_J8cD?M!c9+w#B0(E7zS@~XVbKh6pE#)`-0)#W3N zoRYzYMf$s7E3!~sr@W?^BOeT=zAGfJ#8Ki)A`URBsT4K{5u&9cy=cBTQeu|KrKK`| z#W>|h6;o5BJySTpXiV|=(q&~=OeL0d+XY9k`?LpB{iAkKLtL}G^?1jqZb+Zb=ZgP~ zpagK&dN490Mj5v-!JD`ksX?b<*W>;p2#G4vA28jUmF1g#n%bQ+o_>gNlX-!)l8xj1 z;N);maQ|@iTnYCEcQm(*Gn#XQEoGH5WsKYONwg~Jl59~{L?%0ZT-xZ=oRk230d^fG z40Qz_3p*HJ88bNQazsTaA$V!PV_#Pvp=W95%eJ=W5seS(0&6x`HMn;DQSjk>-xcIB+sAvn=nf*@`D&8fIk_aSMq{n18 z@VzL zoX?y9ZVq<p~NLz_>2|2hXaK|_R zsY)E5Ac#u`GaOrZPUzksv44c`6o8!ej_kHW&E|%Ib+4;as$RMWI32cY74yuT@-z^O zv4#VBjgAF2>$6k|%6hq5)+41#k4U=2XT?LraB;LaRXkVxKad?#$$sff*?9RP#TBJX zHBnQd-BCy{3Mp_ZUCKhUhA_u4=yYG&JL-_^pIPwCx#=gDrIF>H1iMt5{pAE2}icRE)FTbhNt`c}(5~wT<;Bn$lX;?K`@Ny@vjSew4tn;C*39 zkpD#ukCn#{fxU%Cpk`t&V}IfFgd%W2qkr9DVi@iYb$mv4{ME^oRI|@B()bI|9> z{>JlT-$$V!`@+n@%)m2#j($$>`7Uq!sMa@4$c78GG1YfHY`4{M-L|kI&zuEvWL(KU zgG`@M_*^?s)1oR+zEgac+hu98bJBR}H_0B!LdjCeNr^^6lYWu@BSXl$$RM zLy(y0tFbZAeK0GWhT4L8f)(O41QGEuX$={Z@gxY8f`chAr`uVOjf6>l9dd_GWi!-itK}Qo-|#WAjL_?O0P+MWXEOM@>aP~VN|xOsG6f- zm%Lw(H&}|_m)Lxs@BxF>sB_lHXm!lbbjle-q-AN-akF408|kh zWC`fYfU*fJ3^56H9PY#<219IIhwVT zb&9ozHG$;^`txw+0>(}HXWGY{%hZ3s<=!Q*Gh9l3Niq_f2yHkwR){%|8i(kD-GWl$ zzD9E*--qKv&j)q-&-az~QF?B42DR^KX=>aAt~oDx86KDG5x9Y$R58>%x_q(mN{QLP zEBahGLf5SMp}woStNf{GlTVO~W&g^eWe#aExUzuDR>(?Zi@`;bQSnzu&`Zb&r z`7s(7cMNKUr6ZQ1E@56{KjWSgP5|B+NWPzr%RH53q(o2&IZ3o$+Hd*-hMO^#d71f> zDQ3QB?qQ}gzca{;J@gMWS&oSMU-oiJOxFF3g!Ij6-&4IQfrJQLf07OT9=Qolgel{f z#!M?oZAQg3^V0IufP`X}E{PHwfoReCEJY^@4foo>~yRYvkR$$MHpOUlBo_-hIC z;yvRo#P~(8j(izz4s{Lj4{{H%`=)vy@%+}Ebvf?TTKP&oP?jPdD11wGBObGD?e{Eg zO;7cMwN*{q8j|Z8t8Z6sFQ11!jPnYAh7B&tnVOZC@ngCwE$z$ol=Gh-e5(7{`s1k& zksm(4-~WCw#{Tyy@1s7P`q1WM-Ny%?&VRn1lJ-TJHX}VJV^S8Gb01VOt#C~7#M0&E zCo8k6z3XN+yl#rt9@aaUHd!e9MwTLeqG;iIu|+ylp5@rqX`f56TcGD~@8!O`{PzT| z5B@$hEId16QIsWmYV4nJns~<+PKnmUmr09S3X+#6rzDG81-A-l#U_JJlB-(|Zuwi% zyTtq!X$d#t7sPqRUWyKk+7R&p&FzAM;{&7p-F!7(k33en#k*vymO3ir$E8u?n}Sx< z1HLo+(l)@7XPl##Xs1CAO8H{@$ultxK9pV3Uzf1F#mGcY?EUWD@>WYSIVrhUa;Ids z>{z#$b5Z`08^S+@ibA4;kS6ep^-*}0;Azx}&Q7ZP ziqQ^Q$rh1^;5^xif60un)tWaNgY<7SOR?kGQ2VO-EO=yZ>51ZJh35ROc_(w+vQKCB z&Jd*Mr+)mBlfr-Q2HooW>CVR=KX&{W^Rey6$saF$RD9a~DduzK=Lad5zuZmDOY_W_ z2dOzVhs?X3zoKwxap%$w<$WrrR`0HTSubiDsyVNtj8o0;t;x(u&VgJ;mk4`HF3M=d zNaZP~G8Yf`uE51~JQFY=Ff_O}3JavJ4 zs>?yA0ZK-GPS!_KE!;@^kaxMkOoMf&xrH%bw_DSg$ z&9mpM&UVXsmGLunJrged=R!Lp(OB`wRME0U^u*UYT@wIQv^T{{W8IUOuN*xq25?{>15 z?kzecG0A!=b}8RG@h%bW-SLFo5Z^BTet|VXr$Ty$rH2oQydGu6POa{7-Qyz@bP1$vHfyrE(r{GwohG!&RG$G{{8{;T zc~&V`+^%SAL2cedJS(yE zOX>8*{v{*zOTsR&JODp50wp0F0KjgojtpFC;GbhR|K318XQs``eS$&o*MMUDn#MOyw5+^4{CuX1o{m`)-8HHqVq-WN zHap~HkR-6Z|98G~yytsPb06dyAjt%vQUY&5Z$dL*F4-KFas?kdWZV&@>>BGEIuOv1%EA z6&0BsJ`c}dPQtUO!hlYG(|p!=ZS~mXw!~$eQyZm&B1d*yGD#F5C?JpUBVd20TaK8f z7?QDzQQcSoy2!0=s8m#RDcewzRn)2Qetz$~hMWu8E3&3!PRm%Aemjjwn}H{ZHh<~( z#qo-? z=vjDr$T8yYurZ+}!NY=X2T=Z9eNipL^SJvN*JIARR0|!4$RlJ{@oV8;dNdit*D-fc z%V4-E#vs#a)g_Jj^(D3XYL}{R73<5slqAAyk1KeWw<5P|j(@gumVajVjP>c+X}!}@ zQyhPk%4eLP zFyL5VNbsQ$eQ2lf`4K-y9*Ei)Jvzoc_F-(VxchNV@q^JfO!pY!eJv&`$b$DeMmT;4c6Ro+w_aabuGC2k=U z(RsuTZZq?pt&PRqWY<@tszYvLX}zJ=t)^Smx{42Fk)^*Bd*JD^Vfm`OvYZdu@3TrX zm6;zB4KO`A3=olC!*F*mbcR%c-1$J~>7_4)k^|1Ro* z`VO1QJ5>r$>Ecn{<%Tm&=QKBUFAVu6D?E|T>=b@0c@RGMmm^Y)sRC)P4po)b&nvU20ZVy{zyr-&RVO>@7+xtjxcjw<~vj z&W`LWSrwVdna48xGw!F)N^g_ym+qUMoIWl6X1Ytp-i)x!w9H@d9RIYOxw${*J5I7xe1S9ur5 z)}RZqYmwV!j~QO>KKFck`o9QB2-+U}IfM`O4G)fRiEN0x5j8ftF?vSK`xuwl?y=)y z$HaDtb%=cuGd89mx>xkCQ5lhz2vGzVRuXzWWJa(e=u|+6{~=$KcOS1^9xvRQToleB zsuqr|x=73rj=>ScU88oZmPLm_fx}!rXHFkU8Dh`&=O-yX1Z{FiQ&|E!8Fki zlIgMu@*$3GRi4g`F8ACPdxUts@*d@zizhHI1)A_&)$q`1VUxmpMYu<%M9z=0N6m?T z8!d}Tj_DcGB_<%ICi+Npi|9Y1yrX7Co{#tto)?x8`d7$~;NC&HfSvv>emi{hs0H(@ zdycCdPaBR<&QYv!*dpC2-YMKpZzebJtJxLy71lN8EyhFoE82HzZDR=hk;^qy^^D4b z@`+`pl4HfAib4wo1=c(|FC=$#&e?2n_J%B%tVfw^GDl|i&ipoWVdm9LHgkGbb=KPK zxEyWH$K1zx&-3#Oq(yy;kCqT+OUi8(yQ>mwO5lY|ZEU4hY4y4y!)Mb=%VXPLcqZTu zaf`YRje1nFOSV)##<8VJ===e`S!<6R&sp9YpQ)&Y;}bY8Xj|~sb>}u%6kiEgvf+7O5{FnIAz8k!? zo>c z)h{c1SLBwhDorRc7JV*!Snx3aOP(#aUGAP7JF0tlWWUMUlQlPMTGpbhU$e5HHGawV z%(N%E`&Tki9E=TlVkSFS7-x zhw?6GKyGF3fxJ=q2?aidKETBAlAWmb5mRxXQdYgECaCU7{SS>k>Kx5+-AqF#le>FBC@i|5On+|Ig3d7koe@R{a&-LKkT85kNAj!IFQ zkb9v&gbBlUg|p$KBaTIUjHrmHjQA39E@DcAL&ULgukiI@X`#x{HX#Fo2L*Ks^bV-> zJL%isr^;)Qr_Ozv+Xt5j=M}1FjwG@GbEQX7Xqz#XGYR+L^TYb@_ld9q4bv#Zvv{&GX#CY}1McDz2o zSY^6p*=QTiL~$ISMxLja3ww!G(oER_c|S+1@`O`+mk+Lk-QRd5di@L=!^5w;|M-9z zf#ZX^1v`hNge(h{p(>IttXKG^@N3~u!XJg7311wZ5S|$}J*+gePv~zUxxsX>Pf%c> zOMubumG2gxHr{!j^E^y$3th{c`#7CdnibvU+hlJfl(?;MHhqFj z&ei{|_0TMDs%RKjUsyY*Mp}IbwdLBDJD0H~wqj{9gw6=Iz$;Q&-W$(*Hs5Ez_+PQX1ov2}7V}$yZ zX1319@Wr^p+}A3%r!q&l2}C$mPhS_#6-P@;WP9Xo9dnfPoEYb|t_HX99uGXF-hF(Q z`yTN-?|(L6Pv8$h@xi6R>q8tuH-wglCWOrh+Yxp+Y){z2u&!a&&|{%-kP*s|$-$?C zQUYrObpCaIUwkk4%=He(6WVj!S=Ws&jMHpYx?`eZyF;EdTrx-Whd@Uqk&F1-tkK@i zw%+p5F1Kb=bw|_^%PW6ccE9v#NnWwIxL47ULatz0fw160 z{`mZ;d}%(HC&`b3Q4;QI~3W9J`~?5ISZP2US3n-Up2Y{s4vgBL$+54~*|A1ITMGK0Ad&M24<+4q3f5#iBJ9y7I+I7EMlY1x6 zHC{Kp(|xLZYyI+3O>BE$&!DEDO~Im&#UYP6?eIIw7=6s4VnZ$dnLW@SNa` zps1i(fxiXZ_kZR0%=enl4)0N39-i;q=emhqe{uG9I;a#m&X=dl5~bV4MZyHZTIwU= z!~e+sWtZC~TOOPIjGOd2?F>y-)4WEy;dI@=T4BwHsuPtPE0&ZmFWXi6M@bDTtNmQW zpqiX(;p2i;1p^9_3StV{6?|8)zo4L?ec{!@#G-dai;ELWh|-eM)UveliV8th%WCN7 zT2=kRhT_JN>MYF!om#)y7;Jt4|5U|1V5jj))NGwBkccje`$$V=i{z|gz0#(d>73#c z<+jZIzDI+nlXs*~f^V3g+`rWST)?P6Q{YcQY|xb8d%>pQppbSUokHS5q#Jg-`{+8dC&9e?kV$l3I1?%x#rXXvZAx%4r-PDEYXRE3vbgZ zYBuqX3u8CgE3N%3cT6G1U-fRf-!u{GCyf&u6sWhit7bxV*Qyqk2^F2o$CvFcO(_X3 z*@gz&JBlKTvI~DNTv+&h;kd#%h5HLX6nYdbEvhM+gIbK&N@kR{EK`;<N_&--9xOY(a`(Icg531sw_M zk6LOgQB7?^z@Ml}nd~>lcb?A@?>VSRndCvbzi?gY5)LnYl2WHwDQ9HMrA^{VqA!Au z^aaw1Sk2WiBkZrN?JT!UEsS^cU3BT1d1|+&R}Jgyd)0Z@+Nx`+Dk{|#vWn#Ld1Vhv zJxjNgh)RwWcPcg%{ay4su<~=!>7w^V!s21Yw~NC{E|qjHtt>rOHm$sKMHs4;23NPL z8Cm;N-J^P?)lW~hW8$y3BLY*pZ#Y0Tm6>=6bG~kTpf5L@JnD(U|!&h zz+VHu4^#%;2z(34?o!>iO$~V@hxA!owA)eoOgu2^ZU%PB^?&wsb+~pXdc;wJe zmL?e?&J=zt_(=66|K{6pe=u?OtJZkSJyUnoVVtjX);?A*Xi8|b)PJnIR{LAcq3UB* zcPjHLR23u2uar5JZ7X#uy;3r=#I>ZN_;vAv;-|&ApoOj_drH(LlS(T}mzVjLr473w#&&nf!kA|KRT%FfL$w zz}bN70p|mD1xySG4oLT3Ib6bzN$E z)r_lNTXh4p(WT;exuX2%GXJtCr3*`2mpYW{O6p6DB`Q>LT~+#_G^XrmnSc4s@}U)U z<;%(gRST-Ws~KK9rfydK)`lC6B~3n>3EC?Tqe2BahvTv!K0_AuUDnlN$>tX)jo@S)xKl>?)ve5 zZT%wia~>8ai&6yBX@=ZS;OTjG1k+^OX^pXbF|9Jj8p?I2wKFyC)visJhMM}a zy4qT{#;>M-_13Di%Gk<76^e>O7Ck!YLtuhj|@`N_vSkmm2DpMX)<@1w-Mh{ zf75=#6{0k8m~@fsp#v*#?f8Rouj+==OUTbpu20=AxUcsZh)UNFy}t8Sqq1?8Pe0#d zzNNmdfW5C@f4`1?etwO<*L=VCWl;g!(Py1^nOAGC)t+}eirrZ^B`Q&>TuA3?)l22C zj?)y;@*3Gm=`dIp*M!3bHtIO}4N=AIU|XOj_Swc=!jvhwFjpQ?LR z6RSOI3TtlE?yg&2Keu6CT8;GEv0W`ScLlcc5^T5AzPKbJ-dgi;MwV2 zU*$hKw3JySe~K50VuU61L8=#N;V*OFvrf!g+eT|w3vK>jJYtxG%J{KbPmQBm(d6D3 z-O#Uo38aR$rhColYGw6~DwnFOmBT8fl_?cxE4Edvu2@&Gzv3=vA+mCLWp-uHs%KRL zsw=8@)O4z4Yv0wKs^8SGuyJP7Z1r+RlQ61maKAJhkR&X)ILh?Sv z(4B>=MSr5QvA?V@syy#hoOHaV{6lrc>8SGtm+xGo-5TA_xDWKG^;qU<@to=P*(=0* zruQlD_ul2+jovk=iT;Q8TJKKYjb6LGg1pXq`gv~gD0feCU*dMvHOIx`>V!803+a}Wp18v==328>``@;$)?t=Vv)!0&c%VO{JEYyC*{43% zbf+<+foN!hTF>ul!)kx7p=-8Qdx1V?RE1QjE8kV#s=QQrv+`ACU8P^u_^Rtw^6KT) zy6TlRjGI%CVI)M&;$iIAuAXMZbgqw-0VJ-5K|d9yX7uo=-iM zsB^x->zvmEucu!3y-s_r@#^a(@w$&r0cwwB9$NSD?oZrY+`e|m1?pugRI(F|dGfsD>2FAz)lo}4RNWq)AXXPs>sU~XaZHaZy4XhSE}dTEl> zBbqie{?%Zw?^}PSPExn3)`qSK0X46yS5vGMi@b||-ozd)qI zx(F8Z68<3CB0eFxEqyL~@93wIiGeJ?5c6y?B?jc)7|F&y~k}2 zyGJX}$)4*y_j?}l+~K*vv%jZ@XQsy%k7$o)?)}~0xwUsY;c9j1OUGD8*iI#m~U8aTOZh7LWdNyjU3B6 zpkH!0ohWE0?2P_(og}TKkuo<2#-Tud2by&N`f)u|&2>^aUvzHma^Ize>+i01bXhs# zmhMKohr4%l@8#aZJ=xvMUE}u14cSq*OxFdFm0Mg0mwC<^P68J5 zx~y7imXH#$SSpeT1p=NjlWL-dFX3|7bSB0A$(CZxv=pJMBMB~PZ;Nb=|$X?R7uY4Xf*4H@I#>-Riotb-8t3_0!O4Ca__5 zgQRh1qgT_dreSJMeG66K(R)CbuD@pZ*|^9w-aN?C&DzeEY)@obu!&p}-;zisTT#it zMT{_5$jdD(P?&@;Zg>mVJ?mN$28(baS z{6PZ&ZjNqR*SD?*U5C3$TyMDyaVdA6?Oc!EUGG(~s!hraM_+KqLHR2O4LX;#k`9(k zLwBkz!hM3@>C@Cj@){)PU))pnEt6(1vNc&rtEVN|Ji@fvc*#(x_t1~gozWUKLo~P5 zf$GCeo=s;O+cxGj{M68{!G=Ce$LlxNFQ}hYzYy3th0aV|edmVl4Mh!I8ZR~aHyv*Z zSO29RuCZv&YDeo__1XGUh6TpnreHILuArZ-f7veBk1#vfHQWMzDlwYuPj#eY(B+X7 zRg2z<&r8-xzeV4+3Wu}u?-X*!yN)B24a$`&PPM|R&gom{YtFoLPnQiYw_I{u^e&XE z$dz+xaQWb|pK1a2oAYpcq4o6RAH}s||WM6WZ`Mtzaavar#4iXT;0^wcJ zcJUZVn6zGcMK;aBQ~pXmQz3Rd>KLWGu8dOst`ay+cKXwaa_)|9W#^pVI2StCI@ddw zI)8G$;k?;-sIx1&4y|414~>wYchJgOqnq6gNrl)A{o7^> z4+#FG^C&y%Lv}z{zct)(_8C)UceJ;)O}8Ggd^XF>{Y-m}1%`OTHb{*jx~JN<=rhty zlcAocc2&PZ%EoX4zKFj^>>+1RooQ!5h2S=s%$&4O$L)Aa4)6{{QWtuEaXYCDbgzkbaUjIlx)X-?y zV{BupFdZ@vu!yX$tXpmU?aoXAbDmwub>SU|Y~l<#muf?E^b5geVGj{6x+nfY;wF78 zohV~u`yGPim*p{va|#c~^}t65gVd$>U4FjTB=FZOhzxiB2Bb*jW$Qy5qR*@AJDrPeltWG9~y_7^rm0Toh@~i z->idd0{dh83Z^w{VDE5?AvyKLEpk2;OIOn;1jB_Q(OvYt6iF_iBW%8Ow#*`1<6w7K zBrlf_P+SMMjBz~USmEfa9H3mR+^@W-ysP|6c?ancl?ekU!HOpz3eM~Od*I*Kj{ zUBDkDba(nJC7`B|&xk-`9bd$Cg6t&Nsmup^OZy3%qiq9vqAsv#%!|=Qdxy!-bPv>F zHJmeyG$;+9^#}En^sV*IdZVsbm#TZO`v4j!*V%NQ`p)PFdjef9eGF3!w+v$AWaA5C zlhynK{=h5VrWqWrG>f&4G|P5DXr zcKIxMFS)n8#^E};1xGp*pyPI;EFFEgMbcj-;gXx;Wbr*wOVKr9sPKqDCRj;VQ^Tnz zWE6P-ouq%@)49&vW!973#@Ot0?Ul9(wnFQ8Yq@2%#cJM#zUog*6Cp?M7-tv*jm3tu zhWUnW1|Nf6U#9<}f2n_>f3E+a&)4hpN<%XGChs-81s3`n4;d?s9ZbKNOs4P5ug%Gp z3l@LtuT~G+5u305j6Ih5lj*^xp{ur*+sHc+r-(%IDLIJBqo&b~^df;-uuNza&J|Sv z8!yFil6?}bq(6G8tEKH^YtT_!Cku5L?6BBjzr$sRhYqhC-T^z09IiSXa#-##+#wnk z#0zxZ?jd8OH$V>p>3K;HNs)MwSO7oF2faVTgy#jJf|Im2y`Pd%>%k$jAUQ{($6v;|*gSbmx52L-e7aWPWJ&Lf86o%OLAxYl7`8Fmc%K${b)^ z*k4#L?l>31U*uznKhP2N0ojpyOm(6k(5(g61);*j=sCYglrQRnj`Mc$P{~=~qaAvT z|0UH*Lu7+xOJ%>v{*b+rrOOIrMY3F3itGvKW|wTHteeagQu2cIM`^gUP_jqTNm3== zDUK1p6-^SEh1-Rm!gGQISQVYRaz%{R=`pjS#w7fcIH-O+2@Xv{MH4ZIvT{(|-Y&3M*$*Z9F$ZIqZ2 zOy8Myn_ihnb9eK0a|U``E<^w580!veBW$b3wrKmWb{Vq<9ddtUOWCnp1~-_0$9E?l zqr>=3GJ-lzxzL+w6Fp7v1%Am1SfCR{k3=rw>EgR$Lef*RMe;&oL)Y~&()H5Q(kId^ zX|+@@wMuQ^pgL)u^riHYbenXtv<-M7RdQG|O5!T{AYLbq7w3sKh{DhTb*hjP{33`I zJfXj(OQ^Z9v9^-V60lx@6xeK9X1+a_DNt%v=h-H}zt{-w7f!@4<*WD+#4C6sXV7_mHC06orti_-g4Ke2 zL0jQIVYRTmXuBvw^h&Otc)be6mQb{j9sKnbtttT-y_yi+!g3 zh25W7&Ezv3*%K_q&EP)5Cp*G({1oCH5l`+XP3UxZpYos=(UXfEYtq_``f_K8st%d2$cg39OL4 z#*Abr^hcd!ce8)6ZMJ=5BW^TaE_0UPjI4(P{=`-@wOJ;fGLrs%q8lW2q}1isfj;Ywi#p-pg4Fi#LJ$fJLz zJJXHSZ&WWzOa4ywARCE8L?@z(-@~`zOSv6fE3S;)!**uX%qd_)&b+d3uy?T&_LsJu zppRgi-ulLR!n(>j*4oJ$ir(9tMQf?HlvzqG6_$F7$s(|NSmUjItkbRAtk!{~ff_@d zqqJ0edISBMmJ0d_wh3OKp>C3Jn((0TsjyC{1ho$l%@S=C{USOqx+Qub`djn_GUcx5 zGH76jXt8Lls1qo`Dohhz02cZR-O(laf?$>)UeH8ep=Z!R@Wl236E^ZXIT5nrC9#AE zCvy1hdwmZPcRM1F}O<=3HW?5fa z?^-Wg&j33otf#G)taq%>t?AYpD{1qyb+nDQ{bajp%eD#at-%*3?KyTAW(c!~NnxDX zk?ik~nNi#V*cC#4F#juG!N(KJiRXj^Ih;I7mXVRvZ0ZK3p%Umh^hLT1orDJp)Ofh^yW|2ghO8n^f+tKVQ7;g`6O2%^UePz{LZ?PIMqw zL9d$0mXPij!71)^KYBHNmCmO{f);{Nka@=hj|I5`y+9`P7bXZh3HtyyBZQ-bBZWhS z{e|6xtzb7e3t2&>;Jx6gV3*)WK@Z4DJ^hCMmHv@#Lks8>NQsG51l361BA1fwNQU^E zSWk2#XyP@$jqlGp@~M#Ma4J(;*Od3N%E>B?( zvmaQJYs<~!E^?)uH$R-;4Sh-x9f_sHO`?_vCdZI_$=9TvOrR!F`>AJC6Xi|!pl8$j zp;>Zh3+)D+^bw2~EEN1C*ays<7hDtE6x_n=s^Fa9s9>*PqhNvHdqHnl53T|WolE~o zAEf8eedqwl%6HUJY7W(ja-ed_^Pq`Nq?k-4ekZ09@sOO)`CYKJ0{I3|#wKnku%Tt2 zvxnFpAvxUGCgvS;p4r4qWBM?0j4Q)J`eg$z55PSa?5FL=F;2jSyllS>`uS)tu&aRq zAK-5=Gn?7TTm@Gc7;m;4I}2Ls8LMXfxB=X1?iyFbsX&iQU}fd=3Ze_KkT^?Z5n{3} zIfML#d`W6ZU-0uh>KEz}RYK8pDBX>oK(C|^(3j~abQ(BELo=Wjg}_DNCU6JbDuGl$ z3QTk@;D1Zsp-<3T!DB<|Ri2_!DaW zDZh`O%qR0AJ{L3G2s<~x~XVwTE_?)@I{KEXiEMz7_vi4`XF&&sT zOe;X$8vlL6^ks%aGR|YxG5dhMM@$CO#7Nn2wg)?v-NIgCKe0O2lj{O4x|e&vRd7na zJwF}ye$3bMu0&U2HgOmdqk(WII|CcL$ve;}92rP;qb5@us1wu!DwArY1hf|&3mq_! z9tR1yfL>0or8h$3Y{KugcsHM(PLHJrz?zK3kpk$7OyKeqwTYTR^#NaqsB+l(zk@f1 zkkKSf<`cJxoy26K9pOaO0vAX4`FvkKn74CT+#lR7?nkaS7tRT}YW5v_4Z3eRJCW_j zwqk==6}&ecQwhwZF&~)Mzz<5mFfW)l%qJ$3DPn3F6C(sQMX>GJ!R$144QSye`;o0> z#kgWG;9(ngh5HQu!yTBIz;EI&Lx&i7FQPN3bQ^JvNF@w}2Y7faxsv>iyiaD4I#K}` zx>BP++Z(7u)OqS2^@>WR3Sp5o!H=_248`JQqfF2}wNxpUMZJe?yha_Pc2dhh2?MFt zlpp-iTJjV52YG;8LXIR`lkV_8GKgEmUTE_HL=+(=D)|@uDSjP4p6|r_L4p=>Pq@?E zX5eEGm(2Nc0<_S9*R#9X zW9)VI37gJVvkdFPMZ?$m4))7_?mG9LtA_3f;lJT0;;tw7zY*DEd0(OfF&1{;Vd5^4 zPG|@@8A*00zbBWGd&mo*=QOgKw2^W^6bBmb1Fv#C)_ESagjxxGu#Q@f*BWXCwHOk2 zI`us@jOq;=Di+7fp*3sB4Dtzi8CX~izUWUTk)9+=lo79qE5vT_<_J)QFF_C${2TrX zER03`Xka6Rm+~4en|sP#;tp_YfRT}aBZ&*`T_f<|2g`0SJmZc0@BCd*MJ*(!FVUJ9 zLi|WRR73k^;bo4IZU>0O@FR~>WKst~nq6Bu`9pV_Vm6%72CcXhxI1_eg z_D`_-PC%C|Ie{ET_Qu)qWFYB8Qlt)8P9vT{V;v`U5i5xwKoi|? zZ$Cl?EmFm&^UwGj{4stfzmoqE)X@j?jpluL10+|H7Z= z{{%(m@HM=Zmk?f9nRY~9VB<&F8C!vmv+&@bfI@PJ3gE;>2uKAu+@B05OZNLZ`r`i{_^cCXsU?ny0Q8=uk`#d(^h6C&2pqfyj<3P0IzVj3U1k#BL3?xo zCW2vQ2?;YOG>`uXuD!{h!3?+at070H0wV*V@7nV5d>HS`yYg~g2+UZ48#PxCj<4j( zU>%fv9i?13-q&yqoQ5-UHmtu0cyz^iVSF5{`>uRHegx#?EMQ>+|1+%2bNnsb@dKX? zs?_Ny061ZsK%P^-;kf48oI?nM&`2(Qe4g3n&gERRl;G2>B5J1xtFm=S*wgMNm0FL7L zSgdsne#hZm3w+uNxa)|cdO{}+h7C0q(s2eq7yPgW`eGM<5VUuWzYcnM3hOEjRz(Hh z#G847kU*b#6Cp$_(F*=iFJcfelK7sOhB+^SJYA1f+zDxai1-bZeHz%g1etdobp8jl z!0msHTX=s1Fkc3TokfJ~81XC4*o!ka;|eQ*-MPdJVj?JSDAAwj0o$$>@DL8G!kuu0 z4k5rJT2MwAXd@le@rr-K-^ZF=1qGjkWIM#~1q@sHpZN8lmlaso#gHoV0pA>c_J55z zct0PQTZHeI!_Qg=skjCB+|BQY2YeJ->O8La2XOEh7=H(8naLO6o;AE0+SJaIn27>Z z>O}+)VMGj(2szpT@~jupj~Gl0gKQf|OdzHZ(?Kt@0nvO&{>50`WuWurz}1Scf0yBt zCHQ z)F^`#%jGlpFTlxL{v~9{WBvi=e+N+904$ebAD+j$o&_(R27IT0t&?B>p2qvL_~ty0 zxQrvOgWqmLL)_;df)k$MT5rJ*DZq9Xa9)HvRq=J82pw<2{W;)5NJudwC&CqT^8rSJ zv0hP_ZvtkW3_5NH+;jpQ-vF8(kg>fGi|YgF(meWMH2>{`(Hr0N#4+7qxpl!A9dKqF zTpb# zv4R<(W;{T~e+D0Y#6ZtZ{{4R&&7Yus298L?OEjIj&p-3^d?A z8eqW)-mrouSa1l5RS{xFQe^KGgc3M$0ao0>#a`eXU#y-#<{wA|0gezN6eA2H{J)Ln zPw+T4z7N4sK{z@9XZhi5A6&x=*K#LN;saEm!W|Tl4>H_OOo)I7G>-s>KpbK=cC3yS zb2DLvhOcoMvuYB6g5HLCf4#=qY;e}~qu81*=#0p~TJtp?Ouz^%hI z4Y;-m_psnj*n)#KU~%u}A4~&tp)ezant&4#W{99BW-7&eWx$UEX5Ks$Uxy>O`~Non z`L-F#=Fxms^V!W1OK~;H*Q<(fbsoc|upS8N{tT)+AEzkmLH_y75~d2auEP?+`qef;lZ|K}(F^A7)ieE)B(|M$QD zS(X2{|Ni@V{~Lq<#`(Y3sF}|Gq3wU@yP5v}8O_xA|2+PERP$N?P-`>2{&$LPo=fw5 z|Do1@)2J0ZX2CFjH_nhc&BOJ-hTDJr=lb;BM~H zyJlFLWs?r_q**dG%cW+CR0BCw#aCifK-!i=<1~-be~o|MHGf`#BdTz0%~vVaET5WX zlMYujeU(VfGMR^d`rk6y?W;ug`6`c_rE#+?ZkEFl&@oZaG||xM{~68iqwq}xjtKiI zmC~NnkWTYDE+GrYSuu-z(XbAtp}vd`qv5wQ4$0Ab%6AA#%#O*Qy`#0;YwJo z&HA_XSN+==IOp|fTk~O(4nwG$HESs zgb2qB*if_J!Oew#IiFa7F&|?dKA8>wVg_v0NwDF^;*6oNv74={&VV%uwn{j#<^>GO z0U^3*gCgrdVFkeaXROXM*g|(CN%G?KUVLQM1tDU(PmgY)~6<^0n*psXI zwXn@M!47S<`O94ryb>eX9UnI%e_|t91=<9fjq;6LVe-PhcKA&nbx0jDdIbEk6h` z-oEh5dwm_f;Wzf<2f*7H2LJIpc+&rP53B#nd$@qLe*nuo1@vBtJK1?5;PVA7CBdre zgBg8~wOBx`g3Z61_yzMn50Bsuyuqi)2fl+h^#zfcOhhrWF|zPq8b0|*yd_>B@_Zlu z#AV_PAl?U@tcCsjBQP}#)?)`)oWbA$DJWC}>5vV2dJOybEbzYz>#-Dm-bBoKAm0NX zP%=ECaKvkUcn?GcRPYPsyu;UlmTcW^aHoF2Xv#bYK!2@{EQi%hv)M*=ABLy5S8%%j08hah#JcgQ*b6-;X%8T zZusj&I+8L{Nb>L&weTTJ0QX142=2m%I!f%p)fU1t7!Hb025-AUa~J?$I((B`psW3$ z!bR|mM`C5#!^;c8+#PrV5tJsx3yQg1`2Hz~fV}74ejV@ee+oX!#dp>4nk^g!*gg4B zJ`q{rfmqYopn{(P;|)-LI@Zt(KiCKIpey)h8fa@9Xz()D>phVRU*1H}@a%mM3upmv z{~N?f1|jA#3Ngm-5Lf%29ETXt2*gJFBO=fd(SRt#Q(O=Uu)-hCM@-=%u5|>oun@k_ z0Ptf7mp)6ClC$VM{YxGXdyYB z9F0gwJ46=U5b;qXHt-Uj@L{au58&*!kfI$q zI3S|f0lxhlNT5@=OEzqE1*A(4c-E`HaW}DY6`(~oGM4Oyxz0webw41wO+F)2$UL%= zY$T0{^zn%GHUAJ4gS@mFkqXVQXL*$epeJ0Weq1(mu( z#^eLHC$M@`Av>axCDMc9o^a=}F3Y(oi1~H^EZ&?0$03SegS=-ho57|c%J~I*XtEH~ zEJIemg*q~3^w4*`@rxy#%KL~WIP zOUSF$;PE%mhAz+z6Tl}|APtR#7kFtr*6k$X&4r|ubj8ej0;0KyQ13-<;|g^bS&HX~ z<-eg`QQ_?@V*yO<-Ulwin$u(;%;E}YuFj=aAc*D*f7=$`3o56}thhF!!0aOdg|VL~J12ksZsfLO$X-sM(2Y557DAUe<7d z(4jv;^H(DeGXNUvCSriDkcErM)8rSDA;YnsaVc_(PmrJEDPOuZGEq~IgWin1_sD^d#h>l97pGr~+iL4q-KWQ9hI!yt|*AL?$3V`xf!Z@zD2raNt(l z-IuS16kHFU^XHn7H8{l1#G3iC7A6}I{LXA(W+MOA16j9dCYbSMypeef!2Z$}Oeba# zGl^No>_rCh19tkU*w)C&Y-jHwaSy_-wNU)_M&^+g=;&f(9j^n{1@s^~ ziYDnStmP`IFXc{^Le?$;=8Wu^e(}7XjJ# z$RzqQBvXTZ7SHUrkZnC_{~hC){jB}E{ULI#C3Z7*Jhx!JWtK2Uk#*BCLD(U-g?+^8 z**NY8$kj5e;Y7sCO87uXm{X80LC6Fghop3;hEUt6zbPFRN)MygBd3~*9bF!RR)Qgd z8OXlx6dVzpLZ0~|UMB^I1=|HH1XHn#HBsO!&;Sdkfsa142VIVQ+7d_~4mev+c0rW< zA)=5N#M)DeS?uB ze!{KFG?s?B6>p{J$-Lal6p#LI4PrVJ^KGMMpQ%k=P?9(L>AMhUh z2~4-~;9Xn<3j)zSf%n4s05Ne2@dF`8P?0GBBe4Y_MD8QsB7Y!rk@)~i@(uY4c?WqM zphhNxm@!BZK)CJ!XaN$U7S!tmI0pU~oaAs=JM<)&{xWb12SQZfi}KKZo%a^#oOaMx z=6cAUBKKZ*hT9Ha|M$5@y67&6^NaJGbB%MHGv3K_;+!6b#bI=q98L$)$#h0IhdGx3 z?A1$WixcC@bZrK8t8vAFYW)pf!)JP)cpRQ_;H}5*odo(Q1oY5%0G+)U`USk~E{1&o zZ~l`(@92d`Al4#YAo>vg0QqqM`4U+V(5N(21Zn_k9BKx@Qq4h4LybXY0OTM6r9qY< zA0W3Phat(xMo_~uLA{oN*YG%a7wj~6@9hFFV3E)ouzj-uB7FhCr2o%52B2ZCdj@+n z?wjB(-|PAa>MqiycD{4&bdCf#b)BOOpn=Xib~;u8Ebc7FOvgNciQ4Ko0T4oY4yl6# zFhT2`|8sUb`L3m)UM;Sn?#phudm#8%O`b_$UXZ}eq^3U(yq1_CQ^B@E1HG>dWN#wKx@?}5<0VLFR)J@bER5ePB(xGf92g-`lphT!L)H~Eg)H>8K6cZ&z zK1Z$tcp(`;gG@wt!TFsEcYr$02B^55VCKIAU8WE0FueZH0MnuMoB^Gs+Pwwz$0Cr2 zU{@=s!HG_avl-x7TwFAWL9k>fV9bi=Y5fhO& zkv+&@)M5}>CCZHoMvp`u!7(`eH&bR||5^VOb`Ue063;JOHUi3psr43M{H zj(;4H4l{`As(k}M_N4-h9}8eZNp=R{q$JqK*jL%lf{2v>={L`D*U{^UbMALGI%8a? zU24~4Fk=D%g3jYv4_@V_f;o`^wqXI-AW+zM(b(Twe`x2htDu3o#pE zfFA|Z@hL1B_7}WG)`6W~4DPcA?+!1_dm3yhPuywl3Q%EQ=WXXer_6EDG1TF(f3$D2 zXWQ|BmG{+l!*;;-FF?I6vMsT#we7ZDw!ODC1O8YNz>hz-Ywc+O$=3m}j8~j?=R#MR zD-EFc_@JAT!Rspu%z6l955Q*Sfa&)yOb%NBuZIrXT$}lf6$1(FT5f}r&d9FhX0B39m!0r76s4X?XgyIob z;eLQg7Xo_>4S_xco9|sP18)G-=5-I(bJraV@T-{sues1^cU*C#IlAm;?1KRE{hMu{ zZLE!Nb6Pt9miLqOmG!0dgEiOMY&Bbb0E&4VKtJnjDfUD5CVQ;ojKkoV?JRbtfqoO_ ze&i1F{0|`VUVD?lRxuRZ+opouaUo0$TLzcF7b2Pw;>#Y>}%{>>`Cl;>==OFRb$>`Hi9VI(Z|qH=yKF@loO!08OU1* zf5crdF)jm?!2y69SOqqzyWAf zf3V%f0c^!MfD~8{GI$XZ4E+op0c(IQhO6M4z^vN_y2?s`HXRA7l7d-{`GX-~r+~Oh zuy!mTHxM@iw*t2ow+6QuVAqpzG@Km!3A+oMj@4oAVMb!)=tBUB`V=5EKZDuw4iS#H z1Gd#Y05vlW`U`wlJO}RUi@arE`aJ^puw$S)bDTENE8&385^Vns@Wn{m2kR<;(pOo& zT25P5TP9kvElJ>)1sG7vEypbHEE0=9;5EFkdaN^SpKX5jlXkCtJD4RqoKV*pm!JEs zd!(n!v%|{--wh@}RFLD)AaF034&vK`AR@0L`KbR;{-B3oFq<(gm=x@3z-tP^Ey3Nu zmEg2EJU##)g^$IDuKf$+w9RNd`+<(by1e?`IH^;r-rE<=3Ryu||^6bMw?&gEcowp`gdjQ6MvV~>o z1>A$1=7Z+V=Jn=H=6&X?=Feu4nPM4ZIb&(HL|KnpRUpO^+aSfKn9;eCIM8+ZP*}yaodmJA>Sj1qv}!f05*CaIB$aidL9R2`+#%dGVmMl zcky}nPP`Ux#hdYRd;|Uy{tSK|J`mr9y99D8#_qvVv3D?mnEya$Jq-}Fi;;z3yEy>x zvT=a(-2%S;?Cr1d277Y=OD)WO5TId)IbQ(e?{V;%dyfrjJ8k7#zggy5P?m4zZRSif z&MYw%n%Sy3y@1u9@Is&0P_qJiG7Uq!5zlQaDxD!qzy1Q zCjgGkO~QM^A3`4C2jJ|TC9EQ3fJe1o_>FiT{uiiT890?X%t~+?N1|VWsj&)~3($Z| z;co%1X(;q0q^_USzsUO(Ak+rB&$_yuDS+v3u+OmP+7fIptP$4tmcf=*^G=_a{}Fn@C~re500uGAJI{00T>#h(Y0e#v-*%jRF6b+C>rRWpyad$bdK29A0C40W z#y^IWhQ)@VhIm7SA>zRinN8M{ev$T)5=ouJ-9!rUCV@jZhj-x?;J#rA*qNByfagL- zjYMuk{0A?C>A{z}RLC5_AO6o%?AC$X&uHgv$49`{NU`m=)?1=2=K#NJgGp!1F%pa~ z3^NP_Llt0xZqv^PO!JBQx%w^o8~QRm#xTY3#DFnwF{+L0Ob*jIa|~br9kpiL+_pUX z8OH*^r6;4Y&$F9fx z59APn3PFxUEQ9ZZU5CB_i0cmUeS+W#bq{qdbDjk8No-u(4C^h6+?;K`Z9 z28!Vgh={Il0UYoXfEBzB{C7IsG&1_Mx}f}3ue2AWmo|11lwAvU9} z$bQeU*SW+s#+~E|^in|v^^h)T73@3wA>t%*4ai>rU}^op?!l$u75EF_%oPyFlgdb0 z$LMBsLyU2#+G7TXL(^ZnTDC}fz!6tV9@W- z6ZNlk^K@)om-dtPhV~TrT?dTkPAx+>TlYeT19{cyw-^w{`^FI_o9VrIn`MZV4I*r` z|8l%=-gaGdpYj~_9_-%>*#+GW+X!EYn1>t(&YwTVgK5G(!TpPmB}fSuhzX<;(iCzn zc?jhRrJpjIdIa#g8>lj%2GC6{rrxKnp$e(ZlpPczyNV-s6fcUY!FySTXvY=119DW<4uD{zg92T zZO|cgPqnkOY;CXR4^TGvPxDmsTO-ymwKKGjwQ${folLh@@73Qj3EFh>6SPv z!{)W=?R^f3Q{w7#YdtnE1l$GbFdjSr5d`!ee8J|@kC9=EaCh))2(d&3@dn6U19>5( zlQMz&j*6mSJ)nCD{SS?l4HIp>AH8#y6ZHsokPOm$s&or0}UyMgg^UVVR z@6Z?MoUk2!P9d0uV>}DJTl-Hz9sn(%3V0_%i8P^XXfsg2X~X@+-yv)urju->r{oC~ z8D%3?OI<+wO{37K(2vlc(SOo&>7VE~=<)|KK6b@1#=8`~G9 zqifZU)aGj@XyoeiK*xgu)Us++#j0vmpNazheqP6!&2-Axd<67_qgeSy(q_IG) z;}2y8wV!%|hNN$zSJQnNa~Q`Mj~H(mFB#Vvn;F>*JN*GYn_fa2Mteu4QkPI3lSQE4 zgcAo4#^A@{Mqtx`ehn6-Kor97!nQ)kKmz(Lo(lK>TnC(s9V6`twqT$l8DNew4KXe; zoYfcU@Vfch-3tqx@-FN zhDpY3Q?fY)Fsi2l)rC`zx6U>f+LPj4*?$9426e&05z~R1(_QorObxaR*Ng8V)Dypx zu98|unOB)P%+X8?^9y4-LqcCnucpP&_EB>w zRa2>azONpvF=*as zcj=~sI*m3)ni9>!K`%XEdv0%YkX$3(hdj9;g9D*^VL#wjL=*~e_b_jTG8$@MeX0X-(ZKCU}%d9=D=`1d*in)OaV;*D}>67UXXc8(5 zC_GLjFCZ--P6buU$2kD=^D1f{(jUBBBa*o{HXX^9xaphy=XXFz3SVfUyic+t$^Z6k>PrDSS}vJOM(#`N+tQcc7b?Fa4^iYQ z)+?h_ZdJRwOjDw**QxbX<6zS+^B)Vrw#fe7!Ex&krGMKH*Gprc)FLt`m1E8mt&iRM4pL2w>l{1;c;Z*vp^Kq~@ zv0GSCK#%nv;}1BCwbXpdQ}O}Qcp{lljN69w$NWakM(TmW2?P45KgnC@p5@X3g{(+h zz2%TO3xGE(^pAC?fui0a^%d1uaN^<=N9FpywS8{cec5bThzuojOVP40*<9H}8KiGx zpSAC-JY8W`6e|Cxx}v_Kd8EzNsq}%yrKUG#gmnqnXX2grT@23&kiqRx4bWh%M-D#_jf%PxY|Kb=M^>=iew9_>s)FV~1fePANxvg(<-*4Fsn==FYJce*`oYG_CZljPXqnCSl&Y3PToG= zdfq4=p7)JAncKh_%DLks0Sb|+tP#v%jCeYkCZgOUPa}B)0Muk#IQIF7^(u#Bgf%0dd`JpAs_RBua zsdJt6#P-)hHUS;KH^@=wcFank`uPvBnUqDjOzom^86%jBSgY8Je1>vp+)AKv3H9CS z+vzLxo9DN~Z?E54zaf55zo)+Gz8`pO-g53;PM%L4yN30Hd6_Yv&Z7OL%qMGzn+O`9 zK~;*5Mx92;U<066`!$~7?)y%NW0|emGQ|AbILy$b+o}!JbgG^z4=XmwHv?_YH&QiF zI(;Gull&5|7RQPSVyKuTP7wbq&KJi>-bu#vI(z>}Z^(`V1;=}eVgMH&rMag?>T?WM z<9;*E`pP!ZVRb%mPXZZy3tb2&fF3#H^uKM(ElCkzs`T3e~$lbe}R9U-)cXV?{wd%JSmsR<#YUeFzjyT6A&Ssc8d~1 zen?~y_TjoPX~03C6&?&*2l?WKc*eSJI<&S?)@NqA>9_%{zod=UG^x%hXDO28fqlWU z4C#vArxFNI`L*_3=^59<>w)(mdi;AP_1x<5_UsT7B%dYQddExCWf^@FfokbHrAIYO zldsLx=NhJ%H0BG|0d~FPscWf6(BB2Q1Dk`Oqe{@A+u?r_CX?F9v#7-&z8%bOtUfl3 zgXOxot-Slbll&BZtNrW!gZOj#JNWzfYxo2BcK@6HLH?J3R%wjy9Nxb`(|N8>BHIqs zC@0dz)PE=Ku(ldqB@I{xq$&1lT(5|2bCyJyr;$5_%oJ1Q~{wVea835p2XuVm>IweDCW=N*ZRl%=YU$x1q!6^ zI46B30}4Wb+)brWLno3ZcEawHcq3bqyUpSKG1m{`X@w#OE=Da&|G@6~S7 zm{rG=5sL1hnw>3J)@ zB01mtKw2t8$fqbiC_~gwfEIC+{(v#nY_D415*zc>iNhp{vh9vS(R0 zm|q*M`Z2l}8lL(lh_9mWfNZQZ9C)CFi^umI@9yjx+tnc2E=m#+MGz5LlrGvM>J-iF zQgz(`s>_4KX_67WYow25mcE&aa^+;TOmk9~WpEgC&6lie?PHyBZZ^oE0$L0Ig1nC2 zj2(ri6B|e;C<(L*`b=gmE6wK&r;=+2&M$a>ga2>-<^ZDLjKC&4Ja#%dK6-O?=a~_5aAkyNqJhGtkvk=84jA}Sq9p|9b6a5gY0)f zOfWg34ON7Bi911iQPRVA5}rW8$?vtGf4hy%o7S7k7#~ z_IG4-P&(ip^p1fY$2&9~|8^2Y1)^(Rhr3VqJQH_GqNHbmr`0({q^d=IMY~9!YUG;H zKnvLBu(@0w2m}ekAqXfe27=S!8;Nhpd#MBI2F4{;pwC?nnm60`s^542V*dAlOM=OP z=D^)SeL=~={{-&}-V{6@sOdisiV3GEK;Q^t1tbe2L30@fYtxpL1IJ1?`rH!L( zB%LDM#NEf-N8Lc2gB^lw_pWg-cFwcUvo14lHD1tv(`wZTs$&Xm-#;=-?{&!(aZnGj zo6;36THg7sBfR5N`@;4R;39x;k7!@f{a3^EHn3_Bd3O^hHDsNJ;3jJd3S_Bjp#XkF*~ zx&3_uf&}Eip1`X?vB58c@gd_wHiT>oSr8H)(iprfxG5+yXj$Mv!I6M<{A_=-?;%xl4h=l7c}4UdXBB6k;Tvg>|A@5bt3pAxpd&ZidrjYqb=aei{Dg zDm6+KTRC0+ScaD#k+8(SL3Pd*P3m0IalXB+ZD?C*>-yG&Rz@qUHMMnnYh&w_Hci{( z_T8XT_lO>MDY}P?ze$Eldu7+<3zcbVf!0S4?#|}n))n?M&hKtH@Yos&oEq<-|6)7v zTB3!lr*_i6Gmo+dairXBzB<3j{F?!#0#RU7(EH$xA+*pdz$az^@IqM?HYto9_9t{y z=!cO0;F#cnLCJw+K^1?CKh$qKubC6%Gl#XGaRp5K%cT8;rMPSi1to$%1CAG2z#qQJ z{=$09yv8_JKSR4vouhmp?~=tzFH0!mN8OWvpO(GD3j9w-w%u-}v_5Q^(IRZ&wnVke z2QDc5);F#5+alT-9o)`r(XOs~;4D`uStkwbQ^|{!AJlKP-}SXdliA-k$#LA34>Fhy z+ktqGl40ohRN`dvLh2&=WM(|O-{%{5fv?7IDL*#=85k3k85|kn4S63rGVE6vLpVmb zSU6J{Efk04gy}*@gzgQw5qvdhdtjD8#^3I*^PR-I#i?amm?#FC<|KC!zvE9~r=nTN zM%V?&crVsn>NsPYX^AkQ4SKCitx`f1!oFqFj}o5vCh$&^biVDl-hQ_&uNB_9tVP;< zw0T6cusNc6T=ThRQ}ebKPHTJX&$jRFO&uiB;;yRhX=0<~iF9M%M8!bWAk8G;hjk4& znxpKao#)-{-Vo>p_*bMGoq^jxxI_9ysiieB%2=;_c5_pJ|I>1QOF(?!zd`4NuY~Ll z9Tuhz+bR?ZL&L|1PYX{E_Xz(J1`Cgcm4)g;EWw>Y&jM!&H2hWm6~1iVc+S76l}b{@_q&6-{&a5d z7~7uJHnw#~OHp%Db6(Sira?^!O~adZG*vYXYi@78*s>C2abx>~4qfNWuD0%N;_zOR zw63o}QL5_HK=tv)b>{bg95UJU6l8D~>@5P0o`SuBZzkd?@!$kbVU6~Q2H>|(elz%@ zfN_EMf|`Q$A*#^gu*1TD@Y~_m@L1sMl^H>f$PJ$oo+qRV2Zc=v9UQ_4E(=^H=;e?0 zzvf%X)%v(t7DgBC8|4UT1i_7cfu4%A!mdHmy=|_24xz2Ze8D(fAEJe;^$J}dR3_|Q zCjQzT()F@)Vh6EZ(JE>2G^aG5Z^Ab{X5-?2ebq87Tm-{C&%6xxd||C$5_ zk@l(jpmLpjwQP6qL$SC!z3X{rYDah5lh)HM=bJw@xf+)=sv52~ENhtFu&Uu+gS}x( zBdw{n>0R@?mfBWw``V7)&YZ5$9*wxX_phu(E>Ti6V|7;yO4DfT8@sRT49MVSm=rM; z{R8Vu*h2bC>8HgqC$Q&ortwn!;QY@4lYm!ST*#Ktn_>5bN5jVer?&Nx6_J>zfGB2^ zEb>aEAo65HZMaS74(kbh5;7sUHE^Wh7Qe~Q&O>lr>@Maz`etevxr(p`2f>_0vf+0j zA>Nm+6i1PDzS#q|n1z}Um0K>A_4Jy>emx7jzIVoV6trz^9o~}EJhW*`V{t=PLqq-f z`hV*;)?cgdt{>mf*>J9LY16Fc^(~KD?QN?&9Gwrl{^=PeNtF)jTc9|js?_-Ew*&XF z3ARGVVE13|An0FsHtG{541bQOB@d(>Vti&b`$)N+zJL6W2c!m81Pu+j6WSVP7V5%F zBMw9|qmD&2MnR%c(Tb?2z>)5IBsp?$#FX&CLQ2@*kSW1MfqcO{{sAy6j&S~Ar!XzF zN0i~DcKknB6>2p?3SHRW;-2Pgu+6b3j0g0g+E&$V#m2tb(ixJ~z>lz_Gppl!+w@ja zi@ZtP=mpW;t{2po)?KMPQg^eizAmo*UH$Y1-$qmuwK==xc&n*xS4V)TyX$+;OUWl` zeIHUeN_|V~(XTd%ElcbQ=Vp+>GcX_IeY5~~i+~4yzD0B*YlzQs?k3+={-XkjfnR`c z>!(nZFfDv^L|P;w>UC67^wsG4XmxaV^xNpU(c-A#QHLY{i?|)WRTvXi5;8RSzrfxA zJfG`FkS^;?~u^BfNQ-Vx|KZ4M_`&@eaKUS$}Eg%ZtQ%_Kmq_n52 zi!7Sck=r(+Rnh#a=|bbRhQIZM`rUPux{}(*wa;p6YW?cY)&7??w@^*YOLk9irh643WIM*oRYMCv0N z!>b&EMcAOT`oFn(&Vx3+d4;i0 zw-q?t|CaBOP3p}MXLL^!o#<$58{OK}e5h%1IcRia+$qWYLOaDg$up)*1I%eC%JGb3q0l!^R+$ z=)*V`@h+K5JI3f`#d22gj`>~S9~8_AqKCW*jTW8?FNu&uwnx2*UKpc{nHYO6_F3%h z*ww&I^m2>=xJPD3#YDQpp9+)0{tM9s2?A3C68+h}y_`GjA^?#Mmnt7^JxcGhOp@#}>R(;6Q%(OUj%o!HLngmoc$_>#%e8+~TQVzo%S$^bFn zw~lgHT~EBTp*X}h)DkQbOu5qz^5yac0%DLT_(Eu?@MgF+f*%zf&5r4e z*%NDv9UHd;IL9uGd5Mq)s@w=YOu9kwe5Az`fL!Pu%)W?Qv24<&0QyZen?=l z1;BTHyrx5!V+^p=*p4}ef(-tK?L;PEdU0onk(6JwLCgKXGRbS*2WDd#qo=aUv zJ1+xIbxg~qCU?WL`WYnOnHCJn&0zcri#*a;t zTS#q+c5$brD@eSuw?LMp_^cYORqC&qCRj<1de?35a%c>~g!+hGNAM;8rA}wGvnFs} z@oav=fI)%T!G57#VF$utk&C15M1PEV9J?uw9e*WW9nVV;BtR0r#E*!79jA-M#(JZx zqIN|hBGw8&gmwhW0viLK`!Dy!ac{EO%tN$pavX6h?mb$8;K9cC?{U9#D6B&BMnj=C zOnqI!>wDL`KpfcJ54^$gZ39{^G$9&q)=#aAt4*w#SN)AnyHXq`z1GK5zEw}xp^b&+Q?}X8D3HNM*i+;- z%s{-C_?|L{Ze-^8sJNs3&hvi@YJ-YH?uX3=?#3&kzD4)N=ws{R&c+8OoK2`p&?Iyv zJWCjxP!P|I9~3tW91;Naf5J=Sd}R4Ea;OC)I3XST59&Pp zGo-@TYFN zWoyNUiZ2zCinPklmGi2?fv%4aZbRr@W4a3zEu8=3t?2HR+AMQzCnSZ!oO3;Fk@nL@96%n(e@}n`a!Z<;^ zDgJIkK;n+XXNhkU&m;~>tW1bYSQEcDZcS`_Onubk$d}>Lu>KHdP>bL;f4E-@cbd;H zCX+s&a-CR$)1k@8DA>sUCGLHW2i9^^zkY!Blu9n2CF_uE>k)QYIy&1VEtux}7=g1LfUMM|V<={H$PobS8{|APU410})o&}!k8 zi1euM(X80RTJf@cZh3NfTKS6d-{pfUloh`#zgKluht*!K zi)iR+{MP)wwY1&aIidTDI89pBm!nM7cyx`%FP8u87hOlaJE8v~7NN)DVu=_^1MMPn zpic{To?j{7H*k9JhR}7wF%ih9yV2CxMRCXDk0&ew(OpT>Cj}-8laa|^k_IN-Nvuog ziqDTb5bG0jDyl649Zn1D53UM45Ww-j$wP4FvhLCADNZ5_FT^AvGhsveN4Y0C7Ff5K zF6n=3?8+hXds3R@R(H0@(O%zL)+}!1HRROUYwlLBu3AvJtKx5YY9SpAm&;np zMwE-n?^m3vyjRs$omrb#x2_?xDWWB#?VpbKB3933Nw};|epWSCn_}<Y~R)9gMgpJQKP!*f;PSe}La}F4Si@GlzDY{DJTn zTZk%v=R$sYzB_-|^3C-Ioz_P^NpVZ&l>FP{7Cr3vr)^Zr=%%#|@9MaLs<%`uv8cO>bHn+I)b&yrJh%Z)9Je z;-mV4ZntrxVUcG%93M*zWMUM4*3`~ zQ_v0W6wf(YRsdrNbp~l6egS3%attiHKh_=W;9CWz82t#%dgYToQ|~l!W!IukQhRGl zK~r^ur*1-RVfB)#uu5h{Wck{%meTd5@umFI^wPbh`qI;7Q_F`{EUbJ`MX0$`JGDN# zF}!(1>%sQ+&WYWf;)Bv`IlwGvn)EfMdaKBxbweODcn~TEn@ETu`_Vj%O7@7K1^1g&zdaZP9Swwka z#fr+@s-ZRN+HdvG8-F$HTL*W%5vBFCNiND3Dh8;db>YT%%V7H~*Jkfo=u^aBbSA@ZFB5=oWuc3OIT3542E-_1H^f&bppxjxmgH9{>8UqTD^lxIU#HGX z?Mz8bS&+OSDJiihennhij5mrNi3)EHJsHdoyuo++4&`oV-(WnWz9c=wpT}%N&Vr@& zbKGuwucgsgt!q|m6|BA~y^nfGT^BnN+YHS$jWzYA+Kif~RoRuUa&eitG_LeUNpy*} zxTDxsJOIQvrPRNSS)Nj{ztU87re;E2LPJK=(w3KP^v3+IHqlpI}~x-!4$0YeK$;^@i&sTcU5rX2ib(COE;#{wdm& z3#pj2sc9S17N-TL{Q!AfnzAi8w*)q*SgFq`(4V15zJ`+Q_H*~t%9<{7(n$fVN?qZFiYDFcX zqP?u4)KM~~q_}uv@u=c)#d|@ND@y`O5oPr9aTRYWGpf}!`E`F9I-C4jceUF(&vp-x zpk!ist*S=bX|R}C_5rTd-mB0&gbGc>hmw-1$&64ol3V3_fX@rO8SDxj5WXmKVRS~U zK5lPoaRo0r+1_sPeZ58PTiNXBYAX^E@5qaUaTS79VrQa7B(@Y zIdEveRlgdpm5pX%Xf9F@{x{|lav3bCAK`AYzqXt;?$B*i=O`}7eoJ6I3q?)st6F`V zbq&%wZ%uafgUYyyzOvHN#u8G==3-QFQPGE@>LQ=wv&9J|uu^YnNcpx3L*?b_`L*Nf z7dBpMmbcF9P>Zhh%;`<+3sCYk(fU!Qb=I4X3Xs7h_&=!2*zbfUvWzBUHu}8dZSxNn zdBG}o(*~vOOg)yeI$4nP zCV>$@C3bc6g2>qLuFws^5OUilTYFs87g{XpD^(=Ho*&yaleX-_` zvZSxKmnmM*mDe%2P1Jm=acBLW+DFyK%9R!9^4ikE5?OI#@#~@)MbSm^Mazl`i>4Nn zOKc^Cva#i#Dn?epY9zJtdTP@=u+2>9Guh1JC0@W8L{Kq9 z@oPyZsMi_S*@wAv{dfU+f#XBIhoK`9qq1TG;zaRV5_^(@Q!-P-(qw7d)7#T28SD&Q z`ptA!`tr1+sk>8#CrcCOBs`6)im8rz6|qtX3*8qa3JCU}%v1K&}g@nNjtzBCA|eT3S*IvbU

M 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 literal 0 HcmV?d00001 diff --git a/samples/PhysicsDemo/project.json b/samples/PhysicsDemo/project.json new file mode 100644 index 0000000..c5794ff --- /dev/null +++ b/samples/PhysicsDemo/project.json @@ -0,0 +1,13 @@ +{ + "engineVersion": "^0.1", + "plugins": [ + { "id": "engine.windowing" }, + { "id": "engine.assets" }, + { "id": "engine.render" }, + { "id": "engine.input" }, + { "id": "engine.physics" }, + { "id": "engine.audio" }, + { "id": "physics-demo-game" } + ], + "pluginPaths": ["GamePlugins"] +} diff --git a/samples/PhysicsDemo/scene.json b/samples/PhysicsDemo/scene.json new file mode 100644 index 0000000..239c76c --- /dev/null +++ b/samples/PhysicsDemo/scene.json @@ -0,0 +1,42 @@ +[ + { + "name": "Ground", + "transform": { + "position": [0, 0, 0], + "rotation": [0, 0, 0, 1], + "scale": [8, 1, 8] + }, + "components": [ + { "type": "Engine.Physics.Contracts.Rigidbody, Engine.Physics.Contracts", "data": { "Type": 0, "Friction": 0.6, "Restitution": 0.3 } }, + { "type": "Engine.Physics.Contracts.BoxCollider, Engine.Physics.Contracts", "data": { "HalfExtents": { "X": 4, "Y": 0.5, "Z": 4 } } }, + { "type": "Engine.Render.Contracts.CubeRenderer, Engine.Render.Contracts", "data": {} } + ], + "children": [] + }, + { + "name": "DemoBox", + "transform": { "position": [0, 3, 0], "rotation": [0, 0, 0, 1], "scale": [1, 1, 1] }, + "components": [ + { "type": "Engine.Physics.Contracts.Rigidbody, Engine.Physics.Contracts", "data": { "Type": 2, "Friction": 0.6, "Restitution": 0.3 } }, + { "type": "Engine.Physics.Contracts.BoxCollider, Engine.Physics.Contracts", "data": {} }, + { "type": "Engine.Render.Contracts.CubeRenderer, Engine.Render.Contracts", "data": {} } + ], + "children": [] + }, + { + "name": "Music", + "transform": { "position": [0, 0, 0], "rotation": [0, 0, 0, 1], "scale": [1, 1, 1] }, + "components": [ + { "type": "Engine.Audio.Contracts.AudioSource, Engine.Audio.Contracts", "data": { "ClipPath": "assets/music.wav", "Volume": 0.35, "Loop": true, "PlayOnAwake": true } } + ], + "children": [] + }, + { + "name": "Bounce", + "transform": { "position": [0, 0, 0], "rotation": [0, 0, 0, 1], "scale": [1, 1, 1] }, + "components": [ + { "type": "Engine.Audio.Contracts.AudioSource, Engine.Audio.Contracts", "data": { "ClipPath": "assets/bounce.wav", "Volume": 0.8, "Loop": false, "PlayOnAwake": false } } + ], + "children": [] + } +] diff --git a/scripts/run-physics-demo.sh b/scripts/run-physics-demo.sh new file mode 100755 index 0000000..4f95a79 --- /dev/null +++ b/scripts/run-physics-demo.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +# Stages the shared engine plugins, builds+places the sample's own +# game-specific plugin (physics-demo-game, listed in this project's own +# pluginPaths rather than the shared engine catalog — it's this game's +# logic, not a reusable engine plugin), then runs samples/PhysicsDemo. +# Extra args are forwarded to `engine run`. +set -euo pipefail + +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +CONFIG="${CONFIGURATION:-Debug}" +STAGE_DIR="$REPO_ROOT/.stage/plugins" +GAME_DIR="$REPO_ROOT/samples/PhysicsDemo/GamePlugins/physics-demo-game" + +"$REPO_ROOT/scripts/stage-plugins.sh" "$STAGE_DIR" + +cp "$GAME_DIR/bin/$CONFIG/net9.0/"*.dll "$GAME_DIR/" 2>/dev/null || true +cp "$GAME_DIR/bin/$CONFIG/net9.0/"*.pdb "$GAME_DIR/" 2>/dev/null || true + +cd "$REPO_ROOT/samples/PhysicsDemo" +exec dotnet "$REPO_ROOT/src/Engine.Host/bin/$CONFIG/net9.0/Engine.Host.dll" run --windowed \ + --plugins "$STAGE_DIR" --project project.json --scene scene.json "$@" diff --git a/tests/PhysicsDemoGame.Tests/PhysicsDemoGame.Tests.csproj b/tests/PhysicsDemoGame.Tests/PhysicsDemoGame.Tests.csproj new file mode 100644 index 0000000..642567c --- /dev/null +++ b/tests/PhysicsDemoGame.Tests/PhysicsDemoGame.Tests.csproj @@ -0,0 +1,22 @@ + + + + false + + + + + + + + + + + + + + + + + + diff --git a/tests/PhysicsDemoGame.Tests/PhysicsDemoGamePluginTests.cs b/tests/PhysicsDemoGame.Tests/PhysicsDemoGamePluginTests.cs new file mode 100644 index 0000000..e6cb94b --- /dev/null +++ b/tests/PhysicsDemoGame.Tests/PhysicsDemoGamePluginTests.cs @@ -0,0 +1,176 @@ +using System.Numerics; +using Engine.Audio.Contracts; +using Engine.Input.Contracts; +using Engine.Kernel.Diagnostics; +using Engine.Kernel.Events; +using Engine.Kernel.Plugins; +using Engine.Kernel.Scheduling; +using Engine.Kernel.Services; +using Engine.Kernel.World; +using Engine.Physics.Contracts; +using PhysicsDemoGame; +using Silk.NET.Input; + +namespace PhysicsDemoGame.Tests; + +// No real window, no real GLFW keyboard, no real Box3D/miniaudio needed to +// test this plugin's OWN logic (spawn-on-press, landed-detection) — only +// whether it calls its three service dependencies correctly. Real OS-level +// key injection isn't available in this sandbox (no xdotool/ydotool under +// Wayland) — a fake IEngineInput the test drives directly is the honest +// substitute, not a compromise: it exercises PhysicsDemoGamePlugin's real +// Configure()/Tick() through the real Schedule (so SystemAccessScope's +// Writes() declarations are genuinely +// checked), with IPhysicsService/IAudioService swapped for controllable +// fakes since engine.physics/engine.audio's own correctness is already +// covered by their own test projects. + +internal sealed class FakeInput : IEngineInput +{ + public bool SpaceDown; + public bool IsKeyDown(Key key) => key == Key.Space && SpaceDown; + public IInputContext Native => throw new NotSupportedException(); +} + +internal sealed class FakePhysics : IPhysicsService +{ + public readonly Dictionary Velocity = []; + + public void ApplyLinearImpulse(GameObject go, Vector3 impulse, bool wake = true) { } + public Vector3 GetLinearVelocity(GameObject go) => Velocity.GetValueOrDefault(go, Vector3.Zero); + public void SetLinearVelocity(GameObject go, Vector3 velocity) => Velocity[go] = velocity; +} + +internal sealed class FakeAudio : IAudioService +{ + public readonly List Played = []; + + public void Play(GameObject go) => Played.Add(go); + public void Stop(GameObject go) { } + public bool IsPlaying(GameObject go) => false; +} + +internal sealed class NullLogger : ILogger +{ + public void Info(string message) { } + public void Warn(string message) { } + public void Error(string message) { } +} + +internal sealed class TestPluginContext( + IWorld world, IServiceRegistry services, ISchedule schedule, IEventBus events, ITime time) : IPluginContext +{ + public IWorld World { get; } = world; + public IServiceRegistry Services { get; } = services; + public ISchedule Schedule { get; } = schedule; + public IEventBus Events { get; } = events; + public ILogger Log { get; } = new NullLogger(); + public ITime Time { get; } = time; +} + +public class PhysicsDemoGamePluginTests +{ + private static (GameWorld World, Schedule Schedule, FakeInput Input, FakePhysics Physics, FakeAudio Audio) Setup() + { + var world = new GameWorld(); + var schedule = new Schedule(); + var services = new ServiceRegistry(); + var input = new FakeInput(); + var physics = new FakePhysics(); + var audio = new FakeAudio(); + + services.Provide(input); + services.Provide(physics); + services.Provide(audio); + + var ctx = new TestPluginContext(world, services, schedule, new EventBus(), new Time()); + new global::PhysicsDemoGame.PhysicsDemoGamePlugin().Configure(ctx); + + return (world, schedule, input, physics, audio); + } + + [Fact] + public void PressingSpace_SpawnsExactlyOneBox_EvenIfHeldAcrossFrames() + { + var (world, schedule, input, _, _) = Setup(); + + input.SpaceDown = true; + schedule.RunStage(Stage.Update, world); // press + schedule.RunStage(Stage.Update, world); // still held — no second spawn + + Assert.Single(world.Roots); + } + + [Fact] + public void ReleasingAndPressingAgain_SpawnsASecondBox() + { + var (world, schedule, input, _, _) = Setup(); + + input.SpaceDown = true; + schedule.RunStage(Stage.Update, world); + input.SpaceDown = false; + schedule.RunStage(Stage.Update, world); + input.SpaceDown = true; + schedule.RunStage(Stage.Update, world); + + Assert.Equal(2, world.Roots.Count); + } + + [Fact] + public void SpawnedBox_HasRigidbodyBoxColliderAndCubeRenderer() + { + var (world, schedule, input, _, _) = Setup(); + + input.SpaceDown = true; + schedule.RunStage(Stage.Update, world); + + var box = Assert.Single(world.Roots); + Assert.NotNull(box.GetComponent()); + Assert.NotNull(box.GetComponent()); + Assert.Equal(BodyType.Dynamic, box.GetComponent()!.Type); + } + + [Fact] + public void BoxThatNeverActuallyFalls_DoesNotTriggerTheBounceSound() + { + var (world, schedule, input, physics, audio) = Setup(); + var bounce = world.CreateGameObject("Bounce"); + + input.SpaceDown = true; + schedule.RunStage(Stage.Update, world); + var box = world.Roots.First(go => go != bounce); + + // Spawned at rest (velocity never set below the falling threshold) + // — must not be mistaken for "landed." + for (var i = 0; i < 5; i++) + schedule.RunStage(Stage.Update, world); + + Assert.Empty(audio.Played); + } + + [Fact] + public void BoxThatFallsThenSettles_TriggersTheBounceSoundExactlyOnce() + { + var (world, schedule, input, physics, audio) = Setup(); + var bounce = world.CreateGameObject("Bounce"); + + input.SpaceDown = true; + schedule.RunStage(Stage.Update, world); + input.SpaceDown = false; + var box = world.Roots.First(go => go != bounce); + + physics.Velocity[box] = new Vector3(0, -5, 0); // falling fast + schedule.RunStage(Stage.Update, world); + Assert.Empty(audio.Played); + + physics.Velocity[box] = new Vector3(0, 0, 0); // settled + schedule.RunStage(Stage.Update, world); + Assert.Single(audio.Played); + Assert.Same(bounce, audio.Played[0]); + + // Still resting on later frames — must not re-trigger. + schedule.RunStage(Stage.Update, world); + schedule.RunStage(Stage.Update, world); + Assert.Single(audio.Played); + } +}