khora_agents/asset_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//! Acts as the **[A]gent** for the asset subsystem, fulfilling the role of an ISA.
16//!
17//! This module provides the high-level, tactical logic for asset management in Khora.
18//! It is the public-facing API for requesting assets and querying their state, but
19//! it delegates the actual, heavy-lifting work of loading to the `asset_lane`.
20//!
21//! As an **Intelligent Subsystem Agent (ISA)**, its future responsibilities will include:
22//! - Reporting its own resource usage (e.g., memory, I/O bandwidth) to the DCC.
23//! - Managing multiple loading strategies (e.g., synchronous vs. asynchronous,
24//!   high-quality vs. low-quality) and selecting one based on the budget allocated by GORNA.
25//!
26//! The primary entry point for users is the `AssetServer` resource, which orchestrates
27//! the asset loading lifecycle.
28
29pub mod agent;
30pub mod loader;