use super::{Lens, LensContext, LensId, LensOutput};
use forge::budget::estimator::TokenEstimator;

/// Depth: preserve full structure and add hierarchy markers.
pub struct DepthLens;

impl Lens for DepthLens {
    fn id(&self) -> LensId {
        LensId::Depth
    }

    fn apply(&self, input: &str, _ctx: &LensContext) -> LensOutput {
        let tokens_before = TokenEstimator::count_nonblocking(input);
        // For now: passthrough but mark all section headers for context
        let content = input.to_string();
        let tokens_after = TokenEstimator::count_nonblocking(&content);
        LensOutput {
            content,
            tokens_before,
            tokens_after,
            applied: vec!["depth".into()],
        }
    }
}
