Skip to content

chore(foundation): harden build and core invariants - #25

Merged
czlin7 merged 12 commits into
developfrom
chore/foundation-cleanup
Aug 25, 2026
Merged

chore(foundation): harden build and core invariants#25
czlin7 merged 12 commits into
developfrom
chore/foundation-cleanup

Conversation

@czlin7

@czlin7 czlin7 commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • replace machine-specific Visual Studio/SFML project assumptions with a portable CMake build;
  • use an installed SFML 3.1 package when available, otherwise fetch SFML 3.1.0 with only the modules EcoSimEngine needs;
  • normalize case-sensitive include/source paths and fix strict-compiler header dependencies;
  • copy config/ and resources/ next to the application after build;
  • remove stale generated/project residue and tracked ImGui runtime state;
  • harden ComponentManager and SystemManager invariant handling;
  • fix Action::toString() enum/string drift and remove its unsafe formatting assumptions;
  • add dependency-free CTest coverage for component storage, system membership, and EventBus behavior;
  • add CI coverage for headless foundation tests plus complete Linux and Windows application builds;
  • refresh README/build documentation to match the repository's current state.

Validation

GitHub Actions run 32844161695 passes all merge gates:

  • foundation-tests — configure, build, and CTest: passed;
  • linux-app-build — clean Ubuntu 22.04 configure and full application build/link: passed;
  • windows-app-build — clean Windows/MSVC configure and full Release application build/link: passed.

The headless foundation suite also passes independently with the application/SFML path disabled.

Scope

This PR intentionally does not add simulation features or redesign the ECS. It establishes a reproducible cross-platform build/test baseline and fixes correctness issues exposed while validating that baseline.

Interactive GUI launch behavior is not exercised by CI; the desktop application is nevertheless compiled and linked successfully on both Linux and Windows, including the post-build runtime resource copy step.

@czlin7 czlin7 changed the title chore(project): harden build and core foundation chore(foundation): harden build and core invariants Aug 25, 2026
@czlin7
czlin7 marked this pull request as ready for review August 25, 2026 11:53
@czlin7
czlin7 merged commit 3d91763 into develop Aug 25, 2026
3 checks passed
@czlin7
czlin7 deleted the chore/foundation-cleanup branch August 25, 2026 14:57
@czlin7
czlin7 restored the chore/foundation-cleanup branch August 25, 2026 14:57
@czlin7
czlin7 deleted the chore/foundation-cleanup branch August 25, 2026 14:57
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.

1 participant