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
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
53c4ae0f92
Sum warmth insulation from worn items and refresh goldens for the new trait pool.
...
HeatLoving and ColdLoving shift later trait rolls; worn clothes now feed PersonInsulation instead of reflection.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 04:00:53 +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
d8f4958167
Merge phase 29 country.
...
ci / server (push) Failing after 3m53s
ci / client (push) Successful in 19s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 02:59:46 +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
cf086600c3
Merge phase 30 apparel defs.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 02:54:21 +03:00
Leonid Pershin
cbe739a4e6
Update reviewed phase details, enhance presence tests for hiring and assigning teachers during lessons, and fix timetable handling in the School class. Added new tests for presence management and ensured proper campus staffing behavior during lesson transitions.
ci / server (push) Failing after 4m0s
ci / client (push) Successful in 17s
2026-08-20 02:47:24 +03:00
Leonid Pershin and Cursor
abcf67eaab
Let the catalog describe clothes and carryables on ThingDef without dressing anyone.
...
Empty layers keep furniture on the map; a known layer set and ColorDef palette reject unknown ids at load.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 02:47:23 +03:00
Leonid Pershin
450495f666
Update design documentation for inventory and climate phases, clarify staffing test results, and add new presence test for hiring and assigning a teacher during lessons.
ci / server (push) Failing after 3m41s
ci / client (push) Successful in 16s
2026-08-20 02:34:16 +03:00
Leonid Pershin and Cursor
505b1429ab
Ship a disk example pack so last-wins, patches and create-with-a-mod are tested for real.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 01:06:12 +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
7a59ef27f4
Merge phase 24 behavior numbers.
...
ci / server (push) Failing after 3m35s
ci / client (push) Successful in 13s
Co-authored-by: Cursor <cursoragent@cursor.com >
# Conflicts:
# docs/phases/README.md
# src/HSchool.Content/CatalogLoader.cs
2026-08-20 00:36:32 +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
Leonid Pershin and Cursor
48f0b15221
Give each school its own people seed so composition no longer follows create order.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 00:28:13 +03:00
Leonid Pershin and Cursor
e1a0f06017
Move goal weights into BehaviorDef so a pack can rebalance decisions without a fork.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 00:27:52 +03:00
Leonid Pershin and Cursor
263c94c55d
Give packs an identity so create can refuse missing deps and load in a stable order.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 00:20:36 +03:00
Leonid Pershin
e5a0ae5b9d
Enhance staffing management with uncovered teacher tracking
...
ci / server (push) Failing after 3m43s
ci / client (push) Successful in 14s
- Updated `protocol.md` to clarify the concept of uncovered subjects and the number of additional teachers required.
- Introduced `teachersShort` property in the `StaffingSubject` interface to indicate how many more teachers are needed for a subject.
- Enhanced localization strings to reflect the new uncovered teacher information in both English and Russian.
- Updated the management panel UI to display the number of teachers short for each uncovered subject.
- Revised the `Uncovered` method in the staffing logic to return detailed information about uncovered subjects, including the shortfall of teachers.
- Added tests to validate the new uncovered teacher tracking functionality and ensure accurate reporting in the staffing API.
- Marked related tasks as complete in the documentation for the golden fixtures phase.
2026-08-19 23:53:37 +03:00
Leonid Pershin
5eabc90d53
Enhance school day structure and decision-making for lunch breaks
...
ci / server (push) Failing after 3m43s
ci / client (push) Successful in 15s
- Updated `ai.md` to clarify the mechanics of hunger restoration and the importance of lunch breaks in the school schedule.
- Revised `schedule.md` to detail the new lunch break structure, allowing for separate sittings for different grade levels.
- Enhanced `Decision.cs` and `DecisionPlanner.cs` to incorporate logic for lunch breaks, ensuring that students only leave lessons during their designated lunch windows.
- Updated `DayFrameDef` and related classes to support multiple lunch breaks and validate their configurations.
- Adjusted tests to validate the new decision-making logic regarding lunch breaks and hunger management, ensuring robust functionality.
- Improved localization strings to reflect changes in the school day structure and lunch functionalities.
2026-08-19 23:17:16 +03:00