Skip to content

Dev#251

Merged
eraflo merged 14 commits intomainfrom
dev
Feb 22, 2026
Merged

Dev#251
eraflo merged 14 commits intomainfrom
dev

Conversation

@eraflo
Copy link
Owner

@eraflo eraflo commented Feb 22, 2026

v0.5

eraflo added 14 commits February 7, 2026 19:15
…e-state-representation-metric-aggregation

docs: update DCC doc
Integrates richer GORNA support across control and agent crates. Adds a HeuristicEngine with thermal, battery, phase, frame-time, variance/trend and CPU/GPU pressure checks (including death‑spiral detection) and unit tests; extends Context with a global_budget_multiplier and helper to refresh it. Refactors the GORNA arbitrator to consume analysis reports and prepare for two‑pass negotiation/allocation. Enhances RenderAgent negotiation/apply_budget/report_status: realistic time/VRAM estimates, preserved lanes on strategy changes, device/lane lifecycle handling, per-frame metrics (frame time, draws, triangles), triangle counting, and additional logging. Includes comprehensive integration tests for RenderAgent GORNA flows. Miscellaneous logging and warning improvements throughout.
Introduce a high-level GameWorld facade in khora-sdk for safe ECS and asset access and update the Application API to use &mut GameWorld. Wire a telemetry Sender into RenderAgent to emit GpuReport events and add a builder helper (.with_telemetry_sender) and emit_telemetry() logic; add crossbeam-channel as a dependency and tests verifying telemetry wiring. Improve DCC (DccService) behavior by running an initial GORNA negotiation on first tick, introduce a SharedAgentList alias, add Drop to stop the service, and add an integration test ensuring initial negotiation applies budgets. Misc: add defaults and small simplifications to MetricStore/RingBuffer, expose additional lighting constants and struct fields in renderer/common, fix GPU monitor types, simplify map_err closures across render lanes, and update docs/examples to reflect these changes.
…vice

72 feature implement dcc core service
Add GORNA negotiation, budget application and telemetry plumbing to multiple agents and subsystems. Implement Agent trait hooks and strategy-aware behavior for AssetAgent, PhysicsAgent, and GarbageCollectorAgent (negotiation responses, apply_budget, update/report_status, telemetry emission); enhance RenderAgent to integrate with a RenderSystem, cache device/system from services, prepare/extract frames differently, and expose render/inspection helpers. Refactor mesh preparation and asset loading paths (fix GPU mesh caching/upload), update tests to match new APIs, and add utility improvements in control context and arbitrator (ExecutionPhase helpers, timed mutex lock helper, GornaArbitrator enhancements). Misc: small API/type adjustments and telemetry/metrics wiring across crates.
Add a generic Lane system (khora-core::lane) with LaneContext, Slot, LaneRegistry and domain context keys, and refactor agents to use it. RenderAgent and PhysicsAgent now register/get lanes via LaneRegistry and build LaneContext for initialization and execution; render path was updated to run shadow lanes first and then the selected render lane. Mesh preparation and several renderer API imports were adjusted to new module paths/types; tests and docs were updated to match the new lane-based flow. This centralizes swappable strategies (render/physics/audio/etc.), avoids cyclic dependencies, and enables more flexible, domain-agnostic lane execution.
@eraflo eraflo merged commit a1a1b0a into main Feb 22, 2026
5 checks passed
@github-actions
Copy link

🎉 This PR is included in version 0.5.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant