Owns the advanced editor's renderer-side orchestration: async rendering, overlay rasterization, composited drag presentation, and selection-bounds cache promotion.
More...
|
|
| RenderCoordinator (std::shared_ptr<::donner::geode::GeodeDevice > geodeDevice=nullptr) |
|
AsyncRenderer & | asyncRenderer () |
|
const AsyncRenderer & | asyncRenderer () const |
|
svg::Renderer & | renderer () |
|
const SelectionBoundsCache & | selectionBoundsCache () const |
|
CompositedPresentation & | compositedPresentation () |
|
const CompositedPresentation & | compositedPresentation () const |
|
std::uint64_t | displayedDocVersion () const |
|
const FrameCostBreakdown & | lastFrameCostBreakdown () const |
| | Latest editor rendering cost counters observed by this coordinator.
|
|
void | beginFrameCostTracking () |
| | Clear the per-frame cost accumulator before a new UI frame starts.
|
| void | addImmediateOverlayDrawCost (double drawMs) |
| | Add immediate presenter-side overlay draw-list time to the current frame counters.
|
| bool | setSourceHoverElements (std::vector< svg::SVGElement > elements) |
| | Replace transient source-hover chrome elements.
|
|
void | resetForLoadedDocument () |
|
void | refreshSelectionBoundsCache (EditorApp &app) |
|
void | promoteSelectionBoundsIfReady () |
|
bool | rasterizeOverlayForCurrentSelection (EditorApp &app, const ViewportState &viewport, GlTextureCache &textures, const std::optional< Box2d > &marqueeRectDoc, std::optional< SelectTool::ActiveDragPreview > representedDragPreview=std::nullopt, std::optional< SelectTool::ActiveTransformBoundsPreview > activeBoundsPreview=std::nullopt, std::optional< SelectionChromeDetail > selectionDetail=std::nullopt, std::optional< SelectTool::ActiveDragPreview > liveDragPreview=std::nullopt) |
| | Capture the editor chrome (path outlines, selection AABBs, marquee) for immediate presentation. marqueeRectDoc is the active marquee rectangle in document space (nullopt when the user isn't marquee-dragging). The snapshot is drawn directly by RenderPanePresenter so selected chrome does not allocate, rasterize, snapshot, or upload an overlay texture.
|
| bool | rasterizeOverlayForPresentation (EditorApp &app, SelectTool &selectTool, const ViewportState &viewport, GlTextureCache &textures, std::optional< SelectTool::ActiveDragPreview > activeDragPreview, std::optional< SelectTool::ActiveDragPreview > representedDragPreview) |
| | Rasterize the current UI-frame overlay immediately before presentation.
|
|
void | pollRenderResult (EditorApp &app, const ViewportState &viewport, GlTextureCache &textures, FrameHistory *frameHistory=nullptr) |
| | Drain the latest async-render result into the editor's UI state. If a frameHistory is supplied, its latest slot is stamped with the backend (worker) ms reported by AsyncRenderer so the frame graph can plot backend time alongside ImGui frame time. nullptr is allowed for callers that don't care about backend timing.
|
|
void | maybeRequestRender (EditorApp &app, SelectTool &selectTool, const ViewportState &viewport, GlTextureCache *textures=nullptr) |
| void | invalidatePresentationAfterDocumentFlush (const AsyncSVGDocument::FlushResult &flushResult) |
| | Record that a document mutation requires a current-version presentation handoff.
|
| Entity | suppressedCompositedLayerEntity (EditorApp &app) |
| | Return the selected layer whose cached pixels should be hidden while editor chrome remains visible.
|
|
bool | selectedElementIsDisplayNone (EditorApp &app) const |
| | Return true when the live selected graphics element is hidden by display:none.
|
|
const std::optional< SelectionChromeSnapshot > & | immediateOverlaySnapshot () const |
| | Latest race-free overlay chrome snapshot for immediate screen-space presentation.
|
Owns the advanced editor's renderer-side orchestration: async rendering, overlay rasterization, composited drag presentation, and selection-bounds cache promotion.