v0.2.0 — Cross-platform
Pre-release
Pre-release
·
106 commits
to VCK
since this release
Added
- Cross-platform support (Windows / Linux / macOS) via
VCK::Window+VCKCrossplatformfacade over GLFW.VCK_PLATFORM_WINDOWS/LINUX/MACOSmacros gate platform includes. example/build.sh— Linux + macOS builder with the same[1]-[9] / [A] / [0]menu asbuild.bat; auto-detects OS, usespkg-configfor Vulkan + GLFW.- Live resize as first-class —
VCK::HandleLiveResize(window, dev, sc, fb, pipe[, depth])handles any OS resize (720p ↔ 4K) in one call per frame. Timeline-aware overloads inlayers/execution/emit aDebugTimelineCPU span (rule 12). - Anti-aliasing framework —
VCK::AATechniqueenum (Auto, Off, MSAA, MSAA_A2C, SampleRate, FXAA, SMAA_1x, SMAA_T2x, TAA, TAAU).cfg.aa.technique = AATechnique::Autoruns a 5-step decision tree atVulkanSwapchain::Initialize. Sample-based techniques implemented pipeline-side; post-process names returned viaswapchain.GetAATechnique()for renderer to implement (rules 15/16). VCK::VCKLogstructured logger —Info(debug-gated) /Notice/Warn/Error. Console-spam dedup of identical consecutive(tag, body)lines. Classify helper parses legacyLogVk("[Tag] body")into the new levels.cfg.debugflag (defaultfalse) —VulkanContext::Initializewires it intoVCKLog::SetDebug().cfg.pipeline.alphaToCoverage— flipsalphaToCoverageEnablein pipeline multisample state.cfg.pipeline.sampleRateShading+minSampleShading— enables per-sample shading.- Repo reorganisation:
layers/{core,expansion,execution,vmm}/+vendor/{vulkan_headers,glfw,vma}/.VCK.hat root is the single source of truth for API documentation. - Wiki —
Hello-VCK.md(per-line walkthrough targeting 1-hour onboarding budget),_Sidebar.md(navigation). LICENSE,CHANGELOG.md,CONTRIBUTING.md,.editorconfig,.gitignoreat repo root.
Changed
VK_CHECKnow routes failures directly toVCKLog::Error(…)instead of the debug-gatedLogVk(…)— fail loud regardless ofcfg.debug(rule 14 fix).VulkanContext::InitializetakesVCK::Window&(wasHWNDon Windows only); raw-handle overload preserved as escape hatch (rule 9).<windows.h>/<vulkan_win32.h>guarded behindVCK_PLATFORM_WINDOWSinVulkanHelpers.handVCK.h— no more platform leakage in the public surface.docs/Design.mdrule 4 allow-list updated to includeVulkanSwapchain::RecreateandHandleLiveResizevkDeviceWaitIdlecalls.- Examples 1-9 ported to
VCK::Window+VCK::HandleLiveResize— dropped rawGLFWwindow*,HWND,g_Resized,g_Minimized,OnFramebufferResize.
Removed
core/VulkanHelpers.cpp(empty shell).core/at repo root (moved tolayers/core/).VMM/at repo root (moved tolayers/vmm/).BuildRequiredExtensionshelper inVulkanContext.cpp(dead code from pre-crossplatform era, no matching header decl).