Skip to content

Guard internal backend APIs#173

Merged
anirul merged 1 commit intomasterfrom
codex/internal-backend-api-guard
Apr 26, 2026
Merged

Guard internal backend APIs#173
anirul merged 1 commit intomasterfrom
codex/internal-backend-api-guard

Conversation

@anirul
Copy link
Copy Markdown
Owner

@anirul anirul commented Apr 26, 2026

Summary

  • add a guarded internal backend header so direct frame/opengl/* and frame/vulkan/* includes fail for user code with an out-of-band message
  • move Vulkan window factory registration behind an internal header while keeping CreateNewWindow as the public factory surface
  • replace the common-layer Vulkan device downcast with a guarded backend-neutral internal level-data startup interface

Verification

  • cmake --build --preset windows-debug --target FrameCommon
  • cmake --build --preset windows-debug --target FrameTest FrameJsonTest FrameOpenGLFileTest FrameOpenGLTest FrameVulkanTest
  • ctest --test-dir build/windows -C Debug --output-on-failure -R "WindowFactory|ParseLevelTest\.(BuildVulkanLevelFromJson|CreateLevelDataFromPath|CreateLevelDataFromPathVulkan)"
  • manual compile guard check for direct frame/vulkan/device.h and frame/opengl/device.h includes without FRAME_INTERNAL_BACKEND_ACCESS

@anirul anirul merged commit cb833bd into master Apr 26, 2026
2 checks passed
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