Skip to content

Elemental 1.0.0-dev.10

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Sep 16:05
db4e6f5

Elemental 1.0.0-dev.10

Includes changes since v1.0.0-dev.9.

Pull requests

#115 — Extract shared runtime into Foundations

Goal

Extract the shared low-level runtime from Elemental into src/Foundations so Elemental and ElementalTools consume the same layer without direct cross-project runtime paths.

This PR is intentionally limited to extraction and build/test structure. Runtime behavior changes will be handled in focused follow-up PRs.

Changes

  • move the generic runtime files from src/Elemental/Common to src/Foundations;
  • move platform SystemPlatformFunctions.cpp implementations under Foundations/{Microsoft,Linux,Apple};
  • keep Elemental-specific Common/Graphics and Common/Inputs under Elemental;
  • introduce separate foundations and elemental_common CMake interface targets;
  • make ElementalTools consume foundations instead of reaching into Elemental platform runtime directories;
  • align the CMake dependency graph so Elemental owns its Common layer and elemental_common depends on foundations;
  • rename SystemFunctionsTests to FoundationsTests;
  • give Foundations its own minimal platform precompiled headers so Foundations tests no longer use Elemental platform PCHs or link ElementalInterface;
  • remove the Apple Foundations executable-path dependency on Elemental's Foundation wrapper by using the macOS system executable-path API;
  • update the test workflow for the renamed Foundations test package.

Follow-up PRs

Runtime hardening will be split by area, with tests strengthened alongside each change. Planned areas include:

  • Dictionary concurrency and contract;
  • DataPool concurrency and reuse;
  • Memory arenas / virtual memory;
  • strings and UTF conversion;
  • IO and process execution;
  • logging boundary and remaining Elemental type coupling;
  • other platform correctness fixes discovered during the review.

Do not merge yet while CI for the final extraction structure is being validated.