//! Type system definitions for the Baker family
//!
//! Demonstrates v0.3.0 type system features:
//! - Species definitions with default fields
//! - Concepts and sub-concepts with dot notation
//! - Concept comparisons with pattern matching

// Species definition - provides default fields for all humans
species Human {
    age: 0
    energy: 0.5
    mood: 0.5
    occupation: "unemployed"
}

// Bakery product types
concept BakedGood

sub_concept BakedGood.Category {
    Bread,
    Pastry,
    Cake
}

sub_concept BakedGood.Quality { freshness: 1.0, taste: 0.8 }

// Skill level concept for bakers
concept SkillLevel

sub_concept SkillLevel.Tier {
    Apprentice,
    Journeyman,
    Master
}

// Concept comparison - compile-time mapping of skill tiers to defaults
concept_comparison SkillLevel {
    Apprentice: { baking_skill: any },
    Journeyman: { baking_skill: any },
    Master: { baking_skill: any }
}
