Skip to content

Testcase#88

Merged
Just-Here-TO-Code merged 3 commits intodevfrom
testcase
Mar 30, 2026
Merged

Testcase#88
Just-Here-TO-Code merged 3 commits intodevfrom
testcase

Conversation

@urastogi2048
Copy link
Copy Markdown
Collaborator

Description

Added testcases and organised chapterwise.

Changes Made

  • Added testcases of rotation.
    -Organised them chapterwise.

Implementation Details

Patched testscenario.cpp.

Checklist

Type:

  • Bug Fix
  • Feature
  • Chore

Copilot AI review requested due to automatic review settings March 29, 2026 18:36
@urastogi2048 urastogi2048 changed the base branch from main to dev March 29, 2026 18:36
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the app’s scenario/testcase system and UI, while also introducing multiple physics/rendering upgrades (constraints rendering, velocity arrows, buoyancy, updated collision/manifold code).

Changes:

  • Reworks the UI flow in renderer/window.cpp (start screen/guide/menu bar) and adds theming/font loading.
  • Refactors/extends scenarios (TestCase enum + scenario loader now returns a Camera) and adds new “chapterwise” scenario mappings.
  • Updates physics engine internals (manifold/contact structures, constraint solving, collision manifold builders) and adds buoyancy support.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

Show a summary per file
File Description
vcpkg.json Removes slint dependency from manifest.
renderer/window.cpp Adds multi-screen UI flow, scenario selection, gravity presets, and camera input gating.
renderer/drawconstraints.hpp Declares constraint rendering entry points.
renderer/drawconstraints.cpp Implements solid/wire rendering for distance constraints.
renderer/drawbodies.hpp Adds API to toggle velocity arrow visibility.
renderer/drawbodies.cpp Adds rotated body rendering, constraint rendering hooks, and velocity arrows.
renderer/camera.hpp Adds fluent setters for camera properties.
renderer/bodyshaders.cpp Extends fragment shader with material/fog + adds shader compile/link logging.
renderer/bodymenu.hpp Splits body menu into reusable sub-panels + popup/toast API.
renderer/bodymenu.cpp Implements menus for spawning, constraints, world settings, inspector, and toast popups.
renderer/aether_theme.hpp Declares font/theme setup.
renderer/aether_theme.cpp Loads default font (with Windows Segoe UI attempt) and applies ImGui theme.
engine/world/physicsworld.hpp Adds delete-body/constraint APIs, lookup map/pointer sync helpers, buoyancy fields, and constraint accessors.
engine/world/physicsworld.cpp Implements lookup syncing, body deletion, buoyancy integration, angular contact math, and constraint solver changes.
engine/responses.hpp Adds PhysicsResult / PhysicsError for API results.
engine/math/quat.hpp Adds Quat::fromAxisAngle.
engine/math/quat.cpp Implements Quat::fromAxisAngle.
engine/engine_configs.hpp Adds restitution threshold, buoyancy PI constant, and defines DEBUG_MODE.
engine/core/rigidbody.hpp Minor include/format updates.
engine/core/rigidbody.cpp Formatting + minor message/force accumulator cleanup.
engine/core/ramp_collider.hpp Adds local center-of-mass offset helper.
engine/core/collider.hpp Formatting + default ShapeType init.
engine/core/buoyancy.hpp Adds buoyancy API and Fluid definition.
engine/core/buoyancy.cpp Implements buoyancy force application for spheres/boxes.
engine/common_header.hpp Pulls responses.hpp into common header.
engine/collision/obb.hpp Adds OBB helpers used by manifold builders.
engine/collision/manifolds/buildSphereSphereManifold.cpp Rewrites sphere-sphere manifold construction.
engine/collision/manifolds/buildRampSphereManifold.cpp Refactors ramp-sphere manifold with local-space logic and robustness helpers.
engine/collision/manifolds/buildRampRampManifold.cpp Refactors ramp-ramp manifold using SAT axes + multi-contact selection.
engine/collision/manifolds/buildRampBoxManifold.cpp Refactors ramp-box manifold using OBB + SAT and candidate contacts.
engine/collision/manifolds/buildBoxSphereManifold.cpp Rewrites box-sphere manifold using OBB projection.
engine/collision/manifolds/buildBoxBoxManifold.cpp Updates box-box manifold for oriented boxes + candidate collection.
engine/collision/contactmanifold.hpp Initializes IDs and formats struct.
engine/collision/contact.hpp Adds rA/rB to contacts and initializes IDs.
app/test_scenarios.hpp Replaces old testcase list; adds chapter map globals and returns Camera from loader.
app/test_scenarios.cpp Adds new scenario implementations, initializes chapter map, and updates loader switch.
app/main.cpp Removes hard-coded testcase selection; delegates to UI flow.
README.md Adds “Quick Run” section for Windows/Linux releases.
CMakeSettings.json Enables vcpkg manifest mode in VS CMake settings.
CMakeLists.txt Adds new sources (buoyancy, drawconstraints, theme) to build.
.gitignore Adds release exceptions and adjusts ignored build directories.
Comments suppressed due to low confidence (1)

app/test_scenarios.cpp:374

  • spawn_box_ramp_case now creates the ramp with a non-zero mass (2.0f). That makes the ramp dynamic, so it will fall under gravity and move during the scenario, which typically defeats the purpose of a ramp test setup. If the ramp is meant to be a static environment object, its mass should remain 0.0f.
        world.addBody(Rigidbody(Vec3(-2.0f, 0.0f, 0.0f), Vec3(0.0f, 0.0f, 0.0f), &g_gentle_ramp, 2.0f));
        world.addBody(Rigidbody(Vec3(0.5f, 4.0f, 0.0f), Vec3(0.0f, 0.0f, 0.0f), &g_small_box, 2.0f));

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Just-Here-TO-Code
Copy link
Copy Markdown
Collaborator

@urastogi2048 good work.

@Just-Here-TO-Code Just-Here-TO-Code merged commit 58763b8 into dev Mar 30, 2026
1 check passed
@Just-Here-TO-Code Just-Here-TO-Code deleted the testcase branch March 30, 2026 13:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants