Leonid Pershin
782a56eefe
Merge branch 'phase/56-architecture-tests'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
# Conflicts:
# docs/phases/10-craft/README.md
2026-08-20 12:54:53 +03:00
Leonid Pershin and Cursor
121c28e4a3
Put layer and wall-clock bans in one test project so Content and Protocol fail the same way as People.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:48:00 +03:00
Leonid Pershin and Cursor
0b1a52a5e5
Skip users.json when loading school saves.
...
The session user list sits beside {id}.json; LoadAll treated it as a school with id 0.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:46:52 +03:00
Leonid Pershin and Cursor
0d6173431a
Wait for a person on a node before asserting the dump.
...
Needs.Count is true for everyone, so the old OR never caught empty occupancy.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:45:18 +03:00
Leonid Pershin and Cursor
449be4e0ea
Show unseen Server commits after login.
...
Bake first-parent git log at Server build and remember the SHA in a browser cookie.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:43:36 +03:00
Leonid Pershin and Cursor
395107c959
Add recess quarrels, rare yard and gym fights, and apologies.
...
Bullies remember a victim by a trait field, a defender can join, staff break up a fight with a reprimand, and skip empty time clears leftover clashes so they cannot last forever.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:31:06 +03:00
Leonid Pershin
ee6930a39d
Merge branch 'phase/45-presence-talk'
...
# Conflicts:
# docs/phases/README.md
# src/HSchool.Server/Api/PeopleModels.cs
# src/HSchool.Server/Game/PersonCardReader.cs
2026-08-20 11:27:58 +03:00
Leonid Pershin
43267e4482
Merge branch 'review/slice-8-session'
ci / server (push) Failing after 3m36s
ci / client (push) Successful in 17s
2026-08-20 11:11:54 +03:00
Leonid Pershin and Cursor
1c3ae9ab7e
Reject a second live WebSocket for the same session name.
...
Two tabs with the cookie already set never POST /api/session, so name-online on login did not cover the design rule. Claim the name under the same lock as the online check.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 11:04:56 +03:00
Leonid Pershin
ae2e3ddc14
Merge branch 'phase/47-romance-pack'
...
ci / server (push) Failing after 3m39s
ci / client (push) Successful in 19s
# Conflicts:
# docs/phases/README.md
# src/HSchool.Content/PeopleDefs.cs
# src/HSchool.People/Seed.cs
2026-08-20 11:00:12 +03:00
Leonid Pershin
d3396b5b8f
Refactor run-aspire scripts for improved cross-platform support. Replace run-aspire.cmd with run-aspire.ps1 for Windows and add run-aspire.sh for Ubuntu. Update documentation to reflect these changes and ensure synchronization between build rules across scripts. Enhance Tailscale integration and clarify usage instructions.
ci / server (push) Failing after 3m38s
ci / client (push) Successful in 18s
2026-08-20 10:48:19 +03:00
Leonid Pershin and Cursor
2034946378
Show talk-circle partners and topic on the location panel and Now tab.
...
The frame and card share member ids; the client builds the sentence from the directory and locale.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:43:16 +03:00
Leonid Pershin
d2911c3daf
Complete phase 47 romance pack on generic orientation and affinity hooks.
...
Vanilla catalogs stay without crushes; a content pack ships the overlay so later mods can reuse it.
2026-08-20 10:42:42 +03:00
Leonid Pershin and Cursor
1a21a64b4b
Bump protocol to v9 and carry talk-circle ids on the presence frame.
...
Names stay off the wire; a person not in a circle writes an empty member list and topic.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:42:11 +03:00
Leonid Pershin and Cursor
f45347b335
Merge branch 'phase/43-whisper'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:40:35 +03:00
Leonid Pershin and Cursor
f7d5e0c042
Add lesson whispers, teacher catch chance, and after-bell teacher talk.
...
Whispering cuts lesson skill gain from BehaviorDef; a teacher in the room may interrupt into a discipline circle, and pedagogy scales the pupil's opinion of the teacher.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:35:31 +03:00
Leonid Pershin and Cursor
7851bed14f
Pin Vite to 5173 without an Aspire proxy so AppHost can start.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 10:14:26 +03:00
Leonid Pershin
51b4c22b69
Merge branch 'phase/39-school-owners'
ci / client (push) Successful in 18s
ci / server (push) Failing after 3m51s
2026-08-20 09:56:13 +03:00
Leonid Pershin and Cursor
cc18429108
Complete phase 39 school owners with owner-scoped API, menu, and tests.
...
Drop golden save load tests in favor of incompatible-save behavior; dress legacy people files on reload; fix AppHost isolation for multi-user socket and save cleanup.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 09:44:08 +03:00
Leonid Pershin and Cursor
ce71a91a67
Add rain and snow minutes to the morning commute.
...
Day plans take a precomputed extra; Ai does not know precipitation.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 09:40:24 +03:00
Leonid Pershin and Cursor
1b3479f984
Halve lesson gain when the bag has no textbook for the subject.
...
Locker and home do not count. A pack without the field keeps vanilla 0.5.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 09:27:46 +03:00
Leonid Pershin and Cursor
384f9d7273
Merge branch 'phase/51-warmth-lesson'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 09:09:55 +03:00
Leonid Pershin and Cursor
274814aecd
Scale lesson gain by warmth the same way hunger already did.
...
The bar was live and drove dressing; a frozen pupil in class still learned as if it were May.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 09:06:50 +03:00
Leonid Pershin
ac17abfd90
Merge branch 'phase/42-talk-circles'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
# Conflicts:
# docs/phases/README.md
# src/HSchool.Simulation/PersonLog.cs
2026-08-20 09:03:38 +03:00
Leonid Pershin and Cursor
aaf539cacc
Merge branch 'phase/50-teacher-skill-gain'
...
ci / server (push) Failing after 3m57s
ci / client (push) Failing after 17s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 08:58:27 +03:00
Leonid Pershin
47fc10da02
Add talk circles with TopicDef, staff/phone chat, and opinion outcomes.
2026-08-20 08:55:55 +03:00
Leonid Pershin and Cursor
c2579d6767
Scale lesson skill gain by the teacher's subject skill.
...
Hiring a 78-math applicant already cost more than a 41; the class now actually learns faster when that teacher is in the room.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 08:54:13 +03:00
Leonid Pershin and Cursor
1287d503b2
Merge branch 'phase/49-skip-stale-build'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 08:51:57 +03:00
Leonid Pershin and Cursor
9bd1b8eea0
Skip MSBuild on run-aspire.cmd when binaries are still newer than sources.
...
dotnet run always evaluates the Aspire graph. A second launch after Ctrl+C should not wait on that.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 08:45:44 +03:00
Leonid Pershin
4b236a7916
Merge main into phase/39-school-owners.
...
Keep school owners and phase 41 opinions/portraits together; ResetAsync wipes all saves so shared AppHost tests stay isolated.
2026-08-20 08:36:13 +03:00
Leonid Pershin and Cursor
fbc32f2bfc
Grow lesson skills only when the assigned teacher is standing in the room.
...
The timetable already named a teacher; learning ignored whether they were in the toilet, still walking, or not a person at all.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 08:33:28 +03:00
Leonid Pershin
9d96108516
Add portrait settings support to school creation and update related API and UI components. Enhance error handling for invalid presets and ensure proper cloning of settings. Update tests to validate new functionality.
ci / server (push) Failing after 3m40s
ci / client (push) Failing after 14s
2026-08-20 08:17:58 +03:00
Leonid Pershin
26be7c87f8
WIP phase 39: school owners, my/others menu, guest restrictions.
2026-08-20 07:58:12 +03:00
Leonid Pershin
6264034e4b
Merge branch 'phase/41-opinions'
...
# Conflicts:
# docs/phases/README.md
2026-08-20 07:58:05 +03:00
Leonid Pershin
b1b4f18b40
Add opinions storage, morning drift, and Connections card tab.
2026-08-20 07:34:57 +03:00
Leonid Pershin
40929aa3ce
Merge branch 'phase/38-session'
...
# Conflicts:
# docs/phases/README.md
# tests/HSchool.AppHost.Tests/PortraitApiTests.cs
2026-08-20 07:25:12 +03:00
Leonid Pershin
660340c216
Enhance apparel definitions: Introduce 'UpperUnderwear' layer and related items (Bra, SportsBra, SoftBra) to support gender-specific clothing. Update inventory and dress generation logic to accommodate new layers and ensure proper coverage. Adjust localization for new apparel terms and refine tests for underwear functionality.
2026-08-20 07:20:40 +03:00
Leonid Pershin
a444fc011e
Add alpha session gate with cookie auth and login UI.
2026-08-20 07:17:18 +03:00
Leonid Pershin
b9d91d387e
Merge phase/40-clock-tempo.
2026-08-20 07:07:00 +03:00
Leonid Pershin
9199ea36d2
Phase 40: clock tempo at 1 min/s, x5/x10 heavy stride.
2026-08-20 07:02:24 +03:00
Leonid Pershin
230563d5c5
Merge main into review/slice-7bc-climate-wear; journal 32-37.
...
Integrate stage A review from main; resolve reviewed.md; fix dressRulesPanel unused import, managementPanel test, PortraitApiTests URL.
2026-08-20 06:46:36 +03:00
Leonid Pershin
e461a9f3e4
Fix PE change-clothes interruption and post-PE mode detection.
...
Add appropriateness tests for staging PE kit, wearing form before gym, and returning to everyday clothes after the lesson.
2026-08-20 06:31:41 +03:00
Leonid Pershin
dc9830f332
Merge branch 'phase/37-school-rules'
2026-08-20 06:23:35 +03:00
Leonid Pershin
aab0c00988
Add school dress rules tab in Management with tests.
2026-08-20 06:20:06 +03:00
Leonid Pershin
5a400be792
Add SwarmUI settings management and portrait generation enhancements
...
- Introduced new API endpoints for managing SwarmUI settings, including fetching and saving presets and age rules.
- Updated the portrait generation logic to utilize the new settings structure, allowing for dynamic preset selection based on age.
- Enhanced UI components to support SwarmUI settings, including localization for new strings and improved styling for settings sections.
- Added tests to verify the functionality of new settings endpoints and portrait generation behavior.
This commit lays the groundwork for more flexible and user-friendly portrait generation options.
2026-08-20 06:06:45 +03:00
Leonid Pershin
8b4fbdc41b
Merge branch 'phase/36-person-card-tabs'
2026-08-20 05:54:23 +03:00
Leonid Pershin and Cursor
3485ce8ac4
Close phase 36 apparel-changed log tail.
...
Add simulation and paged day-log tests; mark the log task complete in the phase doc.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 05:44:09 +03:00
Leonid Pershin
6eb16d0edf
Enhance person card functionality: add custom prompt textarea persistence during input, streamline portrait prompt API by removing unused parameters, and ensure proper button state management based on input. Update tests to verify new behavior.
ci / server (push) Failing after 3m44s
ci / client (push) Failing after 14s
2026-08-20 05:32:40 +03:00
Leonid Pershin
3fa6ce95df
Implement portrait prompt API and UI enhancements. Added a new endpoint to fetch portrait prompts, updated the client to handle prompt display, and improved localization for prompt-related text. Enhanced styling for prompt elements in the UI.
ci / server (push) Failing after 3m40s
ci / client (push) Failing after 15s
2026-08-20 05:27:01 +03:00
Leonid Pershin
a214378c6e
Merge branch 'phase/35-appropriateness'
...
ci / server (push) Failing after 3m44s
ci / client (push) Failing after 14s
# Conflicts:
# docs/phases/README.md
2026-08-20 05:19:33 +03:00