feat(examples): rewrite baker-family as coherent Competition Week narrative
Rewrote the baker-family example around a unified story: the annual Harvest Baking Competition is Saturday. Martha's sourdough starter Old Maggie is sluggish from a cold snap, Jane is secretly entering the FreeStyle category, Emma's science fair project is "The Chemistry of Fermentation", Henry is judging for the first time and worried about impartiality, and Roland is defending last year's title. The week's schedules (Mon guild meeting → Tue test bakes → Wed sourcing → Thu dough prep → Fri science fair → Sat competition → Sun recovery) are now fully populated with narrative-specific actions. Files split for composability: - behaviors/baker_behaviors.sb → 5 focused files by character/domain - schema/types.sb → 4 files (core, baking, world, social) - schedules/work_schedules.sb → 4 files (one per schedule) - relationships/baker_family_relationships.sb → family + bakery Strong typing: replaced all enumerable string fields with concepts (BakerSpecialty, Occupation, LocationType, InstitutionType, ParentingStyle, Intensity, BakeryDomain, BakingDiscipline, ManagementDomain, CompetitiveAdvantage). Remove new-syntax-demo.sb (superseded by baker-family example).
This commit is contained in:
98
examples/baker-family/behaviors/competition_behaviors.sb
Normal file
98
examples/baker-family/behaviors/competition_behaviors.sb
Normal file
@@ -0,0 +1,98 @@
|
||||
//! Competition week behaviors — the Harvest Baking Competition
|
||||
//!
|
||||
//! These behaviors drive the narrative arc from Monday's guild meeting
|
||||
//! through Saturday's competition and Sunday's recovery.
|
||||
|
||||
// Tuesday: Martha tests her competition sourdough, adjusting for Old Maggie's sluggishness
|
||||
behavior TestCompetitionRecipe {
|
||||
then {
|
||||
check_starter_health
|
||||
choose {
|
||||
adjust_hydration
|
||||
adjust_temperature
|
||||
extend_fermentation
|
||||
}
|
||||
mix_test_batch
|
||||
monitor_rise
|
||||
assess_result
|
||||
}
|
||||
}
|
||||
|
||||
// Thursday: 24-hour competition dough prep — rise begins before Saturday
|
||||
behavior PrepCompetitionDough {
|
||||
then {
|
||||
feed_starter_extra
|
||||
wait_for_activity
|
||||
mix_competition_dough
|
||||
initial_fold
|
||||
bulk_fermentation
|
||||
shape_loaves
|
||||
begin_cold_retard
|
||||
}
|
||||
}
|
||||
|
||||
// Saturday: full competition routine for the baker
|
||||
behavior CompetitionRoutine {
|
||||
then {
|
||||
load_supplies
|
||||
transport_to_venue
|
||||
setup_competition_station
|
||||
final_proof_check
|
||||
bake_under_pressure
|
||||
present_to_judges
|
||||
wait_for_results
|
||||
}
|
||||
}
|
||||
|
||||
// Monday evening: guild meeting — competition rules announced, tension with Roland
|
||||
behavior AttendGuildMeeting {
|
||||
then {
|
||||
travel_to_town_hall
|
||||
review_competition_rules
|
||||
choose {
|
||||
discuss_with_peers
|
||||
argue_with_rival
|
||||
}
|
||||
vote_on_motions
|
||||
travel_home
|
||||
}
|
||||
}
|
||||
|
||||
// Wednesday: source premium flour and imported butter for the competition
|
||||
behavior SourceIngredients {
|
||||
then {
|
||||
visit_flour_mill
|
||||
select_premium_flour
|
||||
choose {
|
||||
source_imported_butter
|
||||
source_local_butter
|
||||
}
|
||||
check_specialty_items
|
||||
transport_ingredients
|
||||
}
|
||||
}
|
||||
|
||||
// Friday evening: parents and Henry attend Emma's science fair
|
||||
behavior AttendScienceFair {
|
||||
then {
|
||||
travel_to_school
|
||||
find_emma_display
|
||||
listen_to_presentation
|
||||
congratulate_emma
|
||||
talk_with_teachers
|
||||
}
|
||||
}
|
||||
|
||||
// Saturday evening: post-competition gathering at the bakery
|
||||
behavior Celebration {
|
||||
then {
|
||||
gather_at_bakery
|
||||
share_stories
|
||||
choose {
|
||||
toast_the_winner
|
||||
console_the_losers
|
||||
}
|
||||
eat_leftover_competition_bread
|
||||
family_time
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user