# Baker Family Complete - Storybook Language Guide
Comprehensive documentation for the Storybook narrative simulation language

# Baker Family Complete

This example demonstrates a complete Storybook project modeling Martha’s bakery and the people around it. It showcases all major language features working together.

## Project Structure

    baker-family/
      schema/
        core_enums.sb       # Enum definitions
        templates.sb        # Reusable templates
        beings.sb           # Species definitions
      world/
        characters/
          martha.sb         # Martha, master baker
          jane.sb           # Jane, pastry specialist
          elena.sb          # Elena, apprentice
          gregory.sb        # Gregory, regular customer
          family.sb         # David, Tommy, Emma
        behaviors/
          bakery_behaviors.sb
        relationships/
          bakery_relationships.sb
        locations/
          bakery_places.sb
        institutions/
          bakery_institutions.sb
        schedules/
          bakery_schedules.sb

## Schema Layer

### Enums

    // schema/core_enums.sb

    enum SkillLevel {
        novice,
        beginner,
        intermediate,
        advanced,
        expert,
        master
    }

    enum Specialty {
        sourdough,
        pastries,
        cakes,
        general,
        bread
    }

    enum Confidence {
        timid,
        uncertain,
        growing,
        steady,
        confident,
        commanding
    }

    enum DayPart {
        early_morning,
        morning,
        midday,
        afternoon,
        evening,
        night
    }

### Species

    // schema/beings.sb

    species Human {
        lifespan: 80

        ---description
        Bipedal mammals with complex language and tool use.
        ---
    }

    species Cat {
        lifespan: 15

        ---description
        Domestic cats often found in bakeries for pest control
        and companionship.
        ---
    }

### Templates

    // schema/templates.sb

    template SkilledWorker {
        skill_level: SkillLevel
        confidence: Confidence
        years_experience: 0..50
        can_work_independently: false
    }

    template Baker {
        include SkilledWorker
        specialty: Specialty
        recipes_mastered: 0..200
        sourdough_starter_health: 0.0..1.0
    }

    template BusinessOwner {
        include SkilledWorker
        revenue_monthly: 0..100000
        employees: 0..20
        years_in_business: 0..50
    }

    template Apprentice {
        include SkilledWorker
        skill_level: novice
        confidence: timid
        mentor: string
        dedication: 0.0..1.0
    }

## Characters

### Martha

    // world/characters/martha.sb

    use schema::core_enums::{SkillLevel, Specialty, Confidence};
    use schema::templates::{Baker, BusinessOwner};
    use schema::beings::Human;

    character Martha: Human from Baker, BusinessOwner {
        uses behaviors: [
            { tree: BakerMorningRoutine },
            { tree: HandleEmergency, when: emergency_detected, priority: critical }
        ]

        age: 34
        specialty: sourdough
        skill_level: master
        confidence: commanding
        recipes_mastered: 85
        years_experience: 22
        sourdough_starter_health: 0.95

        revenue_monthly: 12000
        employees: 3
        years_in_business: 8

        ---backstory
        Martha learned to bake from her grandmother, starting at age twelve.
        By twenty she had won regional competitions. At twenty-six she opened
        her own bakery, which quickly became the most popular in town. Her
        sourdough is legendary -- she maintains a starter that is fifteen
        years old.
        ---
    }

    life_arc MarthaCareerArc {
        ---description
        Tracks Martha's evolution from established baker to community leader.
        ---

        state running_bakery {
            on enter {
                Martha.confidence: commanding
                Martha.skill_level: master
            }
            on employees > 5 -> expanding
        }

        state expanding {
            on enter {
                Martha.revenue_monthly: 20000
            }
            on second_location_opened -> community_leader
        }

        state community_leader {
            on enter {
                Martha.can_teach: true
                Martha.mentors_count: 3
            }

            ---narrative
            Martha's bakery has become a training ground for the next
            generation of bakers. She sits on the guild board and her
            sourdough recipe is studied at culinary schools.
            ---
        }
    }

### Jane

    // world/characters/jane.sb

    use schema::core_enums::{SkillLevel, Specialty, Confidence};
    use schema::templates::Baker;
    use schema::beings::Human;

    character Jane: Human from Baker {
        age: 36
        specialty: pastries
        skill_level: expert
        confidence: confident
        recipes_mastered: 120
        years_experience: 18
        can_work_independently: true

        ---backstory
        Jane trained at a prestigious culinary school before joining
        Martha's bakery as co-owner. Where Martha excels at bread, Jane
        is a pastry artist. Her croissants draw customers from three
        towns over.
        ---

        ---appearance
        A focused woman with flour-dusted apron and steady hands.
        Known for her intricate pastry decorations and precise
        temperature control.
        ---
    }

### Elena

    // world/characters/elena.sb

    use schema::core_enums::{SkillLevel, Confidence};
    use schema::templates::Apprentice;
    use schema::beings::Human;

    character Elena: Human from Apprentice {
        age: 16
        skill_level: novice
        confidence: timid
        mentor: "Martha"
        dedication: 0.9
        natural_talent: 0.8
        recipes_mastered: 2

        ---backstory
        Elena comes from a family of farmers who could never afford to
        buy bread from the bakery. When Martha offered her an apprenticeship,
        she jumped at the chance to learn a trade.
        ---
    }

    life_arc ElenaCareer {
        ---description
        Tracks Elena's progression from nervous apprentice to confident
        master baker. Each state represents a key phase of her career.
        ---

        state early_apprentice {
            on enter {
                Elena.skill_level: novice
                Elena.confidence: timid
            }

            on recipes_mastered > 5 -> growing_apprentice

            ---narrative
            Elena's hands shake as she measures flour. She checks the
            recipe three times before adding each ingredient. Martha
            patiently corrects her technique.
            ---
        }

        state growing_apprentice {
            on enter {
                Elena.skill_level: beginner
                Elena.confidence: uncertain
            }

            on recipes_mastered > 15 -> journeyman

            ---narrative
            The shaking stops. Elena can make basic breads without
            looking at the recipe. She still doubts herself but
            Martha's encouragement is taking root.
            ---
        }

        state journeyman {
            on enter {
                Elena.skill_level: intermediate
                Elena.confidence: growing
                Elena.can_work_independently: true
            }

            on recipes_mastered > 30 -> senior_journeyman

            ---narrative
            Elena runs the morning shift alone while Martha handles
            special orders. Customers start asking for "Elena's rolls."
            She begins experimenting with her own recipes.
            ---
        }

        state senior_journeyman {
            on enter {
                Elena.skill_level: advanced
                Elena.confidence: steady
            }

            on recipes_mastered > 50 -> master

            ---narrative
            Elena develops her signature recipe: rosemary olive bread
            that becomes the bakery's bestseller. She handles difficult
            customers with grace and trains new helpers.
            ---
        }

        state master {
            on enter {
                Elena.skill_level: master
                Elena.confidence: commanding
                Elena.can_teach: true
            }

            ---narrative
            Master Baker Elena. She has earned it. The guild acknowledges
            her mastery, and Martha beams with pride. Elena begins
            mentoring her own apprentice.
            ---
        }
    }

### Gregory

    // world/characters/gregory.sb

    use schema::beings::Human;

    character Gregory: Human {
        age: 68
        occupation: "retired_teacher"
        always_orders: "sourdough_loaf"
        visits_daily: true
        years_as_customer: 15
        knows_everyone: true

        ---backstory
        Gregory has been buying Martha's bread every morning for
        fifteen years. Their brief daily exchanges about the weather
        and local gossip are a comforting routine for both of them.
        ---
    }

## Behaviors

    // world/behaviors/bakery_behaviors.sb

    behavior BakerMorningRoutine {
        ---description
        Martha's morning routine: prepare dough step by step,
        from mixing to shaping to baking.
        ---

        then morning_baking {
            // Start with sourdough
            then prepare_starter {
                CheckStarter
                FeedStarter
                WaitForActivity
            }

            // Mix the dough
            then mix_dough {
                MeasureFlour
                AddWater
                IncorporateStarter
            }

            // Knead and shape
            then shape_loaves {
                KneadDough
                FirstRise
                ShapeLoaves
            }

            // Bake
            then bake {
                PreHeatOven
                LoadLoaves
                MonitorBaking
            }
        }
    }

    behavior CustomerServiceLoop {
        ---description
        The bakery's continuous customer service loop. Uses infinite
        repeat decorator to serve customers throughout the day.
        ---

        repeat {
            then service_cycle {
                // Check for customers
                choose service_mode {
                    then serve_waiting {
                        if(customer_waiting)
                        GreetCustomer
                        TakeOrder
                    }

                    then restock_display {
                        if(display_low)
                        FetchFromKitchen
                        ArrangeOnShelves
                    }
                }

                // Process payment
                CollectPayment
                ThankCustomer

                // Brief pause between customers
                timeout(5s) {
                    CleanCounter
                }

                PrepareForNextCustomer
            }
        }
    }

## Relationships

    // world/relationships/bakery_relationships.sb

    relationship MarthaAndGregory {
        Martha {
            role: shopkeeper
            values_loyalty: 0.9

            ---perspective
            Martha appreciates Gregory's unwavering loyalty. He has
            been buying her sourdough loaf every morning for fifteen
            years. Their brief daily exchanges about the weather and
            local gossip are a comforting routine.
            ---
        }

        Gregory {
            role: regular_customer
            always_orders: "sourdough_loaf"

            ---perspective
            Gregory considers Martha's bakery a cornerstone of his
            daily routine. The bread is excellent, but it is the brief
            human connection that keeps him coming back.
            ---
        }
    }

    relationship MentorApprentice {
        Martha {
            role: mentor
            teaching_style: "patient"
            investment: 0.9

            ---perspective
            Martha sees Elena as the daughter she might have had in
            the trade. She recognizes the same passion she felt at
            that age and pushes Elena harder because she knows the
            talent is there. Every correction comes from love.
            ---
        }

        Elena {
            role: apprentice
            dedication: 0.9
            anxiety: 0.4

            ---perspective
            Elena idolizes Martha's skill but fears disappointing
            her. Every morning she arrives thirty minutes early to
            practice techniques before Martha gets in. She keeps a
            notebook of every correction, reviewing them each night.
            ---
        }

        bond: 0.85
    }

    relationship BakeryPartnership {
        Martha {
            role: co_owner
            specialty: "bread"
            handles_finances: true

            ---perspective
            Martha and Jane complement each other perfectly. Martha
            handles the bread and business side while Jane creates
            the pastries that draw customers in. Together they have
            built something neither could alone.
            ---
        }

        Jane {
            role: co_owner
            specialty: "pastries"
            handles_creativity: true

            ---perspective
            Jane considers Martha the steady foundation of their
            partnership. While Jane experiments and creates, Martha
            ensures the bakery runs like clockwork. Their different
            strengths make the bakery stronger.
            ---
        }

        bond: 0.9
    }

## Locations

    // world/locations/bakery_places.sb

    location MarthasBakery {
        type: "commercial"
        established: "2018"
        square_feet: 1200
        has_kitchen: true
        has_storefront: true
        seating_capacity: 12

        ---description
        A warm, inviting bakery on Main Street. The aroma of fresh
        bread wafts out the door every morning at 4 AM. Exposed brick
        walls, a glass display case, and a view into the kitchen where
        customers can watch the bakers at work.
        ---
    }

    location FarmersMarket {
        type: "outdoor_market"
        operates_on: "saturday"
        stalls: 30
        foot_traffic: "high"

        ---description
        The weekly Saturday market where Martha sells her bread directly
        to the community. Her stall is always the first to sell out.
        ---
    }

    location BakeryKitchen {
        type: "commercial_kitchen"
        ovens: 3
        prep_stations: 4
        walk_in_cooler: true

        ---description
        The heart of the bakery. Three professional ovens line the back
        wall, each at a different temperature for different breads. The
        sourdough starter sits on a shelf near the warmest oven, bubbling
        contentedly in its ceramic crock.
        ---
    }

## Institutions

    // world/institutions/bakery_institutions.sb

    institution BakersGuild {
        type: professional_guild
        members: 45
        founded: "1952"
        meets_monthly: true

        ---description
        The local bakers' guild that sets quality standards, organizes
        competitions, and mentors apprentices. Martha has been a board
        member for three years.
        ---
    }

## Key Takeaways

This example demonstrates:

1. Layered architecture: Schema (types) separated from world (instances)
2. Species + Templates: `Human` species combined with `Baker` and `BusinessOwner` templates
3. Rich behavior trees: Morning routine and customer service with choose, then, and repeat
4. Asymmetric relationships: Martha and Elena see their mentorship differently
5. Life arcs: Elena’s career journey modeled as a state machine
6. Prose everywhere: Every declaration includes narrative context

## Cross-References

- Tutorial - Step-by-step learning
- Characters Reference - Character syntax
- Behavior Trees Reference - Behavior syntax