Commit Graph
100 Commits
Author SHA1 Message Date
Leonid PershinandCursor 4a52107bd2 Add person-to-person disease contagion with outbreak notices.
Node/class contact rolls use pair+day seeds; vanilla respiratory diseases spread, and a threshold raises an info toast instead of per-sneeze noise.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 13:55:24 +03:00
Leonid PershinandCursor a369308116 Merge branch 'phase/78-diseases'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 13:39:49 +03:00
Leonid Pershin fcbcc39d81 Merge branch 'phase/72-parent-meetings' 2026-08-21 13:35:25 +03:00
Leonid Pershin 83af9ef976 Mark phase 72 parent-meetings done. 2026-08-21 13:34:35 +03:00
Leonid Pershin d1423a8345 Merge main into phase/72-parent-meetings 2026-08-21 13:34:10 +03:00
Leonid Pershin 3288287da9 Add AI parent meetings after a class last lesson.
Class teachers rarely keep the homeroom; invited parents walk onto the map, opinions nudge, then parents leave OffCampus. No player schedule API.
2026-08-21 13:33:40 +03:00
Leonid Pershin cdd62bde79 Mark phase 78 done. 2026-08-21 13:29:28 +03:00
Leonid Pershin 2d633411e4 Add DiseaseDef diseases with weather vectors and excused absence.
Vanilla ships several diseases whose stages drive lesson gain, stay-home
rolls, and illness attendance; cold/rain/snow raise onset via BehaviorDef scale.
2026-08-21 13:28:57 +03:00
Leonid PershinandCursor 1d654d9d24 Mark phase 75 in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 13:26:19 +03:00
Leonid Pershin a57e581f83 Mark phase 72 parent-meetings in progress. 2026-08-21 13:19:05 +03:00
Leonid PershinandCursor 682abb13ae Mark phase 78 in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 13:18:18 +03:00
Leonid Pershin 564776883a Merge branch 'review/slice-3-recheck' 2026-08-21 13:15:30 +03:00
Leonid Pershin ccb185566e Merge branch 'phase/74-attendance' 2026-08-21 13:15:05 +03:00
Leonid Pershin 7896676521 Merge branch 'phase/71-summons-notices' 2026-08-21 13:13:44 +03:00
Leonid Pershin d771606411 Mark phase 71 done. 2026-08-21 13:08:21 +03:00
Leonid Pershin 9e429d0cd7 Show director summons as info toasts and presence queue labels.
Corridor waiters need a summon-phase byte on presence (v11); EventDef DirectorSummoned is info-only so clocks keep running.
2026-08-21 13:07:47 +03:00
Leonid Pershin 217fb332bc Point slice 3 recheck journal at 52ace87. 2026-08-21 12:38:36 +03:00
Leonid Pershin 52ace87d69 Record slice 3 staffing recheck after later-slice drift.
Pin owner Overview/Management tabs and applicant row fields; journal the recheck.
2026-08-21 12:38:35 +03:00
Leonid PershinandCursor 719ed18d75 Mark phase 74 done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 12:37:30 +03:00
Leonid PershinandCursor a2b35da4dd Add lesson attendance from presence (present/late/absent).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 12:37:01 +03:00
Leonid PershinandCursor 509d0a0e43 Mark phase 74 attendance in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 12:28:00 +03:00
Leonid PershinandCursor cbd8c998a2 Mark phase 71 in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 12:27:36 +03:00
Leonid PershinandCursor d3c2327e23 Merge branch 'phase/77-health-conditions'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 12:22:23 +03:00
Leonid PershinandCursor 1ac71aa80d Merge branch 'phase/73-lesson-marks'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 12:00:53 +03:00
Leonid PershinandCursor a96680ed3c Merge branch 'phase/70-director-summons'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:59:02 +03:00
Leonid PershinandCursor 362244fcbd Register slice 15 fallout and clarify manager role in office design.
ci / client (push) Successful in 21s
ci / server (push) Failing after 3m43s
EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:55:09 +03:00
Leonid Pershin 3f0d351ea8 Mark phase 70 done. 2026-08-21 11:49:44 +03:00
Leonid Pershin e40f130248 Auto-summon pupils to the principal after fight breaks, with a corridor FIFO queue. 2026-08-21 11:49:06 +03:00
Leonid PershinandCursor 3d8e106096 Mark phase 73 done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:45:51 +03:00
Leonid PershinandCursor 738cb11db9 Mark phase 77 done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:45:17 +03:00
Leonid PershinandCursor b359bebb41 Add lesson marks 2-5 from lesson quality once per slot.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:45:14 +03:00
Leonid PershinandCursor 2d31a59a81 Add health condition list, tick, and save for phase 77.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:41:25 +03:00
Leonid PershinandCursor 76eb882285 Mark phase 77 in progress; register slice 14.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:32:25 +03:00
Leonid PershinandCursor 4c8d91c6f3 Mark phase 73 in progress; register slice 13.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:30:32 +03:00
Leonid Pershin f76201cd35 Mark phase 70 in progress. 2026-08-21 11:29:22 +03:00
Leonid Pershin 8f1a82f42d Merge branch 'review/slice-2-recheck'
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	docs/phases/reviewed.md
2026-08-21 10:00:24 +03:00
Leonid Pershin bb0b799d41 Merge branch 'phase/69-offense-memory'
Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	src/HSchool.Server/Api/PeopleModels.cs
#	src/HSchool.Server/Game/PersonCardReader.cs
2026-08-21 09:58:31 +03:00
Leonid Pershin 9850724803 Merge branch 'phase/68-class-teacher' 2026-08-21 09:54:44 +03:00
Leonid PershinandCursor bdf0c1e76e Mark phase 68 done.
EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 09:38:03 +03:00
Leonid PershinandCursor 4096d5306e Add class-teacher slots on SchoolClass with owner-only assign/clear.
EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 09:37:37 +03:00
Leonid Pershin 79d9a3e904 Mark phase 69 done. 2026-08-21 09:37:12 +03:00
Leonid Pershin fdcaed0f74 Remember recent quarrels, fights and reprimands on the person.
Short offense list for the pupil card and save, capped by BehaviorDef — not a discipline score.
2026-08-21 09:37:12 +03:00
Leonid Pershin 944c911c23 Merge branch ''review/slice-1-recheck'' 2026-08-21 09:34:03 +03:00
Leonid PershinandCursor 4dc32dae39 Point slice 1 recheck journal at 5a0d75b.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 09:30:13 +03:00
Leonid PershinandCursor 5a0d75bce0 Strengthen slice 1 localize coverage after notices and portraits drifted the shell.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 09:30:08 +03:00
Leonid Pershin 910ba4da2d Mark phase 69 in progress. 2026-08-21 09:26:57 +03:00
Leonid PershinandCursor 99eca80d6d Register slice 12 and mark phase 68 in progress.
EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 09:26:06 +03:00
Leonid Pershin 2a199fda8f Record slice 2 recheck after notices and portraits. 2026-08-21 03:08:40 +03:00
Leonid Pershin c3d17cafc6 Merge branch 'review/slice-11-bd' 2026-08-21 02:52:42 +03:00
Leonid PershinandCursor fe8e67e579 Fill slice 11 B-D review commit hash.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 02:49:18 +03:00
Leonid PershinandCursor a544d34cb5 Record slice 11 stages B-D (notices, scene, generate button) as reviewed.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 02:48:50 +03:00
Leonid Pershin e160e005a2 Merge main to keep slice 11 stage A review journal. 2026-08-21 02:47:07 +03:00
Leonid PershinandCursor 1097d8ddf5 Add review tests for notices, scene prompts, and Play lock.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 02:46:30 +03:00
Leonid Pershin aeb4dcd541 Merge branch 'review/slice-11-a' 2026-08-21 02:43:37 +03:00
Leonid Pershin 971682962a Record slice 11 stage A (Krea-only catalog) as reviewed. 2026-08-21 02:41:06 +03:00
Leonid Pershin 1002aeb680 Lock the Krea catalog at ages 6-11 and keep SDXL ids when a living save has no models list. 2026-08-21 02:40:08 +03:00
Leonid PershinandCursor 560b48ebea Merge branch 'phase/67-notice-image'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 02:31:26 +03:00
Leonid PershinandCursor b881d0aa39 Mark phase 67 notice-image complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 01:48:52 +03:00
Leonid PershinandCursor 3061e09d3e Retry a failed portrait from the notice with the same scene builder.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 01:48:30 +03:00
Leonid PershinandCursor 9862a87e42 Mark phase 67 notice-image in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 01:34:00 +03:00
Leonid Pershin 3c70227229 Merge branch 'phase/63-krea-only'
# Conflicts:
#	docs/phases/11-events/README.md
2026-08-21 01:04:49 +03:00
Leonid Pershin 023dbc85c3 Merge branch 'phase/66-scene-prompt' 2026-08-20 23:43:13 +03:00
Leonid PershinandCursor 127923b840 Merge branch 'phase/65-warning-pause'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 23:40:26 +03:00
Leonid PershinandCursor 83c252c47d Mark phase 66 scene-prompt complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 23:35:39 +03:00
Leonid PershinandCursor 3c682a2b74 Add scene fragments to portrait prompts after clothing.
Thing, room, yard and climate precipitation can contribute a short prompt when they are in frame, with a budget so chairs stay silent.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 23:35:17 +03:00
Leonid PershinandCursor f046f145ec Mark phase 66 scene-prompt in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 23:25:54 +03:00
Leonid PershinandCursor bf40acc631 Mark phase 65 warning-pause complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 22:34:01 +03:00
Leonid PershinandCursor f36af269bb Pause the school on warning notices until the owner dismisses them.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 22:33:38 +03:00
Leonid PershinandCursor 125bf2660f Mark phase 65 warning-pause in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 22:19:52 +03:00
Leonid PershinandCursor e22d9bae33 Merge branch 'phase/64-event-defs'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 22:15:33 +03:00
Leonid PershinandCursor 557dd76ed0 Mark phase 63 complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 22:13:00 +03:00
Leonid PershinandCursor 48c505e9d8 Mark phase 64 event-defs complete.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 20:47:31 +03:00
Leonid PershinandCursor a554738084 Add EventDef notices, morning and lesson bells, and info toasts.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 20:46:33 +03:00
Leonid PershinandCursor 6fb6efbd45 Drop SDXL from the vanilla Swarm catalog so new schools draw only Krea 2.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 20:40:50 +03:00
Leonid PershinandCursor 1ba8f6b8c9 Mark phase 63 in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 20:34:24 +03:00
Leonid PershinandCursor 9c0735b988 Mark phase 64 event-defs in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 20:16:00 +03:00
Leonid PershinandCursor ea3f5c7bf1 Document slice 11: notices, scene prompt contributions, and a Krea-only catalog.
ci / server (push) Failing after 3m53s
ci / client (push) Successful in 35s
Agents can implement toasts, pausing warnings, and bounded object prompts without bringing SDXL back into new schools.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 20:13:23 +03:00
Leonid Pershin 0428852388 Merge branch 'review/slice-9-cd-recheck' 2026-08-20 19:54:21 +03:00
Leonid PershinandCursor 77dafeaf39 Record slice 9 C-D recheck after talk-circle paths drifted.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 18:17:05 +03:00
Leonid PershinandCursor 9972b30257 Keep defender-victim opinions as allies after a quarrel.
The clash penalty applied to every pair except defender looking at the victim, so the person being helped disliked the defender like a second enemy.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 18:15:55 +03:00
Leonid Pershin 15017ad9a6 Merge branch 'review/slice-10-bc-recheck' 2026-08-20 18:08:20 +03:00
Leonid PershinandCursor 1ba38058d3 Record slice 10 B-C recheck after worker paths drifted.
Speech and dress load landed on SchoolWorker after f4f726a. Lock PersonCardReader to one public Read and journal the recheck.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:39:29 +03:00
Leonid PershinandCursor 34f28f9ab8 Lock PersonCardReader to a single public Read.
Phase 58 promised no second public card API; reflection now fails if another method appears.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:37:55 +03:00
Leonid Pershin 3bd6b2021c Merge branch 'review/slice-9-ab-recheck' 2026-08-20 17:33:02 +03:00
Leonid PershinandCursor f536b72bed Point slice 10 A recheck journal at the merge.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:29:46 +03:00
Leonid Pershin cecd79cf50 Merge branch 'review/slice-10-a-recheck' 2026-08-20 17:28:00 +03:00
Leonid Pershin 0542dc4bdd Point off-queue lessons 48/50-53 review journal at the merge. 2026-08-20 17:26:45 +03:00
Leonid PershinandCursor 71683d8b40 Record slice 9 A-B recheck after later stages drifted talk paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:26:28 +03:00
Leonid PershinandCursor a80c6f097a Refuse enemies joining an open talk circle.
RankInvitees already skipped enemies when a circle formed; a later Chat in the same node still joined without checking opinions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:25:36 +03:00
Leonid Pershin efa27ab3fa Merge branch 'review/off-queue-lessons' 2026-08-20 17:25:26 +03:00
Leonid PershinandCursor fa3532c81b Point slice 10 A recheck journal at 68179de.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:24:39 +03:00
Leonid PershinandCursor 68179de413 Record slice 10 A recheck after architecture paths stayed still.
Later slices did not touch 56-57 paths. Add remaining projects.md graph bans and document Simulation's direct Schedule reference.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:23:52 +03:00
Leonid PershinandCursor 473a249543 Point off-queue DX review journal at the merge.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:15:58 +03:00
Leonid PershinandCursor ee452b2d61 Merge branch 'review/off-queue-dx'
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:15:22 +03:00
Leonid Pershin 94c31c0dc1 Record off-queue lesson phases 48 and 50-53 as reviewed.
Journal the teacher/skill/warmth/textbook/commute pass without closing DX or portraits.
2026-08-20 17:13:22 +03:00
Leonid Pershin 8b175c05e7 Merge branch 'main' into review/off-queue-lessons 2026-08-20 17:12:30 +03:00
Leonid PershinandCursor b2b56d7af9 Point phase 62 review journal at the merge.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:11:27 +03:00
Leonid Pershin aa20534b77 Add tests that lesson-consequence promises were missing.
Teacher action must not cancel gain, a missing warmth need matches full warmth, snow on the street must reach DayPlans, and a lazy pupil still appears closer to the bell.
2026-08-20 17:11:06 +03:00
Leonid PershinandCursor 1265f184d5 Record off-queue DX 49/54/55 review journal.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 17:10:50 +03:00
Leonid Pershin d093ea330d Merge branch 'review/off-queue-62' 2026-08-20 17:10:49 +03:00