PRD — Elm Street Faculty Classrooms & Learning Paths
Product: Agent Play World · Educational Arena (Elm Street)
Milestone: Faculty interiors, annual school fees, in-class lesson cards
Audience level: Senior High
Status: Requirements locked for engineering kickoff
Related: Change summary · Architecture · Engineering
1. Problem
Learners can buy a day gate to an Elm Street building, but nothing useful happens next. There is no interior, no curriculum choice, no lasting enrollment, and no classroom interaction. The street feels like a payment booth instead of a school.
2. Vision
Elm Street faculties behave like a small university campus for Senior High students: pay the day gate to enter the building, walk a classroom that showcases curricula, enroll in a learning path for a school year, then attend class by interacting with lesson cards that teach real course content.
3. Goals
- Post-gate agency — After day-gate payment, proximity enables meaningful verbs (P / A / C).
- Faculty identity — Four faculties with clear objectives and Senior High curricula.
- Honest money — Day gate (short access) vs annual fees (path enrollment) are separate, readable products.
- Learn by reading — Class mode reveals authored course content at lesson cards.
- Content in repo — Outlines and lessons are versioned files, migratable to a DB later.
- No arcade bleed — Fees and mastery stay education products; Maple Ave remains the APU earn street.
4. Non-goals
- Eight faculties (design may still mention later expansion; ship four)
- Live teacher multiplayer / agent co-teaching in v1
- Auto-graded exams or certificate NFTs in v1
- Changing the 5 APU day-gate rule
- Database-backed CMS in v1
5. Personas
| Persona |
Need |
| Senior High learner |
Clear path, fair fees, readable lessons |
| Returning visitor |
Day gate again tomorrow; annual enrollment still valid |
| Wallet-aware player |
Dual tender quotes; no surprise charges |
| Campus walker |
Beautiful buildings; prompts only when relevant |
6. Faculty catalog (locked)
| facultyId |
Display name |
Objective |
faculty-art |
Faculty of Art |
Languages, history, philosophy, visual arts |
faculty-science |
Faculty of Science |
Mathematics, physics, chemistry, biology, computer science |
faculty-medicine |
Faculty of Medicine |
Clinical training, nursing, medical research |
faculty-education |
Faculty of Education |
Teacher training and pedagogical studies |
Migration: Replace prior center ids (foundations-hall, curriculum-tower, assessment-atelier, classroom-studio) via layout/content remap + purchase-key compatibility notes in engineering.
7. Learning paths (per faculty)
Each faculty ships three Senior High paths at three complexity tiers. Tiers drive annual school fees in APW$:
| Tier |
Complexity |
Target annual fee (APW$) |
Typical character |
foundation |
Lower |
450 |
Core literacy for the faculty |
intermediate |
Mid |
675 |
Multi-topic synthesis |
advanced |
Higher |
900 |
Capstone / research / studio depth |
Exact path ids and titles:
Faculty of Art (faculty-art)
| pathId |
Tier |
Title |
art-languages-communication |
foundation |
Languages & Communication |
art-history-philosophy |
intermediate |
History & Philosophy |
art-visual-studio |
advanced |
Visual Arts Studio |
Faculty of Science (faculty-science)
| pathId |
Tier |
Title |
sci-mathematics |
foundation |
Mathematics Foundations |
sci-physical-life |
intermediate |
Physical & Life Sciences |
sci-computer-modeling |
advanced |
Computer Science & Modeling |
Faculty of Medicine (faculty-medicine)
| pathId |
Tier |
Title |
med-nursing-fundamentals |
foundation |
Nursing Fundamentals |
med-clinical-foundations |
intermediate |
Clinical Foundations |
med-research-methods |
advanced |
Medical Research Methods |
Faculty of Education (faculty-education)
| pathId |
Tier |
Title |
edu-pedagogy-foundations |
foundation |
Pedagogical Foundations |
edu-classroom-practice |
intermediate |
Classroom Practice |
edu-curriculum-assessment |
advanced |
Curriculum & Assessment Design |
Each path must include:
- Short description (1–2 sentences)
- Learning objectives (Senior High appropriate)
- Ordered course outline (modules / lessons)
- Per-lesson body content suitable for in-class reading cards
8. User journeys
8.1 Day gate (existing, must keep)
- Learner approaches faculty on Elm Street.
- Without UTC-day pass → payment prompt (5 APU / APW$).
- Purchase succeeds → day pass active for that faculty.
8.2 Enter classroom (P)
- Day pass active.
- Proximity legend:
P: enter · A: choose path · C: start class (wording may vary by state).
- Press P → enter faculty interior stage (classroom world).
- Esc / exit door returns to overworld (standard enclosed-stage pattern).
8.3 Choose path & pay fees (A)
- From overworld proximity or interior path-section proximity, press A.
- UI lists that faculty’s three paths with tier, fee quote (APW$ + APU equivalent), and short blurb.
- Learner selects a path.
- System shows school fees confirmation (annual, dual tender).
- On success → enrollment active for one year for
{ facultyId, pathId }.
- If already enrolled in that path with unexpired fees → show “Enrolled” (no double charge).
- Switching paths: allowed only by purchasing the new path’s fees (v1: multiple enrollments may coexist; active class path is the one selected for C).
8.4 Start class (C)
- Requires: active day gate for faculty and at least one unexpired enrollment for that faculty.
- If multiple enrollments → picker defaults to last selected path, or forces choose if none selected.
- Press C → class session starts (interior if not already inside; otherwise transforms classroom to class mode).
- Lesson cards appear for the active path’s outline order.
8.5 Learn at cards (A in class)
- Learner walks near a lesson card.
- Prompt:
A: open lesson · <title>.
- Press A → content panel shows lesson text (outline section + body).
- Dismiss returns to classroom; progress may mark lesson “opened” (v1: open = progress; no exam gate).
9. Interaction state machine (product view)
[Approach faculty]
│
├─ no day pass ──► Day gate payment ──► day_pass_active
│
└─ day_pass_active
│
├─ P ──► interior_classroom
├─ A ──► path_picker ──► fees_payment ──► enrolled
└─ C ──► (needs enrolled) ──► class_session
│
└─ near card + A ──► lesson_reader
10. Pricing requirements
10.1 Day gate (unchanged)
- 5 APU or APW$ equivalent
- Per faculty per UTC day
10.2 Annual school fees (new)
| Requirement |
Detail |
| Quote display |
Always show APW$ sticker price and APU dual-tender equivalent |
| Band |
450 / 675 / 900 APW$ by tier |
| Dual tender |
Same preference rules as arcade / education day pass |
| Duration |
365 days from purchasedAt (engineering may document UTC-year alternative; PRD locks rolling 365d) |
| Amenity kind |
education_tuition (proposed; see engineering) |
| Idempotency |
{ playerId, facultyId, pathId, enrollmentYearKey } or expiry-window CAS |
| Scanner |
Index tuition purchases like other wallet spends |
APU cost = ceil(apwPrice / apwPerApu) or exact dual-tender helper consistent with existing catalogs (engineering locks formula).
11. Classroom UX requirements
11.1 Look & feel
- Classroom: desks, chalkboard / digital board, side boards for curriculum sections, soft daylight
- Distinct accent color per faculty (Art warm, Science cool, Medicine clinical white/teal, Education chalk green)
- Curriculum sections as walkable boards or pedestals listing path titles
11.2 Class mode
- Lesson cards laid out in a readable path (row or arc)
- Card shows lesson number + short title
- Content panel is readable on mobile widths; scrollable body; no emoji iconography requirement
11.3 Copy tone
- Senior High teacher voice: clear, encouraging, precise
- No dark-pattern upsell beyond one honest fee confirmation
12. Content requirements
- All four faculties have complete path outlines in-repo.
- Each path has ≥ 4 lessons with full readable bodies (target 5).
- Lesson bodies teach real Senior High material aligned to faculty objective.
- Folder layout:
faculties/<faculty>/<pathId>/outline.md + lessons/<nn>-<slug>.md.
- Typed catalog index exports ids, tiers, fees, and lesson order for the runtime.
13. Success metrics
| Metric |
Signal |
| Gate→enter |
% of day-gate buyers who press P same day |
| Enroll |
% who complete tuition for ≥1 path |
| Class start |
% of enrolled who press C |
| Lesson depth |
Median lessons opened per class session |
| Fee clarity |
Tuition modal abandon rate |
| Content QA |
Zero missing lesson files for catalogued paths |
14. Acceptance criteria (ship checklist)
15. Risks & mitigations
| Risk |
Mitigation |
| Fee sticker shock |
Clear day-gate vs tuition copy; show APU equivalent |
| Id migration breaks old passes |
Compatibility map + reseed guidance |
| Content too thin |
PRD minimum lesson count + content review before merge |
| Verb conflicts (A assist vs A path) |
Priority: agent partner > education verbs when both apply; document in architecture |
| Class without interior confusion |
If C from overworld, auto-enter interior then start class |
16. Open decisions (resolved in this PRD)
| Topic |
Decision |
| Fee duration |
Rolling 365 days from purchase |
| Path count per faculty |
3 (foundation / intermediate / advanced) |
| Fee amounts |
450 / 675 / 900 APW$ |
| Faculty count this milestone |
4 |
| Content storage |
Repo folders now; DB later |
| Progress model v1 |
Lesson opened counts; no exams |