Skip to main content

khora_agents/overlay_agent/
mod.rs

1// Copyright 2025 eraflo
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//! OverlayAgent — generic engine-side agent for overlay / debug
16//! rendering passes.
17//!
18//! Unlike `RenderAgent` (one strategy selected per frame via GORNA),
19//! lanes registered here run **in parallel** with the main render pass,
20//! after it, with depth-read-only / alpha-blend semantics. Domain
21//! examples:
22//!
23//! - `GizmoLane` — editor / debug line gizmos. Data published on the
24//!   `OutputDeck` by the host application (editor, game tooling).
25//! - `WireframeLane` — wireframe debug viz (opt-in via `WireframeConfig`).
26//!
27//! Domain-agnostic by design: the engine never assumes who pushes the
28//! data, only that the data slot type is well-known. This keeps the
29//! editor crate a pure consumer of engine mechanisms instead of an
30//! engine-internal `EditorAgent` (which would invert the engine /
31//! application dependency).
32
33mod agent;
34
35pub use agent::*;