2026-07-22 18:09:06 +02:00
|
|
|
//SPDX-License-Identifier: LGPL-3.0-only
|
|
|
|
|
//SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
|
2025-05-07 19:21:51 +02:00
|
|
|
|
2025-04-16 00:43:33 +02:00
|
|
|
export module Crafter.Graphics;
|
|
|
|
|
|
2026-05-18 02:07:48 +02:00
|
|
|
// Every partition is `export import`'d unconditionally. Crafter.Build's
|
|
|
|
|
// dependency scanner doesn't respect `#ifdef` on `import :X`, so the
|
|
|
|
|
// partition file must always exist. Vulkan-typed partitions stub to
|
|
|
|
|
// empty modules under CRAFTER_GRAPHICS_WINDOW_DOM, and the new Dom /
|
|
|
|
|
// DomEvents / Router partitions stub to empty modules in native
|
|
|
|
|
// builds — see project.cpp for the master list.
|
2025-04-16 00:43:33 +02:00
|
|
|
export import :Types;
|
2026-05-12 00:24:48 +02:00
|
|
|
export import :Keys;
|
|
|
|
|
export import :Gamepad;
|
|
|
|
|
export import :Window;
|
|
|
|
|
export import :Input;
|
2026-03-09 20:10:19 +01:00
|
|
|
export import :Device;
|
2025-11-24 03:38:20 +01:00
|
|
|
export import :Animation;
|
2026-03-12 21:13:53 +01:00
|
|
|
export import :ForwardDeclarations;
|
2026-05-18 04:58:52 +02:00
|
|
|
export import :GraphicsTypes;
|
2026-05-18 02:07:48 +02:00
|
|
|
export import :Clipboard;
|
|
|
|
|
|
|
|
|
|
// Vulkan-backed partitions — empty under DOM.
|
|
|
|
|
export import :Font;
|
|
|
|
|
export import :Mesh;
|
2026-01-27 22:34:24 +01:00
|
|
|
export import :VulkanTransition;
|
2026-01-28 01:07:41 +01:00
|
|
|
export import :VulkanBuffer;
|
2026-01-28 23:37:12 +01:00
|
|
|
export import :ShaderVulkan;
|
2026-01-31 21:08:42 +01:00
|
|
|
export import :ShaderBindingTableVulkan;
|
2026-01-29 00:45:02 +01:00
|
|
|
export import :PipelineRTVulkan;
|
2026-03-09 20:10:19 +01:00
|
|
|
export import :RenderingElement3D;
|
2026-02-03 21:03:11 +01:00
|
|
|
export import :ImageVulkan;
|
2026-05-19 00:27:09 +02:00
|
|
|
export import :Image2D;
|
2026-02-03 21:03:11 +01:00
|
|
|
export import :SamplerVulkan;
|
2026-04-05 22:53:59 +02:00
|
|
|
export import :DescriptorHeapVulkan;
|
2026-05-01 23:35:37 +02:00
|
|
|
export import :RenderPass;
|
|
|
|
|
export import :RTPass;
|
2026-05-02 21:08:20 +02:00
|
|
|
export import :FontAtlas;
|
|
|
|
|
export import :ComputeShader;
|
|
|
|
|
export import :UI;
|
2026-05-03 02:45:38 +02:00
|
|
|
export import :UIComponents;
|
2026-05-12 00:24:48 +02:00
|
|
|
export import :InputField;
|
2026-05-18 02:07:48 +02:00
|
|
|
export import :Decompress;
|
|
|
|
|
|
2026-05-18 18:43:30 +02:00
|
|
|
// Portable RT type aliases (provided on both targets — uses Vulkan
|
|
|
|
|
// structs natively, plain PODs of the same layout on DOM).
|
|
|
|
|
export import :RT;
|
|
|
|
|
|
2026-05-18 02:07:48 +02:00
|
|
|
// DOM-only partitions — empty under native.
|
|
|
|
|
export import :Dom;
|
|
|
|
|
export import :DomEvents;
|
|
|
|
|
export import :Router;
|
2026-05-18 04:58:52 +02:00
|
|
|
export import :WebGPU;
|
|
|
|
|
export import :WebGPUBuffer;
|
|
|
|
|
export import :DescriptorHeapWebGPU;
|
|
|
|
|
export import :WebGPUComputeShader;
|
2026-05-24 13:32:08 +02:00
|
|
|
export import :PlainComputeShader;
|
2026-05-18 18:43:30 +02:00
|
|
|
export import :ShaderBindingTableWebGPU;
|
|
|
|
|
export import :PipelineRTWebGPU;
|