chore: prep v0.3 work

Signed-off-by: Sienna Meridian Satterwhite <sienna@r3t.io>
This commit is contained in:
2026-02-14 13:29:33 +00:00
parent 25d59d6107
commit 4e4e5500b0
29 changed files with 1708 additions and 6212 deletions

View File

@@ -1,336 +0,0 @@
# Alice's Adventures in Wonderland - Storybook Example
A comprehensive demonstration of the Storybook DSL, modeling Lewis Carroll's *Alice's Adventures in Wonderland* with accuracy to the source material and showcasing all advanced language features.
## Overview
This example shows how Storybook enables complex narrative modeling for agent simulation games. It demonstrates:
- **Advanced behavior trees** for complex, context-dependent character actions
- **Life arcs** tracking transformative character journeys
- **Schedules** modeling eternal time loops and recurring events
- **Template composition** with inheritance and strict mode
- **Bidirectional relationships** with asymmetric perspectives
- **Cross-file references** creating an interconnected world model
## Contents
### Schema Layer
**`schema/core_enums.sb`**
- Core value types used throughout: `Size`, `EmotionalState`, `CardSuit`, `CardRank`, `TimeState`, `ManifestationLevel`
- Demonstrates enumeration definitions
**`schema/templates.sb`**
- Base template `WonderlandCreature` for all sentient beings
- Specialized templates with `include`: `SizeChanging`, `MadTeaPartyMember`, `Supernatural`
- **Strict template** `PlayingCard` enforcing concrete values
- Shows vertical inheritance (includes) and horizontal composition (multiple `from` clauses)
**`schema/species.sb`**
- Species definitions: `Human`, `Rabbit`, `Cat`, `Hare`, `Dormouse`, `Caterpillar`, `PlayingCardPerson`
- Rich prose blocks describing characteristics and abilities
### World Layer
#### Characters
**`alice.sb`** - The protagonist
- Inherits from `SizeChanging` template
- **Life arc `AliceJourney`** with states: `falling`, `tiny_alice`, `giant_alice`, `normal_alice_garden`, `enlightened_alice`
- Shows how life arcs track transformative journeys with state-specific field modifications
**`white_rabbit.sb`** - The anxious herald
- **Behavior tree `WhiteRabbit_ConstantlyLate`** using selectors (`?`) and sequences (`>`)
- Demonstrates hierarchical behavior modeling with panic strategies
**`cheshire_cat.sb`** - The enigmatic guide
- **Three behavior trees**:
- `CheshireCat_AppearDisappear` - context-dependent materialization
- `CheshireCat_GradualManifestation` - piece-by-piece appearance (grin first!)
- `CheshireCat_GradualDematerialization` - fading away (grin lingers longest)
- Shows complex multi-step sequences with timing and state transitions
**`mad_tea_party.sb`** - The eternal tea party trio
- Three characters: `MadHatter`, `MarchHare`, `Dormouse`
- **Schedule `MadTeaPartyRotation`** modeling the time loop (always 6 o'clock)
- **Behavior `MadTeaParty_CoordinatedMadness`** showing multi-agent coordination
- Demonstrates repeater decorator (`*`) for infinite loops
**`royal_court.sb`** - The Court of Hearts
- Characters: `QueenOfHearts`, `KingOfHearts`, `CardGardenerTwo`, `CardGardenerFive`, `CardGardenerSeven`
- Inherits from `PlayingCard` strict template - card suit/rank must be concrete
- **Behavior `QueenOfHearts_RagePattern`** - hair-trigger temper response
- **Behavior `KingOfHearts_SecretPardons`** - background mercy system
**`caterpillar.sb`** - The philosophical teacher
- **Behavior `Caterpillar_SocraticMethod`** - interrogative teaching style
- Shows question-answer tree structures
#### Locations
**`wonderland_places.sb`**
- `RabbitHole`, `HallOfDoors`, `Garden`, `MadTeaPartyTable`, `CroquetGround`, `QueensPalace`, `MushroomTop`
- Each location has physical properties, symbolic meaning, and narrative significance
- Demonstrates rich prose blocks for description and analysis
#### Institutions
**`wonderland_institutions.sb`**
- `CourtOfHearts` - tyrannical monarchy with interesting power dynamics
- `MadTeaParty` - eternal social gathering stuck in time
- `WonderlandDreamLogic` - the meta-institution governing reality itself
- Shows how social structures can be modeled with hierarchies and rules
#### Relationships
**`wonderland_relationships.sb`**
- **Bidirectional relationships** with `self` and `other` blocks showing asymmetric perspectives:
- `AliceAndWhiteRabbit` - pursuer/unwitting guide
- `AliceAndCheshireCat` - seeker/amused observer
- `QueenAndKing` - tyrant/secret rebel
- `AliceAndCaterpillar` - frustrated student/Socratic teacher
- Demonstrates how different characters perceive the same relationship differently
#### Behaviors
**`alice_behaviors.sb`** - Alice's strategic behaviors
- `Alice_SizeManagement` - learning to control size through trial and error
- `Alice_NavigateConversation` - dealing with nonsensical logic
- `Alice_EmotionalJourney` - state transitions from curiosity to enlightenment
- `Alice_ProblemSolving` - adapting normal-world logic to Wonderland
## Language Features Demonstrated
### 1. Template Composition
```storybook
template WonderlandCreature {
current_size: Size
emotional_state: EmotionalState
follows_logic: false..true
}
template SizeChanging {
include WonderlandCreature
natural_size: Size
size_changes_today: 0..50
}
character Alice from SizeChanging {
// Inherits all fields from WonderlandCreature and SizeChanging
age: 7
current_size: normal
}
```
### 2. Strict Templates
```storybook
template strict PlayingCard {
suit: CardSuit
rank: CardRank
// Characters using this template MUST provide concrete values
}
character QueenOfHearts from PlayingCard {
suit: hearts // Required: must be concrete enum value
rank: queen // Required: must be concrete enum value
}
```
### 3. Life Arcs
```storybook
life_arc AliceJourney {
state tiny_alice {
on enter {
Alice.current_size: tiny
Alice.size_changes_today: +1
}
}
state giant_alice {
on enter {
Alice.current_size: huge
}
}
}
```
### 4. Schedules
```storybook
schedule MadTeaPartyRotation {
18:00 -> 18:01: TeaRound { }
18:01 -> 18:02: RiddlePhase { }
// ... more phases
18:05 -> 18:00: LoopToBeginning { } // Loops back!
}
```
### 5. Behavior Trees
```storybook
behavior CheshireCat_AppearDisappear {
? { // Selector: try branches until one succeeds
> { // Sequence: all must succeed in order
IsInvisible
DecideToAppear
GradualManifestation
}
> {
IsVisible
DecideToLeave
GradualDematerialization
}
}
}
```
### 6. Repeater Decorator
```storybook
behavior MadTeaParty_CoordinatedMadness {
* { // Repeater: loop forever
? {
> { AskRiddle; ReceiveNoAnswer }
> { RotateSeats; CheckTime }
}
}
}
```
### 7. Bidirectional Relationships
```storybook
relationship QueenAndKing {
QueenOfHearts
KingOfHearts
bond: 0.4
self {
// Queen's perspective
role: dominant_spouse
aware_of_pardons: false
}
other {
// King's perspective
role: secret_moderator
subverts_authority: 1.0
}
}
```
### 8. Rich Prose Blocks
```storybook
character CheshireCat {
---description
A large cat with a permanent, unsettling grin. Possesses the
ability to appear and disappear at will, often leaving only
its grin behind.
---
---philosophy
The Cheshire Cat represents the absurdist nature of Wonderland
itself. His vanishing act defies physical law but seems
perfectly natural in Wonderland's logic.
---
}
```
### 9. Cross-File References
```storybook
// In alice.sb
use schema::core_enums::{Size, EmotionalState};
use schema::templates::SizeChanging;
character Alice from SizeChanging {
current_size: normal // Uses Size enum from core_enums
}
```
### 10. Field Modifications in Life Arcs
```storybook
state enlightened_alice {
on enter {
Alice.emotional_state: brave
Alice.awareness_of_absurdity: 1.0 // Absolute assignment
Alice.size_changes_today: +1 // Increment
}
}
```
## Accuracy to Source Material
This example stays faithful to Carroll's original text:
- **Mad Tea Party**: Time frozen at 6 o'clock, rotating seats, butter in the watch
- **Cheshire Cat**: Grin appearing first/last, cryptic directions, "we're all mad here"
- **Queen of Hearts**: Constant "Off with their heads!", card gardeners, croquet with flamingos
- **Alice's transformations**: Specific size states from the book
- **Caterpillar's advice**: Terse questions, mushroom sides
- **Character dynamics**: White Rabbit's anxiety, Dormouse's drowsiness, King's secret mercy
## Running the Example
```bash
# Validate the entire project
sb validate examples/alice-in-wonderland/
# Query characters
sb query "characters where follows_logic == false"
# Inspect a specific character
sb inspect Alice
# Show all relationships
sb query "relationships where bond > 0.5"
```
## What This Demonstrates
### For Content Authors (Lonni)
- **Rich character modeling**: Personality traits, motivations, relationships
- **Narrative structure**: Life arcs track character journeys
- **World building**: Locations, institutions, social dynamics
- **Prose integration**: Backstories, descriptions, and philosophical notes
### For Developers (Sienna)
- **Complex behavior trees**: Multi-level selectors, sequences, repeaters
- **State management**: Life arcs with field modifications
- **Scheduling systems**: Time loops and recurring events
- **Type safety**: Strict templates enforce constraints
- **Cross-referencing**: Build interconnected world models
### For Agent Simulation
This model could drive an agent-based simulation where:
- Alice's behavior tree decides how to navigate conversations and obstacles
- The Mad Tea Party schedule creates a time-loop environment
- Cheshire Cat's appearance/disappearance behavior creates mystery
- Queen's rage pattern generates conflict
- Relationships determine interaction dynamics
## Extending This Example
Ideas for additions:
- **More chapters**: Mock Turtle, Gryphon, Trial scene
- **Croquet game logic**: Behavior trees for live hedgehog/flamingo equipment
- **Size change mechanics**: Fine-grained mushroom nibbling behavior
- **Dream logic system**: Meta-rules governing Wonderland physics
- **Alice's awakening**: Final life arc state transitioning back to reality
## License
Source material: *Alice's Adventures in Wonderland* by Lewis Carroll (public domain)
Storybook adaptation: MIT License

View File

@@ -1,73 +0,0 @@
//! Species definitions for Wonderland inhabitants
species Human {
lifespan: 70
---description
Visitors from the normal world above. Rare in Wonderland.
Subject to size-changing effects of local flora.
---
}
species Rabbit {
lifespan: 10
---description
Wonderland rabbits often wear waistcoats, carry pocket watches,
and exhibit extreme punctuality anxiety. May be anthropomorphic.
---
}
species Cat {
lifespan: 15
---description
Cheshire variety can vanish at will, leaving only a grin.
Ordinary cats (like Dinah) remain in the world above.
---
}
species Hare {
lifespan: 8
---description
March Hares display heightened madness, especially during
breeding season. Often found at eternal tea parties.
---
}
species Dormouse {
lifespan: 5
---description
Extremely somnolent. Can sleep through tea parties, pinching,
and being used as a cushion. Occasionally recites tales in sleep.
---
}
species Caterpillar {
lifespan: 1
---description
Large, blue, hookah-smoking variety. Philosophically inclined.
Offers cryptic advice about size-changing mushrooms.
---
}
species PlayingCardPerson {
lifespan: 100
---description
Animated playing cards forming the Court of Hearts hierarchy.
Flat, rectangular bodies. Gardeners, soldiers, and royalty.
---
}
species Flamingo {
lifespan: 40
---description
Unwilling participants in croquet as live mallets.
Tendency to look back at player with puzzled expressions.
---
}
species Hedgehog {
lifespan: 6
---description
Pressed into service as croquet balls. Frequently unroll
and wander away mid-game, frustrating players.
---
}

View File

@@ -1,61 +0,0 @@
//! Template definitions for Wonderland entities
//! v0.2.0: Templates now include behavior and schedule references
use schema::core_enums::{Size, EmotionalState};
// Base template for all sentient beings in Wonderland
template WonderlandCreature {
current_size: Size
emotional_state: EmotionalState
speaks_english: true
awareness_of_absurdity: 0.0..1.0
}
// Template for size-changing entities (Alice, mushrooms victims)
template SizeChanging {
include WonderlandCreature
natural_size: Size
min_size: Size
max_size: Size
size_changes_today: 0..50
}
// Template for playing card entities
template PlayingCard strict {
include WonderlandCreature
suit: CardSuit
rank: CardRank
fear_of_queen: 0.8..1.0
follows_logic: false
}
// Template for residents of the Mad Tea Party
template MadTeaPartyMember {
include WonderlandCreature
uses behaviors: EndlessTeaParty, MoveToNextSeat
uses schedule: TeaPartySchedule
stuck_at_teatime: true
riddles_asked: 0..1000
follows_logic: false
current_seat_position: 0..100
}
// Template for royal court members
template CourtMember {
include WonderlandCreature
uses schedule: CourtSchedule
loyalty_to_queen: 0.0..1.0
times_threatened_with_beheading: 0..100
survival_instinct: 0.5..1.0
}
// Template for mysterious/supernatural beings
template Supernatural {
include WonderlandCreature
follows_logic: false
}

View File

@@ -1,22 +0,0 @@
# Alice's Adventures in Wonderland - Storybook Example Project
# A comprehensive demonstration of all Storybook language features
[project]
name = "alice-in-wonderland"
version = "1.0.0"
description = "Complete Alice in Wonderland narrative model showcasing advanced Storybook language features"
author = "Lewis Carroll (adapted)"
[paths]
schema = "schema"
world = "world"
[validation]
# Enable strict validation to catch errors
strict_mode = true
# Warn about unused declarations
warn_unused = true
# Require all cross-references to resolve
require_resolution = true

View File

@@ -1,169 +0,0 @@
//! Behavior trees for Wonderland characters
//!
//! v0.2.0: These are referenced by schedule blocks
// Queen's behaviors
behavior RuleWithTyranny {
repeat {
choose {
demand_impossible_task
shout_off_with_their_heads
criticize_garden_roses
inspect_card_soldiers
}
}
}
behavior CroquetAndExecutions {
then {
set_up_croquet_course
repeat {
choose {
play_croquet_round
order_execution
argue_with_everyone
}
}
}
}
behavior PlayCroquet {
repeat {
then {
grab_flamingo_mallet
aim_at_hedgehog
if(hedgehog_uncurls) {
swing_flamingo
}
argue_about_rules
}
}
}
// Mad Tea Party behaviors
behavior EndlessTeaParty {
repeat {
then {
pour_tea
ask_riddle
change_subject_nonsensically
if(no_clean_cups) {
move_to_next_seat
}
}
}
}
behavior MoveToNextSeat {
then {
stand_up
move_one_place_on
sit_down
continue_conversation_mid_sentence
}
}
// White Rabbit behaviors
behavior AlwaysLate {
repeat {
then {
check_pocket_watch
gasp_in_horror
run_frantically
drop_gloves
mutter_about_duchess
}
}
}
behavior CheckPocketWatch {
then {
pull_out_watch
squint_at_time
shake_watch
hold_to_ear
sigh_dramatically
}
}
// Caterpillar behaviors
behavior PhilosophizeOnMushroom {
repeat {
then {
smoke_hookah
if(someone_approaches) {
ask_who_are_you
}
make_cryptic_statement
look_contemptuous
}
}
}
// Cheshire Cat behaviors
behavior AppearAtRandom {
repeat {
choose {
fade_in_slowly
appear_in_tree
materialize_grin_first
then {
speak_enigmatically
vanish_gradually
}
}
}
}
behavior LeaveOnlyGrin {
then {
begin_fading
fade_body
fade_head
leave_grin_floating
eventually_fade_grin
}
}
// Court behaviors
behavior CourtDuties {
then {
attend_queen
avoid_execution
paint_roses_red
march_in_formation
}
}
// Alice's behaviors
behavior ExploreWonderland {
repeat {
choose {
then {
encounter_strange_character
ask_logical_question
receive_illogical_answer
be_confused
}
then {
find_food_or_drink
if(risky) {
eat_it_anyway
}
change_size_unexpectedly
}
try_to_recite_poetry_incorrectly
}
}
}
behavior TryToGetHome {
repeat {
then {
ask_for_directions
receive_confusing_directions
get_more_lost
sigh_about_missing_home
}
}
}

View File

@@ -1,115 +0,0 @@
//! Alice: The protagonist navigating Wonderland's absurdities
//! v0.2.0: Now includes behavior references for her exploration patterns
use schema::core_enums::{Size, EmotionalState};
use schema::templates::SizeChanging;
use schema::beings::Human;
character Alice: Human from SizeChanging {
uses behaviors: [
{ tree: ExploreWonderland },
{ tree: TryToGetHome }
]
// Core identity
age: 7
natural_size: normal
current_size: normal
min_size: tiny
max_size: huge
size_changes_today: 12
// Personality traits
emotional_state: curious
follows_logic: true
awareness_of_absurdity: 0.9
// Wonderland-specific state
knows_multiplication: false // Gets confused underground
can_recite_poetry_correctly: false // Always gets verses wrong
---backstory
A curious young girl who followed a White Rabbit down a hole and
found herself in a world where logic fails, size is mutable, and
everyone speaks in riddles and contradictions.
She tries to maintain her composure and Victorian manners even as
she shrinks to inches, grows to fill rooms, and encounters
impossible characters hosting impossible tea parties.
---
}
// Alice's transformative journey through Wonderland
life_arc AliceJourney {
---description
Tracks Alice's physical and emotional transformations as she
navigates Wonderland's surreal challenges. Each state represents
a key phase of her adventure.
---
state falling {
on enter {
Alice.current_size: normal
Alice.emotional_state: curious
}
---narrative
Tumbling down the rabbit hole, Alice has time to wonder about
geography, Dinah the cat, and whether she'll fall through to
the Antipodes. The fall seems endless.
---
}
state tiny_alice {
on enter {
Alice.current_size: tiny
Alice.emotional_state: frightened
Alice.size_changes_today: 13
}
---narrative
Only three inches tall, Alice can fit through the tiny door to
the garden but cannot reach the key on the glass table. She
finds herself crying a pool of tears.
---
}
state giant_alice {
on enter {
Alice.current_size: huge
Alice.emotional_state: confused
Alice.size_changes_today: 13
}
---narrative
Grown so large her head hits the ceiling, Alice floods the hall
with her tears. The White Rabbit mistakes her giant arm for a
monster and attempts to burn the house down.
---
}
state normal_alice_garden {
on enter {
Alice.current_size: normal
Alice.emotional_state: brave
}
---narrative
Finally the right size, Alice enters the beautiful garden and
encounters the Queen's croquet ground, where flamingos serve
as mallets and hedgehogs as balls.
---
}
state enlightened_alice {
on enter {
Alice.emotional_state: brave
Alice.awareness_of_absurdity: 1.0
}
---narrative
Having traversed the madness of Wonderland, Alice realizes
"you're nothing but a pack of cards!" Her awareness of the
absurdity grants her power over the dream.
---
}
}

View File

@@ -1,155 +0,0 @@
//! The Caterpillar: Philosophical advisor and size-change expert
use schema::core_enums::{Size, EmotionalState};
use schema::templates::Supernatural;
use schema::beings::Caterpillar;
character TheCaterpillar: Caterpillar from Supernatural {
// Physical traits
current_size: normal // Large for a caterpillar
color: blue
smoking_hookah: true
// Personality
emotional_state: melancholy
follows_logic: false
awareness_of_absurdity: 1.0
// Supernatural/philosophical nature
can_disappear: false
defies_physics: true // A smoking caterpillar defies biology
offers_cryptic_advice: true
// Communication style
speaks_in_short_questions: true
makes_alice_explain_herself: true
patient_with_confusion: false
// Size-change knowledge
knows_mushroom_properties: true
understanding_of_transformation: 1.0
---description
A large blue caterpillar sitting atop a mushroom, smoking
a hookah. Speaks in short, terse sentences, usually questions.
Forces Alice to confront her identity crisis through Socratic
method.
Knows which side of the mushroom makes you taller, which side
makes you shorter. This knowledge is crucial for Alice's ability
to control her size changes.
---
---philosophical_role
The Caterpillar represents transformation and the difficulty
of maintaining identity through change. He asks "Who are YOU?"
when Alice herself doesn't know anymore.
His own impending transformation (chrysalis → butterfly) mirrors
Alice's transformation through Wonderland. Both are changing,
both struggle with "who am I?"
---
}
behavior Caterpillar_SocraticMethod {
---description
The Caterpillar's interrogative conversation style. He asks
questions, contradicts answers, and forces self-examination.
---
then interrogation_sequence {
// Initial confrontation
then opening_question {
RemoveHookahFromMouth
StareInSilence
AskWhoAreYou
}
// Alice's confused response
then contradiction_cycle {
AliceExplainsShesChanged
Caterpillar_StatesDisagreement
AliceExplainsMore
Caterpillar_Contradicts
}
// Philosophical exchange
choose debate_topic {
// On change and identity
then identity_crisis {
AliceMentionsDifferentSizes
Caterpillar_DismissesComplaint
AliceSuggestsFutureChange
Caterpillar_ShowsIndifference
}
// On memory and self
then memory_test {
AskWhatAliceCantRemember
AliceRecitesPoem
RecitationIsWrong
CriticizeStrictly
}
}
// Eventual aid (after sufficient confusion)
then reluctant_guidance {
AskWhatSizeAliceWants
AliceExplainsPreference
OfferCrypticAdvice
NotSpecifyWhichSide
LeaveAliceToExperiment
}
// Transformation and departure
then exit {
CrawlDownMushroom
Vanish
}
}
}
behavior Caterpillar_MushroomAdvice {
---description
The Caterpillar's guidance about the size-changing mushroom.
Deliberately vague to force Alice to experiment and learn.
---
then cryptic_instruction {
// Verify Alice's distress about size
then assess_problem {
ObserveAliceHeight
AskIfContentNow
AliceExplainsDesireToBeNormal
}
// Offer cryptic instruction
then vague_direction {
Point AtMushroom
Say
PauseForEffect
Add
}
// Respond to clarification requests
choose handle_confusion {
then refuse_clarification {
AliceAsksWhichSide
Caterpillar_StatesObvious
RefuseToElaborate
}
then already_departed {
AliceLooksAtRoundMushroom
RealizesAmbiguity
Caterpillar_AlreadyGone
}
}
// Let Alice figure it out
then mysterious_exit {
CrawlAway
BeginTransformation
LeaveAliceWithPuzzle
}
}
}

View File

@@ -1,203 +0,0 @@
//! Cheshire Cat: The enigmatic guide with a permanent grin
use schema::core_enums::{Size, EmotionalState, ManifestationLevel};
use schema::templates::Supernatural;
use schema::beings::Cat;
character CheshireCat: Cat from Supernatural {
// Physical state
current_size: normal
manifestation: fully_visible
grin_visible: true
// Personality
emotional_state: amused
follows_logic: false
awareness_of_absurdity: 1.0
// Supernatural abilities
can_disappear: true
defies_physics: true
offers_cryptic_advice: true
// Cat traits
purrs: true
has_claws: true
lands_on_feet: true // Even when vanishing
---description
A large cat with a permanent, unsettling grin. Possesses the ability
to appear and disappear at will, often leaving only its grin behind.
Speaks in riddles and offers directions that confuse more than clarify.
Known for philosophical observations like "We're all mad here" and
"I'm not crazy, my reality is just different than yours."
---
---philosophy
The Cheshire Cat represents the absurdist nature of Wonderland itself.
His ability to vanish piece by piece (usually starting with the tail
and ending with the grin) defies physical law but seems perfectly
natural in Wonderland's logic.
He tells Alice that everyone in Wonderland is mad, including himself
and her. This is not a judgment but an observation: madness is the
natural state where logic has no power.
---
}
behavior CheshireCat_AppearDisappear {
---description
Complex behavior modeling the Cheshire Cat's gradual materialization
and dematerialization. Uses decorators to add timing and conditions.
---
// Root selector: decide action based on current state
choose state_dependent_action {
// If invisible, consider appearing
then appear_from_nothing {
IsInvisible
DecideToAppear
GradualManifestation
}
// If visible, might give advice or disappear
choose visible_options {
// Give cryptic advice
then confuse_alice {
IsFullyVisible
ObserveAliceConfusion
GrinWider
OfferUnhelpfulDirections
}
// Begin disappearing
then fade_away {
IsFullyVisible
DecideToLeave
GradualDematerialization
}
}
// If partial, continue transition
then continue_manifestation {
IsPartiallyManifest
ContinueTransition
}
}
}
behavior CheshireCat_GradualManifestation {
---description
Models the piece-by-piece appearance of the Cheshire Cat.
Always ends with the grin appearing last (or first).
---
then materialize_piece_by_piece {
// Start with grin (the signature move)
then grin_first {
SetManifestationLevelPartialGrin
WaitTwoSeconds
AliceNoticesGrin
}
// Eyes appear
then add_eyes {
AddEyes
SetManifestationLevelPartialBody
WaitOneAndHalfSeconds
}
// Head materializes around grin
then form_head {
AddHead
WaitOneSecond
}
// Full body appears
then complete_body {
AddBody
AddTail
SetManifestationLevelFullyVisible
GreetAlice
}
}
}
behavior CheshireCat_GradualDematerialization {
---description
Models the piece-by-piece disappearance. The grin lingers
"quite some time after the rest of it had gone."
---
then vanish_piece_by_piece {
// Tail vanishes first
then tail_first {
FadeTail
WaitOneSecond
}
// Body fades
then fade_body {
FadeBody
SetManifestationLevelPartialBody
WaitOneAndHalfSeconds
}
// Head disappears, leaving grin
then leave_grin_behind {
FadeHead
LeaveEyes
SetManifestationLevelPartialGrin
WaitTwoSeconds
AliceRemarksOnGrinWithoutCat
}
// Finally, grin vanishes
then grin_last {
FadeGrin
SetManifestationLevelInvisible
}
}
}
behavior CheshireCat_OfferAdvice {
---description
The Cat's advice-giving behavior: cryptic, circular, and often
more confusing than helpful.
---
choose cryptic_response {
// If asked for directions
then unhelpful_directions {
AliceAsksWhichWay
choose either_way_works {
then point_left {
PointLeft
SayDirections
}
then point_right {
PointRight
SayDirections
}
}
AddPhilosophically
GrinKnowingly
}
// If asked about the game
then mysterious_answer {
AliceAsksAboutCroquet
Say
WaitForResponse
VanishGradually
}
// General philosophical musing
then unsolicited_wisdom {
ObserveAlicesSituation
OfferUnsolicitedWisdom
VanishBeforeExplanation
}
}
}

View File

@@ -1,287 +0,0 @@
//! The Mad Tea Party trio: stuck in eternal teatime
use schema::core_enums::{Size, EmotionalState, TimeState};
use schema::templates::MadTeaPartyMember;
use schema::beings::{Human, Hare, Dormouse};
character MadHatter: Human from MadTeaPartyMember {
// Physical traits
current_size: normal
wears_top_hat: true
hat_size_label: "10/6" // Price tag still attached
// Personality
emotional_state: confused
follows_logic: false
awareness_of_absurdity: 0.1 // Unaware of his own madness
// Tea party state
stuck_at_teatime: true
current_seat_position: 1
riddles_asked: 847
unanswerable_riddles: 847 // All of them
// Time relationship
quarreled_with_time: true
murdered_time: true // According to Time
time_frozen_at: 18:00 // 6 o'clock, always
---backstory
Once sang at a concert for the Queen of Hearts. Accused of
"murdering the time" for his poor performance of "Twinkle,
twinkle, little bat." As punishment, Time refuses to move
for him - it's always six o'clock, always tea-time.
Now stuck rotating around a table with the March Hare and
Dormouse, moving to the next seat as dishes get dirty,
asking riddles with no answers.
---
}
character MarchHare: Hare from MadTeaPartyMember {
// Physical traits
current_size: normal
whiskers_twitching: true
// Personality
emotional_state: amused
follows_logic: false
awareness_of_absurdity: 0.05
// Tea party state
stuck_at_teatime: true
current_seat_position: 2
riddles_asked: 723
// March madness (breeding season)
madness_level: 1.0 // It's always March for him too
offers_nonexistent_wine: true
---backstory
Partner in madness with the Hatter. The March Hare embodies
the saying "mad as a March hare" - the wild behavior of
hares during breeding season.
Delights in contradiction: offering wine when there's only
tea, claiming things are "the same" when they're opposite,
dipping watches in tea to fix them with "the best butter."
---
}
character TheDormouse: Dormouse from MadTeaPartyMember {
// Physical traits
current_size: tiny
currently_sleeping: true
// Personality
emotional_state: melancholy
follows_logic: true // When awake, which is rare
awareness_of_absurdity: 0.6
// Tea party state
stuck_at_teatime: true
current_seat_position: 0 // Between Hatter and March Hare
riddles_asked: 3
// Sleep patterns
sleep_cycles_per_hour: 12
used_as_cushion: true
pinched_to_wake: 15..100 // Times per tea party
---backstory
A chronically sleepy dormouse who serves as a cushion
between the Hatter and March Hare. They rest their elbows
on him and talk over his head.
Occasionally rouses to tell meandering stories about three
sisters living in a treacle well, drawing all manner of
things beginning with M - mousetraps, the moon, memory,
and muchness.
---
---notable_quote
"I breathe when I sleep is the same thing as I sleep when
I breathe!" - said in his sleep, demonstrating the circular
logic of the tea party even while unconscious.
---
}
// The eternal tea party schedule - always 6 o'clock
schedule MadTeaPartyRotation {
---description
Models the endless, circular nature of the Mad Tea Party.
Because time is frozen at 6 o'clock (tea-time), they never
wash dishes - instead they rotate around the table as each
seat's dishes get dirty.
---
18:00 -> 18:01: TeaRound {
---narrative
Begin a new rotation. All participants have tea, ask
riddles, and engage in nonsensical conversation.
The Dormouse starts awake, attempts to contribute,
then falls asleep again mid-sentence.
---
}
18:01 -> 18:02: RiddlePhase {
---narrative
The Hatter asks "Why is a raven like a writing-desk?"
Alice attempts to solve it. The Hatter admits he doesn't
know the answer. No one knows the answer. There is no
answer. This is the point.
---
}
18:02 -> 18:03: ContradictionPhase {
---narrative
March Hare contradicts Alice: "You should say what you mean."
Alice: "I do!"
Hatter: "Not the same thing a bit! 'I see what I eat' vs
'I eat what I see'!"
The logic spirals into beautiful nonsense.
---
}
18:03 -> 18:04: DormouseStory {
---narrative
They pinch the Dormouse awake. He tells a drowsy story
about three sisters living in a treacle-well, drawing
treacle, drawing things that begin with M.
The story makes no sense but continues anyway.
---
}
18:04 -> 18:05: RotateSeats {
---narrative
"Move down!" The dirty dishes pile up. Everyone shifts
to the next seat clockwise around the table.
This is their solution to never washing dishes: infinite
table, infinite seats, infinite tea-time.
---
}
18:05 -> 18:06: LoopToBeginning {
---narrative
Time hasn't moved. It's still 6 o'clock. It's always
6 o'clock. The party begins again, identical to the last,
identical to the next.
The Dormouse is asleep. The Hatter checks his broken watch.
The March Hare offers wine that doesn't exist.
Forever.
---
}
}
behavior MadTeaParty_CoordinatedMadness {
---description
Models the three-way coordination of the Mad Tea Party members.
They interrupt each other, build on each other's nonsense,
and create a cascade of illogic.
---
then setup_and_loop {
// Initialization: Set up eternal tea time
then initialize {
SetTimeStateFrozen
SetCurrentTimeToSix
VerifyTimeStillSix
}
// Main party loop (runs forever)
repeat {
then {
// Selector: Choose a mad activity
choose mad_activity {
// Riddle sequence
then riddles {
MadHatter_AskRiddle
AliceAttemptsSolution
MadHatter_AdmitsNoAnswer
MarchHare_ChangesSubject
}
// Contradition game
then contradictions {
AliceMakesStatement
MarchHare_ContradictLogic
MadHatter_BuildsOnContradiction
Dormouse_MuttersInSleep
}
// Story time
then story_time {
PinchDormouse
Dormouse_WakesGroggily
Dormouse_BeginsMeanderingStory
Dormouse_FallsAsleepMidWord
}
// Butter the watch
then butter_watch {
MadHatter_ChecksBrokenWatch
MarchHare_OffersButterAsRepair
DipWatchInTea
ExamineWatchHopefully
DeclareItStillBroken
}
// Seat rotation
then seat_rotation {
DeclareNoRoom
ShiftSeatsClockwise
IncrementSeatPositions
}
}
// Always end by verifying time hasn't moved
then verify_time {
CheckTime
ConfirmStillSixOClock
SighPhilosophically
}
}
}
}
}
behavior Dormouse_SleepCycle {
---description
Models the Dormouse's constant oscillation between sleep
and brief, drowsy wakefulness. Uses a repeater decorator.
---
repeat {
then {
then sleep_phase {
FallAsleep
BeUsedAsCushion
WaitForPinch
}
then wake_phase {
WakeWithStart
MutterConfusedly
choose response {
then tell_story {
BeginStory
DescribeTheirNames
ExplainTreacleWell
FallAsleepMidSentence
}
then mutter {
MakeCircularStatement
CloseEyesAgain
}
}
}
}
}
}

View File

@@ -1,318 +0,0 @@
//! The Royal Court of Hearts: tyrannical hierarchy
use schema::core_enums::{Size, EmotionalState, CardSuit, CardRank};
use schema::templates::{PlayingCard, CourtMember};
use schema::beings::PlayingCardPerson;
character QueenOfHearts: PlayingCardPerson from PlayingCard, CourtMember {
// Card identity
suit: hearts
rank: queen
current_size: normal
fear_of_queen: 0.0 // She IS the Queen
// Personality
emotional_state: angry
follows_logic: false
awareness_of_absurdity: 0.0
// Royal traits
loyalty_to_queen: 1.0 // To herself
times_threatened_with_beheading: 0 // She's the one doing the threatening
survival_instinct: 0.1 // Reckless with her own safety
// Tyrannical nature
temper: 1.0
mercy: 0.0
subjects_beheaded_today: 47 // So far today
off_with_their_heads_count: 347 // Total for today
// Game preferences
cheats_at_croquet: true
patience_for_rules: 0.0
---description
The terrifying matriarch of Wonderland's Court of Hearts. Quick
to rage, quicker to order executions. Her signature phrase
"Off with their heads!" rings out constantly across the croquet
grounds and palace halls.
Plays croquet with live flamingos and hedgehogs, cheats brazenly,
and flies into a fury when contradicted or when anyone wins.
---
---psychological_profile
The Queen represents arbitrary authority and irrational rage.
She sees slights everywhere, interprets everything as disrespect,
and her solution to all problems is immediate execution.
Notably, while she orders constant beheadings, the King quietly
pardons everyone afterward. The Queen never notices this
undermining of her authority.
---
}
character KingOfHearts: PlayingCardPerson from PlayingCard, CourtMember {
// Card identity
suit: hearts
rank: king
current_size: small // Shorter than the Queen
fear_of_queen: 0.95 // Terrified but hides it well
// Personality
emotional_state: frightened
follows_logic: true
awareness_of_absurdity: 0.7
// Royal traits
loyalty_to_queen: 1.0 // Out of fear
times_threatened_with_beheading: 156 // Even kings aren't safe
survival_instinct: 1.0
// Peacemaking nature
mercy: 1.0
secretly_pardons_everyone: true
attempts_to_calm_queen: true
---description
The meek and mild King of Hearts, thoroughly dominated by
his wife. He attempts to moderate her rage with whispered
pleas like "Consider, my dear: she is only a child!"
Serves as judge at the trial, but his authority is purely
nominal. Secretly pardons all the Queen's execution orders,
which is how anyone survives in Wonderland.
---
}
character CardGardenerTwo: PlayingCardPerson from PlayingCard {
suit: spades
rank: two
current_size: normal
emotional_state: frightened
fear_of_queen: 1.0
follows_logic: true
awareness_of_absurdity: 0.8
// Gardener traits
currently_painting_roses: true
roses_painted_white_to_red: 247 // About halfway done
mistakes_admitted: 1 // The white rose tree
---description
One of three card gardeners (Two, Five, Seven) caught painting
white roses red. They planted a white rose tree by mistake
when the Queen wanted red. Now desperately painting before
she arrives, knowing the penalty is beheading.
---
}
character CardGardenerFive: PlayingCardPerson from PlayingCard {
suit: spades
rank: five
current_size: normal
emotional_state: angry
fear_of_queen: 1.0
follows_logic: true
awareness_of_absurdity: 0.8
currently_painting_roses: true
quick_to_blame_others: true
splashed_by_seven: true
---description
The irritable middle gardener who gets splashed with paint
and immediately blames Seven. More concerned with assigning
fault than finishing the job before the Queen arrives.
---
}
character CardGardenerSeven: PlayingCardPerson from PlayingCard {
suit: spades
rank: seven
current_size: normal
emotional_state: angry
fear_of_queen: 1.0
follows_logic: true
awareness_of_absurdity: 0.8
currently_painting_roses: true
accused_of_bringing_tulip_roots: true
elbow_jogged_five: true
---description
The gardener blamed for both jogging Five's elbow and for
bringing the cook tulip-roots instead of onions. Accused
of all manner of things, deserves beheading according to
the Queen.
---
}
behavior QueenOfHearts_RagePattern {
---description
Models the Queen's hair-trigger temper and constant execution
orders. Any perceived slight triggers the same response.
Uses a selector to try different rage escalations, all ending
in "Off with their heads!"
---
// Repeats forever - the Queen never runs out of rage
repeat {
then rage_cycle {
// Wait for any stimulus
WaitForInteraction
// Selector: Interpret stimulus as offense
choose perceived_offense {
// Minor perceived slight
then minor_slight {
DetectMinorIrregularity
TurnCrimson
Glare
Scream
StompFoot
}
// Someone wins at croquet
then croquet_outrage {
ObserveSomeoneScoring
DeclareCheating
Rage
OrderExecution
}
// Anyone speaks back
then contradiction_fury {
HearContradiction
TurnPurpleWithFury
Shriek
TurnToKing
DemandAgreement
}
// Painted roses discovered
then painting_discovery {
NoticePaintBrushes
DemandExplanation
InterruptExplanation
OrderImmediateBeheading
}
// Default: random rage
then irrational_anger {
FeelIrrationalAnger
LookForTarget
FindTarget
ScreamOffWithTheirHeads
}
}
// King attempts to moderate
choose king_intervention {
then whispered_plea {
King_WhispersPleas
Queen_IgnoresEntirely
}
then reminder_backfires {
King_RemindsOfMercy
Queen_GlaresAtKing
ConsiderBeheadingKingToo
}
}
// Execution order given (but secretly pardoned later)
then execution_ordered {
IncrementBeheadingCount
SoldiersLookUncertain
VictimPleadsOrFlees
}
}
}
}
behavior CardGardeners_DesperatePainting {
---description
Three gardeners frantically painting white roses red before
the Queen discovers their mistake. Models coordinated panic.
---
then desperate_work {
// Initial panic
then assessment {
CheckQueensPosition
EstimateTimeRemaining
PaintFaster
}
// Coordination breaks down under stress - repeat until Queen arrives
repeat {
choose panic_actions {
// Blame game
then argument {
Five_GetsSplashed
Five_BlameSeven
Seven_DefendsHimself
Two_AttemptsMediation
AllArgumentInterrupted
}
// Desperate painting
then frantic_painting {
Two_PaintsRose
Five_PaintsRose
Seven_PaintsRose
}
// Discovery and panic
then discovery {
HearQueensProcession
Five_Shouts
AllThrowThemselvesFlat
AwaitFate
}
}
}
}
}
behavior KingOfHearts_SecretPardons {
---description
The King's quiet subversion of the Queen's execution orders.
Runs in background after each of her rage episodes.
---
// Repeats forever - the King never stops being merciful
repeat {
then mercy_cycle {
// Wait for Queen's execution order
WaitForOffWithTheirHeads
// Let some time pass
WaitThirtySeconds
// Secretly pardon
choose pardon_method {
then whispered_pardon {
QueenIsDistracted
QuietlyApproachSoldiers
WhisperPardon
SoldiersNodRelief
VictimQuietlyEscapes
}
then written_pardon {
WritePardonOrder
SlipItToKnave
KnaveDeliversMercy
EveryonePretendExecutionHappened
}
}
// This is how anyone survives in Wonderland
DecrementActualBeheadingCount
}
}
}

View File

@@ -1,75 +0,0 @@
//! White Rabbit: The anxious herald of Wonderland
use schema::core_enums::{Size, EmotionalState};
use schema::templates::{WonderlandCreature, CourtMember};
use schema::beings::Rabbit;
character WhiteRabbit: Rabbit from WonderlandCreature, CourtMember {
// Physical traits
current_size: small
wears_waistcoat: true
has_pocket_watch: true
// Personality
emotional_state: frightened
follows_logic: true
awareness_of_absurdity: 0.3
// Court relations
loyalty_to_queen: 0.95
times_threatened_with_beheading: 47
survival_instinct: 1.0
// Time obsession
minutes_late: 2..1000 // Always perceives himself as late
watch_checks_per_hour: 30
---appearance
A white rabbit with pink eyes, dressed in a waistcoat with a
watch-pocket. Constantly glances at his pocket watch while
muttering "Oh dear! Oh dear! I shall be too late!"
---
}
behavior WhiteRabbit_ConstantlyLate {
---description
Models the White Rabbit's perpetual anxiety about time and
his duties to the Queen. Uses a selector to try multiple
panic responses.
---
// Top-level selector: try different panic strategies
choose panic_response {
// Sequence: Check time, panic, flee
then check_time {
CheckPocketWatch
RealizeHowLate
MutterAnxiously
ScurryToDestination
}
// Sequence: Encounter obstacle, panic more
then obstacle_panic {
EncounterObstacle
DropGloves
DropFan
PanicFurther
ReverseDirection
}
// Sequence: See Queen, extreme panic
then queen_panic {
SpotQueen
FlattenEarsInFear
TremblingBow
AwaitCommands
}
// Fallback: Just keep running
then default_panic {
CheckWatch
RunInCircles
CheckWatchAgain
}
}
}

View File

@@ -1,169 +0,0 @@
use schema::core_enums::{
GovernmentType, GovernmentStyle, HierarchyStyle,
Temperament, Power, JudicialPresumption, Sentence,
GatheringType, Purpose, SeatRotation, Enforcement
};
institution CourtOfHearts {
type: monarchy
government_style: absolute_tyranny
hierarchy: rigid
rule_of_law: false
// Leadership
monarch: QueenOfHearts
consort: KingOfHearts
monarch_temperament: volatile
actual_power: queen_only
// Court composition
soldiers: 10 // Clubs
courtiers: 10 // Diamonds
royal_children: 10 // Hearts
gardeners: 3 // Spades
executioner: 1 // Rarely needed, thanks to King's pardons
// Judicial system
trial_procedure: "sentence first, verdict afterwards"
presumption: "guilt"
most_common_sentence: "beheading"
actual_executions: 0 // King pardons everyone
// Cultural norms
bowing_required: true
contradiction_forbidden: true
winning_at_games_forbidden: true // Only Queen may win
---description
The tyrannical monarchy ruling Wonderland. Led by the Queen
of Hearts, whose primary form of governance is shouting
"Off with their heads!" at any perceived slight.
The King serves as a moderating force, quietly pardoning those
the Queen condemns. This creates a strange equilibrium: the Queen
maintains authority through terror, but no one actually dies.
---
---power_structure
Nominal Structure:
Queen (absolute power)
├─ King (theoretical co-ruler)
├─ Knave (herald, blamed for tart theft)
├─ Soldiers (enforcers)
├─ Courtiers (advisors, sycophants)
└─ Gardeners (groundskeepers)
Actual Power Flow:
Queen (rage and threats)
└─ King (secret pardons, actual mercy)
The entire institution runs on the contradiction between
apparent severity and actual leniency.
---
}
institution MadTeaParty {
type: eternal_social_gathering
purpose: tea_consumption
stuck_in_time: true
time_frozen_at: 18:00
// Members
permanent_members: 3
temporary_visitors: 0..5 // Like Alice
member_sanity: 0.0
// Rules (such as they are)
logic_required: false
personal_remarks: encouraged
riddles_must_have_answers: false
changing_seats_mandatory: true
wine_offering_despite_absence: true
// Temporal properties
can_wash_dishes: false // No time between teas
solution_to_dirty_dishes: rotation
---description
An eternal tea party hosted by the Mad Hatter and March Hare,
with the Dormouse as perpetual cushion. Stuck in a time loop
at 6 o'clock because the Hatter offended Time itself.
The party follows the logic of madness: riddles have no answers,
wine is offered but doesn't exist, personal remarks are standard,
and when dishes get dirty, they simply move to the next seat
around the infinite table.
---
---social_dynamics
The Hatter and March Hare function as a unit of coordinated
madness, building on each other's nonsense. They speak in
contradictions and circular arguments.
The Dormouse serves both as furniture (cushion) and occasional
entertainment (drowsy stories). He's simultaneously part of
the institution and subjected to it (pinched, used as pillow,
tea poured on his nose).
Visitors like Alice are immediately drawn into the madness,
forced to participate in unanswerable riddles and illogical
debates. Escape is possible only by declaring "I'll never come
here again! It's the stupidest tea-party I ever was at!"
---
}
institution WonderlandDreamLogic {
type: fundamental_reality_framework
governs: "all of Wonderland"
consistency: none
predictability: zero
// Physical laws
gravity: negotiable
size: mutable
time: optional
causality: reversed // Effect before cause is common
// Social laws
hierarchy: based_on_volume // Loudest voice wins
authority: arbitrary
punishment: threatened_constantly_executed_never
madness: mandatory
// Linguistic laws
words_mean: "what I choose them to mean"
statements: often_self_contradicting
questions: frequently_unanswerable
logic: deliberately_violated
---description
The overarching "institution" of Wonderland itself - the dream
logic that governs every interaction and event. This is not an
organization but the fundamental rule system (or lack thereof)
of the world.
In Wonderland:
- Size changes based on food and drink
- Time can be quarreled with and stopped
- Cats can vanish, leaving only grins
- Tea parties last forever
- Playing cards serve as people
- Executions are ordered but never happen
- Caucus races have no winners (everyone wins)
---
---philosophical_foundation
Wonderland operates on dream logic, which is to say: the logic
of the unconscious mind, where contradictions coexist, authority
is absurd, and rules change moment to moment.
Alice's attempts to apply normal-world logic fail constantly.
Her lessons in mathematics don't work underground. Her recitation
of poems comes out wrong. Her Victorian manners are useless against
the Queen's rage.
The only way to survive Wonderland is to either embrace the
madness (like the Hatter) or maintain a core of sanity while
surfing the absurdity (like Alice eventually learns).
---
}

View File

@@ -1,227 +0,0 @@
//! Locations in Wonderland: surreal geography
use schema::core_enums::TimeState;
location RabbitHole {
depth: 1000..4000 // Miles deep, or so Alice calculates
falls_like: tunnel
lined_with: ["cupboards", "bookshelves", "maps", "pictures"]
contains_marmalade_jar: true
jar_is_empty: true
---description
A deep hole under a hedge, leading straight down like a well.
The fall is impossibly long, giving Alice time to wonder about
geography, talk to herself about Dinah the cat, and examine
the curious furnishings along the walls.
She falls so slowly (or the hole is so deep) that she has time
to take a jar labeled "ORANGE MARMALADE" from a shelf, discover
it empty, and replace it in a cupboard further down.
---
---physical_properties
Defies normal physics. The fall should be fatal but Alice lands
gently on sticks and dry leaves. The sides are inexplicably
furnished like a house. The depth is impossible.
This is the threshold between normal world and Wonderland -
logic breaks down in the tunnel itself.
---
}
location HallOfDoors {
shape: "long and low"
lit_by: "lamps hanging from roof"
number_of_doors: 20..50
all_locked: true
// The tiny door
has_tiny_door: true
tiny_door_height_inches: 15
tiny_door_leads_to: garden
// The glass table
has_glass_table: true
table_legs: 3
golden_key_on_table: true
bottle_appears_spontaneously: true
---description
A long, low hall with doors all around. All doors are locked.
Alice tries every one, walking down one side and up the other
in sadness and frustration.
A three-legged glass table holds a tiny golden key. After much
searching, Alice finds it unlocks a curtain-concealed door only
fifteen inches high. Through it, she glimpses the beautiful
garden she longs to reach.
---
}
location Garden {
beauty_level: 1.0
has_rose_trees: true
roses_should_be: red
roses_actually_are: white // Being hastily painted
has_croquet_ground: true
// Garden features
has_fountains: true
has_flower_beds: true
desirability_to_alice: 1.0
// Transformation site
where_alice_becomes_normal_size: true
---description
The lovely garden Alice glimpses through the tiny door. Filled
with bright flowers and cool fountains. Represents normalcy
and beauty in contrast to Wonderland's chaos.
Contains the Queen's croquet ground, where the beauty quickly
gives way to tyranny and absurdity as flamingos serve as
mallets and hedgehogs as balls.
---
---symbolism
The garden represents Alice's desire for order and sense.
She spends much of the early story trying to reach it,
shrinking and growing to fit through the door.
When she finally arrives, it's less paradise than she imagined -
the Queen's mad croquet game and constant execution threats
make it as chaotic as everywhere else in Wonderland.
---
}
location MadTeaPartyTable {
time_state: frozen
current_time: 18:00 // Always 6 o'clock
size: very_large
seats_occupied: 3
seats_available: 97..997
// Table state
covered_in_dirty_dishes: true
never_washed: true
rotation_direction: clockwise
// Refreshments
has_tea: true
has_wine: false // Despite March Hare's offers
has_butter: true // For watch repairs
has_bread_knife: true // To spread butter
---description
A large table set out under a tree in front of a house. Three
participants (Hatter, March Hare, Dormouse) crowd into one corner
despite abundant space.
Because Time refuses to move past six o'clock, it's always tea-time.
They never have time to wash dishes, so they rotate around the
table to clean seats as the previous ones get dirty.
---
---temporal_paradox
The table exists in a time loop. The same conversations happen
repeatedly. The same riddles are asked. The same butter is used
on the same watch.
"Suppose we change the subject" is said eternally, but the subject
never truly changes. The Dormouse tells the same story about the
treacle well forever.
---
}
location CroquetGround {
belongs_to: queen_of_hearts
terrain: "all ridges and furrows"
game_in_progress: true
rules_exist: false
// Live equipment
mallets_are: flamingos
balls_are: hedgehogs
arches_are: card_soldiers
// Game state
players_play_simultaneously: true
cheating_allowed: true // For Queen only
queen_always_wins: true
---description
The Queen's croquet ground, where the game is pure chaos.
Live flamingos serve as mallets but twist around to look at
players. Live hedgehogs serve as balls but unroll and crawl away.
Soldiers bend to form arches but walk off to other parts of the
ground.
All players play at once without waiting turns, quarreling and
fighting for hedgehogs. The Queen goes stamping about shouting
"Off with their heads!" every minute.
---
---game_theory
The game has no rules, or rather, the only rule is that the
Queen wins. The equipment is deliberately uncooperative. The
terrain is maximally difficult. Victory is impossible.
This is Wonderland's version of sport: a perfectly designed
system for generating frustration, with arbitrary authority
(the Queen) as the only arbiter.
---
}
location QueensPalace {
architectural_style: "playing card"
inhabitants: card_people
staff: ["soldiers", "courtiers", "gardeners", "cooks"]
// Court features
has_throne_room: true
has_croquet_ground: true
has_kitchens: true // Where Duchess's cook adds too much pepper
// Justice system
has_courtroom: true
presumption_of_innocence: false
sentence_before_verdict: true // "Sentence first! Verdict afterwards!"
---description
The palace of the King and Queen of Hearts. Everything is
decorated with hearts. Inhabitants are all playing cards -
soldiers (clubs), courtiers (diamonds), royalty (hearts).
The court system operates on Wonderland logic: sentences are
pronounced before verdicts, evidence is nonsensical, and the
Queen shouts for executions regardless of guilt or innocence.
---
}
location MushroomTop {
height_above_ground: 4..5 // Feet
diameter: 2..3 // Feet
mushroom_color: white_with_spots
inhabited_by: caterpillar
// Size-changing properties
one_side_makes_taller: true
other_side_makes_shorter: true
which_is_which: ambiguous // Round mushroom has no clear "sides"
// Atmosphere
hookah_smoke_present: true
philosophical_discussions: true
---description
The top of a large mushroom where the Caterpillar sits smoking
a hookah. About the same height as Alice (when she's normal-sized,
which is rare).
The mushroom has magical properties: one side makes you grow,
the other makes you shrink. Alice must figure out which is which
through dangerous experimentation, resulting in her neck growing
like a serpent at one point.
---
}

View File

@@ -1,278 +0,0 @@
//! Relationships in Wonderland: connections and dynamics
use schema::core_enums::EmotionalState;
// Alice's pursuit of the White Rabbit - what draws her into Wonderland
relationship AliceAndWhiteRabbit {
Alice {
// Alice's perspective
role: pursuer
motivation: curiosity
emotional_investment: 0.7
understands_other: false
---perspective
Alice follows the White Rabbit out of pure curiosity. "How
remarkable!" she thinks when he checks his watch. The Rabbit
represents the mystery of Wonderland - always rushing ahead,
never looking back, leading her deeper into strangeness.
---
}
WhiteRabbit {
// White Rabbit's perspective
role: unwitting_guide
motivation: avoid_being_late
emotional_investment: 0.0
aware_of_alice: false // Too preoccupied
---perspective
The White Rabbit barely notices Alice exists. He's consumed
by his own anxiety about being late for the Duchess, then
the Queen. Alice is just another obstacle between him and
punctuality.
---
}
}
// Alice and the Cheshire Cat - mysterious guide and confused visitor
relationship AliceAndCheshireCat {
Alice {
// Alice's perspective
role: seeker_of_guidance
emotional_state: confused
trusts_cat: 0.5 // Somewhat unsettling but helpful
---perspective
Alice finds the Cat both helpful and disturbing. He offers
directions (though everyone he points to is mad), listens
to her complaints about the croquet game, and provides the
philosophical framework "we're all mad here."
His disappearing act is unnerving but she's glad to have
someone to talk to who doesn't threaten her with beheading.
---
}
CheshireCat {
// Cheshire Cat's perspective
role: amused_observer
emotional_state: amused
helps_because: entertainment
---perspective
The Cat finds Alice endlessly entertaining. She's trying
to apply logic to Wonderland, which is inherently funny.
He helps her just enough to keep the show going, offering
directions that aren't wrong but aren't particularly helpful.
"We're all mad here. I'm mad. You're mad." This is both
warning and welcome. He's inviting her to accept the
absurdity.
---
}
bond: 0.6
}
// The Mad Hatter and March Hare - partners in madness
relationship HatterAndHare {
MadHatter {
// Hatter's perspective
role: co_conspirator
coordination: 1.0
builds_on_others_nonsense: true
---perspective
The Hatter and March Hare think as one unit of madness.
When one makes a nonsensical statement, the other builds
on it. They finish each other's contradictions. They
coordinate their assaults on logic.
"You might just as well say 'I see what I eat' is the
same as 'I eat what I see'!" - this kind of parallel
construction shows their synchronized absurdity.
---
}
MarchHare {
// March Hare's perspective (same as Hatter's - they're unified)
role: co_conspirator
coordination: 1.0
builds_on_others_nonsense: true
---perspective
From the March Hare's side, it's identical. They're two
halves of the same mad whole. Where one leads in nonsense,
the other follows. Together they create an impenetrable
wall of illogic.
The Dormouse serves as their shared cushion and occasional
entertainment, but the true relationship is between the
two perpetrators of madness.
---
}
bond: 0.95 // Deep partnership
}
// The Queen and King - tyranny and secret rebellion
relationship QueenAndKing {
QueenOfHearts {
// Queen's perspective
role: dominant_spouse
aware_of_pardons: false // Completely oblivious
expects: total_obedience
---perspective
The Queen views the King as a minor annoyance who occasionally
needs to be threatened. She expects him to agree with her
rage, support her execution orders, and generally stay out
of her way.
She has no idea he undermines every execution order. Her
blindness to his quiet rebellion is the only thing that
keeps the marriage (and Wonderland) functioning.
---
}
KingOfHearts {
// King's perspective
role: secret_moderator
loves_queen: 0.3
fears_queen: 0.9
subverts_authority: 1.0
---perspective
The King lives in constant fear but maintains his rebellion
through whispered pardons. "Consider, my dear: she is only
a child!" - these timid pleas fall on deaf ears.
His real power is exercised in secret: pardoning those the
Queen condemns, preventing the executions she orders. He's
the true ruler of Wonderland, governing through mercy while
she rages in impotent fury.
---
}
bond: 0.4 // Marriage held together by fear and secret subversion
}
// Alice and the Caterpillar - student and philosophical teacher
relationship AliceAndCaterpillar {
Alice {
// Alice's perspective
role: confused_student
emotional_state: frustrated
seeking: answers_about_size
---perspective
Alice finds the Caterpillar incredibly frustrating. He asks
"Who are YOU?" when she's having an identity crisis. He
contradicts everything she says. He refuses to elaborate
on his cryptic advice about the mushroom.
Yet he ultimately helps her gain control over her size
changes, providing the knowledge she needs even if his
manner is infuriating.
---
}
Caterpillar {
// Caterpillar's perspective
role: socratic_teacher
emotional_state: melancholy
teaching_method: contradiction
---perspective
The Caterpillar forces Alice to confront her confusion
through questioning. "Who are YOU?" is not rhetorical -
he's making her face the fact that she doesn't know.
His advice about the mushroom is deliberately incomplete.
She must experiment, fail, grow too large, shrink too
small, before mastering the technique. This is teaching
through experience, not explanation.
---
}
bond: 0.5
}
// Card Gardeners - fearful colleagues
relationship GardenersFearfulColleagues {
CardGardenerTwo {
// Two's perspective
role: mediator
tries_to_calm: true
explains_mistake: true
---perspective
Two attempts to maintain focus on the task: paint the
roses before the Queen arrives. When Five and Seven argue,
he tries to mediate. When Alice asks questions, he explains
their predicament honestly.
He's the voice of desperate pragmatism in a hopeless situation.
---
}
CardGardenerFive {
// Five's perspective
role: blame_assigner
gets_splashed: true
quick_to_anger: true
---perspective
Five is more concerned with who's at fault than with solving
the problem. When paint splashes him, he immediately blames
Seven. This finger-pointing wastes precious time but feels
necessary to his sense of justice.
His anger is fear displaced - they're all about to be
beheaded, so at least someone should be blamed properly.
---
}
bond: 0.6
}
// The Dormouse and the Tea Party hosts - cushion and tormentors
relationship DormouseAndHosts {
TheDormouse {
// Dormouse's perspective
role: unwilling_participant
would_rather: sleep
stories_interrupted: always
---perspective
The Dormouse just wants to sleep. He's pinched awake,
used as a cushion, has tea poured on his nose, and whenever
he starts a story, he's interrupted or falls asleep mid-sentence.
His relationship with the Hatter and March Hare is one of
resigned tolerance. They're his tormentors but also his
companions in the eternal tea party. He can't escape, so
he sleeps.
---
}
MadHatter {
// Hatter's perspective (and March Hare's - they treat Dormouse identically)
role: user_of_furniture
values_dormouse_as: cushion_and_entertainment
consideration: minimal
---perspective
To the Hatter and March Hare, the Dormouse is both furniture
and occasional diversion. They rest their elbows on him
without thinking. They wake him when they want a story,
then ignore him mid-tale.
There's no malice, just complete disregard for his comfort.
This is how the mad treat the merely sleepy.
---
}
bond: 0.4
}

View File

@@ -1,89 +0,0 @@
//! Schedules for Wonderland characters
//!
//! v0.2.0 upgrade: Adding year-long schedule composition features
//! - Schedule inheritance and composition
//! - Behavior tree references
//! - Recurrence patterns for special events
// Base schedule for court members
schedule CourtSchedule {
block morning_duties { 08:00 -> 12:00, action: CourtDuties }
block lunch { 12:00 -> 13:00, action: Eating }
block afternoon_duties { 13:00 -> 17:00, action: CourtDuties }
block evening_rest { 18:00 -> 22:00, action: Resting }
}
// Queen's schedule (extends court schedule with special blocks)
schedule QueenSchedule extends CourtSchedule {
override morning_duties {
08:00 -> 12:00
action: RuleWithTyranny
mood: "imperious"
}
override afternoon_duties {
13:00 -> 17:00
action: CroquetAndExecutions
}
// Croquet games on specific days
recurrence CroquetDay on Thursday {
block croquet {
14:00 -> 17:00
action: PlayCroquet
mallets: "flamingos"
balls: "hedgehogs"
}
}
}
// Mad Tea Party schedule (perpetually stuck at tea time)
schedule TeaPartySchedule {
block eternal_teatime {
18:00 -> 18:01
action: EndlessTeaParty
time_moves: false
}
recurrence MoveChairs on Daily {
block chair_rotation {
18:00 -> 18:00
action: MoveToNextSeat
}
}
}
// White Rabbit's frantic schedule
schedule RabbitSchedule {
block panic_mode {
00:00 -> 23:59
action: AlwaysLate
anxiety: "extreme"
}
recurrence ImportantDate on FirstOfMonth {
block extra_panic {
06:00 -> 06:30
action: CheckPocketWatch
repetitions: 1000
}
}
}
// Caterpillar's leisurely schedule
schedule CaterpillarSchedule {
block smoke_hookah { 10:00 -> 16:00, action: PhilosophizeOnMushroom }
block metamorphosis_rest { 16:00 -> 23:59, action: Sleeping }
}
// Cheshire Cat's schedule (mostly appearing and disappearing)
schedule CheshireSchedule {
block appear { 00:00 -> 23:59, action: AppearAtRandom }
recurrence GrinningTime on Daily {
block extra_grin {
12:00 -> 12:01
action: LeaveOnlyGrin
}
}
}