# Day in the Life This example models a complete day for a baker character, showing how schedules, behaviors, and life arcs work together to create a rich daily simulation. ## The Baker ```storybook use schema::core_enums::{Season, DayOfWeek}; use schema::beings::Human; use schema::templates::SkilledWorker; character Martha: Human from SkilledWorker { age: 42 occupation: "Master Baker" skill_level: 0.95 energy: 1.0 mood: 0.8 uses schedule: MarthaDailySchedule uses behaviors: [ { tree: BakerRoutine, priority: normal }, { tree: HandleEmergency, when: emergency_detected, priority: critical } ] ---backstory Martha has been baking since she was twelve, learning from her grandmother. She now runs the most popular bakery in town and is known for her sourdough bread and apple pastries. --- } ``` ## The Schedule ```storybook schedule MarthaDailySchedule { block wake_up { 04:00 - 04:30 action: routines::morning_wake } block early_baking { 04:30 - 07:00 action: baking::prepare_morning_goods } block open_shop { 07:00 - 07:15 action: shop::open_for_business } block morning_rush { 07:15 - 10:00 action: shop::serve_morning_customers } block midday_baking { 10:00 - 12:00 action: baking::prepare_afternoon_goods } block lunch_break { 12:00 - 13:00 action: social::lunch_with_family } block afternoon_sales { 13:00 - 16:00 action: shop::serve_afternoon_customers } block close_shop { 16:00 - 16:30 action: shop::close_for_day } block evening_prep { 16:30 - 17:30 action: baking::prepare_dough_for_tomorrow } block family_time { 18:00 - 21:00 action: social::family_evening } block sleep { 21:00 - 04:00 action: routines::sleep } // Saturday: Market day recurs MarketDay on day saturday { block market_prep { 03:00 - 05:00 action: baking::market_batch } block market_sales { 06:00 - 14:00 action: market::sell_at_stall } block market_cleanup { 14:00 - 15:00 action: market::pack_up } } // Summer: Extended hours block summer_afternoon { 13:00 - 18:00 action: shop::extended_summer_hours on season summer } } ``` ## Behaviors ### Morning Routine ```storybook behavior BakerMorningRoutine { then morning_sequence { WakeUp WashFace DressInWorkClothes // Check the sourdough starter then check_starter { ExamineStarter if(starter_healthy) { FeedStarter } } WalkToKitchen LightOven } } ``` ### Baking Behavior ```storybook behavior BakerRoutine { choose baking_priority { // Handle special orders first then special_orders { if(has_special_orders) then fill_order { ReviewOrderDetails GatherSpecialIngredients PrepareSpecialItem PackageForCustomer } } // Regular daily baking then daily_bread { then sourdough { MixDough(recipe: "sourdough", quantity: 10) KneadDough(duration: 15m) FirstRise(duration: 2h) ShapLoaves SecondRise(duration: 1h) BakeLoaves(temperature: 230, duration: 35m) } } // Pastries if time permits then pastries { succeed_always { then apple_pastries { PrepareFillingApple RollPastryDough AssemblePastries BakePastries(temperature: 200, duration: 25m) } } } } } ``` ### Customer Service ```storybook behavior ServeCustomer { then service_sequence { GreetCustomer if(customer_is_regular) { RecallPreferences } choose service_type { then take_order { if(customer_knows_what_they_want) AcceptOrder PackageItem } then help_decide { if(not customer_knows_what_they_want) OfferRecommendation ProvidesSample AcceptOrder PackageItem } } CollectPayment ThankCustomer } } ``` ### Emergency Handling ```storybook behavior HandleEmergency { choose emergency_type { then oven_fire { if(oven_overheating) TurnOffOven GrabFireExtinguisher ExtinguishFire AssessDamage } then ingredient_shortage { if(critical_ingredient_missing) CheckBackupSupply choose procurement { SendApprenticeToMarket SubstituteIngredient AdjustMenu } } then equipment_failure { if(equipment_broken) StopProduction AttemptQuickFix choose fallback { UseBackupEquipment CallRepairPerson } } } } ``` ## Life Arc: Career and Energy ```storybook life_arc MarthaEnergyLevel { state rested { on enter { Martha.energy: 1.0 Martha.mood: 0.8 } on energy < 0.5 -> tired } state tired { on enter { Martha.mood: 0.6 } on energy < 0.2 -> exhausted on energy > 0.7 -> rested } state exhausted { on enter { Martha.mood: 0.3 Martha.quality_output: 0.7 } on energy > 0.5 -> tired } } ``` ## Relationships ```storybook relationship MarthaAndApprentice { Martha as mentor self { patience: 0.8 investment: 0.9 } other { sees_potential: 0.85 } Elena as apprentice self { dedication: 0.9 learning_rate: 0.7 } other { respect: 0.95 admiration: 0.8 } bond: 0.85 years_together: 2 } relationship MarthaAndRegularCustomer { Martha as shopkeeper OldManGregory as regular_customer bond: 0.7 years_known: 15 always_orders: "sourdough_loaf" ---dynamics Gregory has been buying Martha's bread every morning for fifteen years. They exchange brief pleasantries about the weather and local gossip. He is her most reliable customer. --- } ``` ## Key Takeaways This example demonstrates: 1. **Schedule-driven daily flow**: Precise time blocks govern Martha's entire day 2. **Seasonal and weekly variations**: Summer hours and Saturday market 3. **Layered behaviors**: Emergency behavior preempts normal routine via priority 4. **Realistic action sequences**: Baking modeled step by step with parameters 5. **Energy management**: Life arc tracks fatigue affecting mood and output quality 6. **Social connections**: Relationships with apprentice and customers add depth ## Cross-References - [Schedules Reference](../reference/14-schedules.md) - Schedule syntax - [Behavior Trees Reference](../reference/11-behavior-trees.md) - Behavior syntax - [Life Arcs Reference](../reference/13-life-arcs.md) - Life arc syntax