Leonid Pershin and Cursor
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 Pershin and Cursor
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 Pershin and Cursor
ed015b9d6b
Add Krea portrait models and write appearance as prose.
...
New schools default to Realism v2.5; living saves keep their catalog.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 16:45:40 +03:00
Leonid Pershin
5df341f91b
Restore Slavic save lift and redress abstract underwear on load.
...
Recheck of slice 7 stage A found UpgradeOlderSave removed after UpperUnderwear, so format-2 nameSetId saves never started, and golden people.json wearing abstract Underwear failed RequireKnownApparel. Bring back the lift, treat unusable items as undressed, and restore GoldenSaveTests.
2026-08-20 15:52:17 +03:00
Leonid Pershin
9c92fb44a7
Merge branch 'phase/61-portrait-loras-embeds'
2026-08-20 15:14:45 +03:00
Leonid Pershin and Cursor
9e217e93eb
Stack portrait LoRAs and embeddings from model, preset, and shot kind.
...
Swarm loads LoRAs via loras/loraweights; embeddings go in the prompt as embed tags, not lora tags.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 14:58:26 +03:00
Leonid Pershin
67b7f7ec08
Merge branch 'phase/60-portrait-models'
...
ci / server (push) Failing after 3m46s
ci / client (push) Successful in 21s
# Conflicts:
# docs/phases/off-queue/README.md
2026-08-20 14:46:20 +03:00
Leonid Pershin
5d46550f12
checkpoint before checking out main
2026-08-20 14:43:00 +03:00
Leonid Pershin
81fd3f6181
Split SwarmUI portraits into a model catalog and layered prompts.
...
Picker is Swarm intersect config, preset style/shot inherit model defaults, and living saves lift the old preset shape.
2026-08-20 14:08:11 +03:00
Leonid Pershin
63cde56cc3
Merge branch 'phase/46-speech-home'
...
Co-authored-by: Cursor <cursoragent@cursor.com >
# Conflicts:
# docs/phases/09-social/README.md
# src/HSchool.Server/Game/SchoolWorker.cs
# tests/HSchool.Ai.Tests/TalkCirclesTests.cs
# tests/HSchool.Simulation.Tests/MorningOpinionsTests.cs
# tests/HSchool.Simulation.Tests/TalkCircleTests.cs
2026-08-20 14:06:29 +03:00
Leonid Pershin and Cursor
92c2143329
Add speech-topic policy from tomorrow and a morning family talk.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:53:12 +03:00
Leonid Pershin and Cursor
b48bbbcf7c
Split SchoolWorker and the person card along existing seams without a second thread or public API.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:51:39 +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
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 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
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
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
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
2a55a025f4
Merge review/slice-7a-wardrobe (phases 29-31)
...
ci / server (push) Failing after 1m57s
ci / client (push) Failing after 17s
# Conflicts:
# src/HSchool.Client/src/i18n/strings.ts
2026-08-20 06:39:09 +03:00
Leonid Pershin
d5547b7b02
Review slice 7A phases 29-31: fix strings duplicate, journal
2026-08-20 06:20:57 +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
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
Leonid Pershin
6a0d5a9886
Implement phase 35 dress appropriateness and school rules.
...
Adds outfit evaluation, morning home dressing, locker-room ChangeClothes with day-log events, PE/weather AI goals, dress-rules API, and tests.
2026-08-20 05:16:52 +03:00
Leonid Pershin
ac0470bbc4
Implement custom portrait generation: update API, UI, and localization to support user-defined prompts for portraits, replacing half-body option with custom variant.
ci / server (push) Failing after 3m38s
ci / client (push) Failing after 14s
2026-08-20 05:16:40 +03:00
Leonid Pershin
df0aaad403
Add half-body portrait support: update API, UI, and localization for new portrait type
ci / server (push) Failing after 3m40s
ci / client (push) Failing after 14s
2026-08-20 05:10:51 +03:00
Leonid Pershin
9225327d31
Enhance SwarmUI settings by adding a scheduler property and updating the client to send clip stop at layer instead of clip skip. Added tests to verify the new behavior.
ci / server (push) Failing after 3m41s
ci / client (push) Failing after 14s
2026-08-20 05:02:44 +03:00
Leonid Pershin
ce772cd3c3
Phase 33: technician climate control and locker assignment.
2026-08-20 04:44:41 +03:00
Leonid Pershin
ee23fb4994
Merge branch 'phase/36-person-card-tabs'
ci / server (push) Failing after 4m1s
ci / client (push) Failing after 17s
2026-08-20 04:35:35 +03:00
Leonid Pershin
5991dcd5c4
Enhance SwarmUI integration by adding swarm connection status to the API and updating client-side components to reflect this status. Improved localization strings for various SwarmUI states and refactored ApplicantsDialog and PersonCard components to utilize the new connection information, ensuring a more responsive user experience.
ci / server (push) Failing after 4m56s
ci / client (push) Failing after 15s
2026-08-20 04:21:35 +03:00
Leonid Pershin
47241a5bd4
Merge branch 'phase/32-weather-warmth'
2026-08-20 04:18:49 +03:00
Leonid Pershin
dfa9a25dca
Implement portrait generation and retrieval for people in the school system. Added new API endpoints for generating and fetching portraits, including support for avatar and full-body images. Updated the client-side to handle portrait states and display options. Enhanced the person card UI to include tabs for overview and portrait, with appropriate localization strings. Updated solution files to include new test projects. Adjusted server configuration for SwarmUI integration.
ci / server (push) Failing after 3m46s
ci / client (push) Failing after 14s
2026-08-20 04:14:41 +03:00
Leonid Pershin
5a431bba99
Merge branch 'main' into phase/32-weather-warmth
...
Co-authored-by: Cursor <cursoragent@cursor.com >
# Conflicts:
# src/HSchool.Simulation/School.cs
2026-08-20 04:03:42 +03:00
Leonid Pershin and Cursor
6be4fa75ab
Split the person card into overview, clothes, carry and now tabs.
...
Today's history is a paged HTTP log on the worker, not on the card or in people.json.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 04:00:38 +03:00
Leonid Pershin
34acec16c2
Merge branch 'main' into phase/32-weather-warmth
2026-08-20 03:50:04 +03:00
Leonid Pershin and Cursor
8e7ab46e79
Sample outdoor weather from the climate preset so people can freeze and the clock can show it.
...
Protocol v8 adds tenths of a °C and precipitation to the clock frame; warmth drains from insulation versus place temperature.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 03:49:40 +03:00
Leonid Pershin and Cursor
1ba739dd9b
Wear worn clothes on campus and replace rags at the work morning.
...
Condition drops from catalog hours only while the person is at school; skip through the night issues the same fresh set as a lived night so the school does not walk in in rags.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 03:49:11 +03:00
Leonid Pershin and Cursor
37501c506a
Dress people at generation from a separate apparel stream.
...
Wardrobes live on the person in people.json: everyday layers, textbooks per parallel, and chance-based bags from catalog data. Hauling and the carry cap are defs, not constants. The golden roster gains an items column; later family members shift because Hauling consumes extra appearance rolls. Old saves without items are dressed on load.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 03:24:54 +03:00
Leonid Pershin and Cursor
1b66c89cd7
Replace selectable name sets with a country that owns names and climate presets.
...
Create picks a country; climate is rolled from the school seed and stored. Old Slavic saves lift as Russia.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 02:55:13 +03:00
Leonid Pershin and Cursor
edd3d35c79
Merge phase 26 school seed.
...
ci / server (push) Failing after 3m34s
ci / client (push) Failing after 12s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 00:43:33 +03:00
Leonid Pershin and Cursor
2b4cd29bda
Merge phase 27 save format and dump.
...
ci / server (push) Failing after 3m34s
ci / client (push) Successful in 13s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 00:34:54 +03:00
Leonid Pershin and Cursor
a7955a0dce
Refuse newer save formats and add a gated dump of a live school.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 00:30:39 +03:00