#include <cstdint>#include <deque>#include <memory>#include <optional>#include <string>#include <unordered_map>#include <unordered_set>#include <vector>#include "glad/glad.h"#include "donner/base/Box.h"#include "donner/base/Transform.h"#include "donner/base/Vector2.h"#include "donner/editor/AsyncRenderer.h"#include "donner/editor/FrameCostBreakdown.h"#include "donner/editor/ImGuiIncludes.h"Classes | |
| struct | donner::editor::CompositedTileTextureIdentity |
| Stable identity for deciding whether a metadata-only composited tile can reuse an existing presentation texture. More... | |
| struct | donner::editor::PresentationResourceStats |
| Approximate resource footprint retained by the editor presentation texture cache. More... | |
| struct | donner::editor::PresentationCoverageDiagnostics |
| Presentation coverage state for composited tile fallback diagnostics. More... | |
| class | donner::editor::GlTextureCache |
| Retains editor presentation textures for composited tiles and Layers thumbnails. More... | |
| struct | donner::editor::GlTextureCache::ThumbnailTextureView |
| ImGui texture handle and UV range for valid thumbnail content. More... | |
| struct | donner::editor::GlTextureCache::TileView |
| One cached tile's ImGui texture handle and paint-order geometry. More... | |
| struct | donner::editor::GlTextureCache::RasterCoverageGroup |
| Owner-indexed coverage and paint bounds in one immutable raster coordinate system. More... | |
| class | donner::editor::GlTextureCache::PresentationResources |
| Immutable resource manifest published only after complete preparation succeeds. More... | |
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
| namespace | donner::svg |
| Donner SVG library, which can load, manipulate and render SVG files. | |
Functions | |
| CompositedTileTextureIdentity | donner::editor::TextureIdentityForCompositedTile (const RenderResult::CompositedTile &tile) |
| Return the presentation texture identity carried by tile. | |
| bool | donner::editor::TextureIdentityMatchesCompositedTile (const CompositedTileTextureIdentity &cachedIdentity, const RenderResult::CompositedTile &tile) |
| Return true when a metadata-only tile can reuse cachedIdentity. | |
| Vector2i | donner::editor::PowerOfTwoTextureDimensionsForPayload (const Vector2i &payloadDimensions) |
| Return the power-of-two backing texture dimensions for a payload. | |
| Vector2d | donner::editor::TextureUvBottomRightForPayload (const Vector2i &payloadDimensions, const Vector2i &allocationDimensions) |
| Return the max UV that samples only the payload inside a backing texture. | |
| std::uint64_t | donner::editor::BitmapPayloadBytes (const svg::RendererBitmap &bitmap) |
| Return the byte size of a CPU bitmap payload as submitted to the presentation cache. | |
| std::uint64_t | donner::editor::TexturePayloadBytes (const Vector2i &dimensions) |
| Return the approximate byte size of a backend texture payload, assuming RGBA8 storage. | |
| FrameCostBreakdown::CompositedUpload | donner::editor::CostForCompositedPreviewUpload (const RenderResult::CompositedPreview &preview) |
| Compute upload-cost counters for a composited preview without touching GL/WGPU state. | |
| struct donner::editor::GlTextureCache::ThumbnailTextureView |
| struct donner::editor::GlTextureCache::TileView |
One cached tile's ImGui texture handle and paint-order geometry.
| Class Members | ||
|---|---|---|
| Vector2d | bitmapDimsDoc = Vector2d::Zero() | Document-space tile dimensions. |
| Vector2i | bitmapDimsPx = Vector2i::Zero() | Valid texture payload dimensions in pixels. |
| Vector2d | canvasOffsetDoc = Vector2d::Zero() | Document-space tile origin. |
| Transform2d | documentFromCachedDocument | Transform from cached-document to current-document space. |
| Vector2d | dragTranslationDoc | Document-space drag offset for presentation. |
| uint64_t | generation = 0 | Generation of the tile payload. |
| shared_ptr< const GLuint > | glTextureLifetime | Shared GL allocation retained by every frame referencing this tile. |
| string | id | Stable composited tile identifier. |
| bool | isDragTarget = false | Whether this tile is the active drag target. |
| Kind | kind | Composited tile category. |
| Entity | layerEntity = entt::null | Layer entity when this is a promoted layer. |
| bool | metadataOnly = false | True when the tile carries no new texture payload. |
| Vector2i | rasterCanvasSize = Vector2i::Zero() | Raster canvas size that produced this tile. |
| ImTextureID | texture | ImGui handle for this tile, or zero when no cached payload can be reused. |
| shared_ptr< const RendererTextureSnapshot > | textureSnapshot | Retained GPU snapshot backing a Geode tile. |
| shared_ptr< const void > | uiTextureLifetime | Registration owned by all published users. |
| Vector2d | uvBottomRight = Vector2d(1.0, 1.0) | Bottom-right UV of valid texture content. |
| struct donner::editor::GlTextureCache::RasterCoverageGroup |
Owner-indexed coverage and paint bounds in one immutable raster coordinate system.
| Class Members | ||
|---|---|---|
| Transform2d | documentFromRaster | |
| vector< Box2d > | paintBounds | |
| vector< Box2d > | tileBounds | |
|
nodiscard |
Return the byte size of a CPU bitmap payload as submitted to the presentation cache.
| bitmap | CPU renderer bitmap. |
|
nodiscard |
Compute upload-cost counters for a composited preview without touching GL/WGPU state.
| preview | Composited preview to inspect. |
|
nodiscard |
Return the power-of-two backing texture dimensions for a payload.
| payloadDimensions | Valid content dimensions in pixels. |
|
nodiscard |
Return the presentation texture identity carried by tile.
| tile | Composited tile whose payload or metadata should be identified. |
|
nodiscard |
Return true when a metadata-only tile can reuse cachedIdentity.
| cachedIdentity | Identity recorded for the currently cached texture. |
| tile | Incoming composited tile metadata. |
|
nodiscard |
Return the approximate byte size of a backend texture payload, assuming RGBA8 storage.
| dimensions | Texture dimensions in pixels. |
|
nodiscard |
Return the max UV that samples only the payload inside a backing texture.
| payloadDimensions | Valid content dimensions in pixels. |
| allocationDimensions | Backing texture allocation dimensions in pixels. |