Commit Graph
100 Commits
Author SHA1 Message Date
Leonid Pershin becfe367ba Mark phase 40 clock tempo as in progress.
ci / server (push) Failing after 1m32s
ci / client (push) Failing after 15s
2026-08-20 06:44:21 +03:00
Leonid Pershin 2900b70645 Mark phase 38 session as in progress. 2026-08-20 06:43:34 +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 dc9830f332 Merge branch 'phase/37-school-rules' 2026-08-20 06:23:35 +03:00
Leonid Pershin beb882123d Journal hash for slice 7A review 2026-08-20 06:21:43 +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 bb2031317d Mark phase 37 complete. 2026-08-20 06:20:36 +03:00
Leonid Pershin aab0c00988 Add school dress rules tab in Management with tests. 2026-08-20 06:20:06 +03:00
Leonid Pershin b36db2ab2b Update SwarmUI configuration with new model settings and parameters
ci / server (push) Failing after 1m24s
ci / client (push) Successful in 16s
- Changed the default model to 'pornmasterFlux2Klein_v4TurboFp8.safetensors' with updated steps and cfgScale.
- Modified the sampler and scheduler settings for improved performance.
- Cleared the positive prompt for better customization options.
- Updated the child preset model name for consistency.
- Reformatted ageRules for better readability.

These changes enhance the flexibility and clarity of the SwarmUI settings.
2026-08-20 06:14:56 +03:00
Leonid Pershin 11f48b6c99 Update phase documentation with new tasks and enhancements
ci / server (push) Failing after 1m34s
ci / client (push) Successful in 16s
- Added a link to phase 31 in the talk circles documentation.
- Expanded task list in phase 42 to include new topics and conditions for interactions.
- Updated phase 43 to reflect changes in student-teacher dynamics and opinion shifts.
- Enhanced phase 44 with new rules for quarrels and fights, including the role of bystanders and apologies.
- Revised phase 46 to clarify the impact of weekend events on student opinions and relationships.
- Updated README to reflect the latest changes in phases 42, 43, and 44.

These updates improve clarity and detail in the phase documentation, ensuring better understanding of interactions and dynamics.
2026-08-20 06:07:42 +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 e0b7122f3b Mark phase 37 as in progress. 2026-08-20 06:00:24 +03:00
Leonid Pershin c541156614 Merge branch 'merge/lock'
ci / server (push) Failing after 3m58s
ci / client (push) Failing after 16s
2026-08-20 05:54:23 +03:00
Leonid Pershin 8b4fbdc41b Merge branch 'phase/36-person-card-tabs' 2026-08-20 05:54:23 +03:00
Leonid PershinandCursor b5ea9f4667 Mark phase 36 complete in phases README.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 05:45:05 +03:00
Leonid PershinandCursor 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 feda98d555 Mark phase 35 complete. 2026-08-20 05:17:23 +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 9e11c8c693 Update full body avatar dimensions in swarmui.json to 896x1152 for better visual representation.
ci / server (push) Failing after 3m44s
ci / client (push) Failing after 14s
2026-08-20 05:07:31 +03:00
Leonid Pershin 2d6bf4041c Update avatar dimensions in swarmui.json to 1024x1024 for improved image quality.
ci / server (push) Failing after 3m44s
ci / client (push) Failing after 14s
2026-08-20 05:05:35 +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 f603cdd9a9 Mark phase 35 as in progress. 2026-08-20 04:51:13 +03:00
Leonid Pershin 5b63c72806 Update model name in swarmui.json for consistency with naming conventions.
ci / server (push) Failing after 3m57s
ci / client (push) Failing after 16s
2026-08-20 04:48:29 +03:00
Leonid Pershin 7525710c5b Merge branch 'phase/33-lockers-technician' 2026-08-20 04:47:35 +03:00
Leonid Pershin ea18d6bcb0 Mark phase 33 complete. 2026-08-20 04:46:20 +03:00
Leonid Pershin ce772cd3c3 Phase 33: technician climate control and locker assignment. 2026-08-20 04:44:41 +03:00
Leonid Pershin f60d1595ca Mark phase 33 in progress. 2026-08-20 04:40:11 +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 36b46774a7 Refactor ManagementPanel and PeoplePanel to remove unused painted property and streamline card painting logic. Updated paintCard method to use a more concise function for determining card placement.
ci / server (push) Failing after 3m47s
ci / client (push) Successful in 27s
2026-08-20 04:19:43 +03:00
Leonid Pershin 47241a5bd4 Merge branch 'phase/32-weather-warmth' 2026-08-20 04:18:49 +03:00
Leonid Pershin d0e9f4a9d3 Enhance ApplicantsDialog by integrating game status fetching and updating card rendering logic. Introduced swarm configuration handling and improved person card rendering with tab support, ensuring a more dynamic user experience.
ci / server (push) Failing after 3m42s
ci / client (push) Failing after 15s
2026-08-20 04:17:40 +03:00
Leonid Pershin 3b9bfc0b9e Refactor openCard method in ApplicantsDialog to streamline error handling and remove redundant checks against selectedId. This improves code clarity and maintains state management consistency.
ci / server (push) Failing after 3m45s
ci / client (push) Failing after 13s
2026-08-20 04:16:20 +03:00
Leonid Pershin 03378793be Refactor ApplicantsDialog to remove unused cardToken and improve card fetching logic. Updated openCard method to check against selectedId instead of cardToken for better state management.
ci / server (push) Failing after 3m40s
ci / client (push) Failing after 13s
2026-08-20 04:15:41 +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 PershinandCursor 02d11cdbbb Mark phase 32 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 04:01:22 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 PershinandCursor 871178909e Merge phase 34 wear and home.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 03:52:48 +03:00
Leonid Pershin 34acec16c2 Merge branch 'main' into phase/32-weather-warmth 2026-08-20 03:50:04 +03:00
Leonid PershinandCursor 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 PershinandCursor 84da00f1e8 Mark phase 34 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 03:49:38 +03:00
Leonid PershinandCursor 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 PershinandCursor 3a77a8f985 Mark phase 36 as in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 03:43:20 +03:00
Leonid PershinandCursor 69106cb48b Mark phase 34 as in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 03:33:10 +03:00
Leonid PershinandCursor af90bb9f9d Merge phase 31 dress generator.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 03:27:06 +03:00
Leonid PershinandCursor e0a349d7cc Mark phase 31 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 03:25:35 +03:00
Leonid PershinandCursor 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 d68a91da4d Update design documentation for phases 2 and 1, clarifying canceled features and their implications. Documented changes in behavior regarding scheduling, lessons, and hiring processes, along with references to related files. Enhanced the reviewed phase details, confirming the integrity of phases 0-4 and adding new tests for catalog and map functionalities.
ci / server (push) Failing after 3m58s
ci / client (push) Successful in 16s
2026-08-20 03:08:05 +03:00
Leonid PershinandCursor eb7e8b5b99 Mark phase 32 as in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 03:06:26 +03:00
Leonid PershinandCursor 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 ed80aa5d08 Update AGENTS.md to correct the behavior of presence frames during school pauses, clarify the design documentation regarding mod load order, and add a new test for uncovered teaching positions in the management panel. Enhance reviewed phase details for accuracy and completeness.
ci / server (push) Failing after 3m48s
ci / client (push) Successful in 42s
2026-08-20 02:57:13 +03:00
Leonid PershinandCursor 13d3353609 Mark phase 29 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 02:55:57 +03:00
Leonid PershinandCursor 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 PershinandCursor cf086600c3 Merge phase 30 apparel defs.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 02:54:21 +03:00
Leonid PershinandCursor 2b9bb23f9f Mark phase 30 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 02:48:17 +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 PershinandCursor 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 PershinandCursor 2833a09799 Mark phase 29 as in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 02:38:46 +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 bdb1253fdb Fix duplicate field in School interface and update event panel description in design documentation. Adjusted reviewed phase details for clarity and accuracy.
ci / server (push) Failing after 3m42s
ci / client (push) Successful in 18s
2026-08-20 01:58:37 +03:00
Leonid PershinandCursor 418a4eaec2 Merge phase 23 example pack.
ci / server (push) Failing after 3m32s
ci / client (push) Failing after 12s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 01:12:47 +03:00
Leonid PershinandCursor 7744436a2f Merge phase 28 screen tests.
ci / server (push) Failing after 3m39s
ci / client (push) Failing after 14s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 01:08:32 +03:00
Leonid PershinandCursor 5985c56b38 Mark phase 23 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 01:06:48 +03:00
Leonid PershinandCursor 4460780c7f Mark phase 28 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 01:06:24 +03:00
Leonid PershinandCursor 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 PershinandCursor 840b8fd234 Test screen logic under happy-dom so filter and error-code mistakes fail in CI.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 01:05:47 +03:00
Leonid PershinandCursor 2419f454cb Mark phase 28 as in progress.
ci / server (push) Failing after 3m39s
ci / client (push) Failing after 11s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 00:53:37 +03:00
Leonid PershinandCursor 65e5b0ae41 Mark phase 23 as in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 00:51:50 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 a1763eaf68 Update SKILL.md to clarify the process for merging branches and managing worktrees
ci / server (push) Failing after 3m34s
ci / client (push) Successful in 14s
- Revised instructions for merging branches into `main`, emphasizing the importance of removing worktrees before merging.
- Added detailed steps for acquiring a merge lock and checking the main branch status prior to merging.
- Clarified the conditions under which orphaned branches and worktrees are cleaned up.
- Enhanced the final report requirements to include the status of the branch and worktree after completion.
2026-08-20 00:32:57 +03:00
Leonid PershinandCursor 40c450af40 Merge phase 22 pack identity.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 00:32:39 +03:00
Leonid PershinandCursor 764433f94a Mark phase 27 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 00:31:08 +03:00
Leonid PershinandCursor 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 PershinandCursor 267ecb1225 Mark phase 26 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 00:29:19 +03:00
Leonid PershinandCursor f245076be8 Mark phase 24 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 00:28:31 +03:00
Leonid PershinandCursor 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 PershinandCursor 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 PershinandCursor 5d447c44b5 Mark phase 22 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 00:22:30 +03:00
Leonid PershinandCursor 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 PershinandCursor 6fdb66bba6 Mark phase 27 as in progress.
ci / server (push) Failing after 3m38s
ci / client (push) Successful in 14s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 00:01:05 +03:00
Leonid PershinandCursor 0ae633995f Mark phase 26 as in progress.
ci / client (push) Successful in 14s
ci / server (push) Failing after 4m17s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 23:59:57 +03:00
Leonid PershinandCursor 0c3eb219c8 Mark phase 24 as in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 23:57:59 +03:00
Leonid PershinandCursor fcbc5bb22c Mark phase 22 as in progress.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 23:55:53 +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 c27d43f66a Add foundational phase documentation for mod development
ci / server (push) Failing after 3m39s
ci / client (push) Successful in 14s
2026-08-19 23:35:30 +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
Leonid Pershin a441ed9763 Update documentation to enhance clarity on native language and skill generation
ci / server (push) Failing after 3m37s
ci / client (push) Successful in 14s
- Revised `AGENTS.md` to specify that the same seed, map, name set, and native language must produce the same roster in tests.
- Updated `protocol.md` to clarify that everyone in the school is generated with the selected native language, and related languages may appear at a low skill.
- Enhanced `ai.md` to explain skill growth mechanics based on state and the introduction of minimum ranges for skills not yet acquired.
- Improved `people.md` to detail the generation of skills and traits, emphasizing that not every person receives every skill and the implications of body attributes on skill acquisition.
- Adjusted `projects.md` to reflect the inclusion of native language in roster generation, ensuring comprehensive documentation of project components.
2026-08-19 22:27:20 +03:00
Leonid Pershin 5a00ad7746 Enhance school creation and staffing management with native language support
ci / server (push) Failing after 3m44s
ci / client (push) Successful in 14s
- Updated protocol documentation to include `nativeLanguages` in `nameSets` and added `nativeLanguage` to school creation options.
- Enhanced the UI for school creation to allow selection of native languages, improving user experience.
- Revised API interfaces to accommodate new native language features, ensuring proper data handling.
- Improved localization strings to support new native language functionalities in both English and Russian.
- Updated tests to validate the new native language features and ensure robust functionality in staffing scenarios.
2026-08-19 22:22:31 +03:00
Leonid Pershin 21d79cb49b Enhance people management tests and fix related issues
ci / server (push) Failing after 3m44s
ci / client (push) Successful in 15s
- Updated `PeopleApiTests` to correctly handle family structures, ensuring tests account for single-parent scenarios and sorting behavior for surnames.
- Added a new test to validate roster integrity after the yearly intake, confirming that the composition reflects changes post-intake.
- Revised assertions to ensure accurate comparisons of student and family data, improving test reliability.
- Enhanced documentation within tests to clarify the purpose and expected outcomes of new functionalities.
- Addressed discrepancies between design and implementation regarding the layout of the people management interface.
2026-08-19 21:31:01 +03:00
Leonid Pershin 5cd5a6d258 Update decision-making phase and enhance localization for presence tracking
ci / server (push) Failing after 3m40s
ci / client (push) Successful in 14s
- Marked tasks as complete in the decision-making phase documentation, indicating readiness for implementation.
- Updated the README to reflect the completion status of the decision-making phase.
- Enhanced localization strings to include new presence tracking features, improving user experience.
- Revised the game screen logic to display real-time presence status, including walking states for individuals.
- Added tests to validate the new localization strings and presence functionalities, ensuring robust performance.
2026-08-19 21:00:12 +03:00
Leonid Pershin b135a9caad Enhance protocol and simulation features with activity tracking and behavior definitions
- Updated protocol documentation to include new `activity` and `activityLabel` fields in the person card response, reflecting real-time activity status.
- Introduced `BehaviorDef` to define behavior rules, including need thresholds and lesson skill gains, enhancing AI decision-making.
- Revised the `DefCatalog` to incorporate behavior definitions and updated validation logic to ensure proper behavior handling.
- Enhanced the simulation to manage presence and activity states, allowing for more dynamic interactions within the school environment.
- Updated tests to validate the new activity tracking and behavior functionalities, ensuring robust performance and reliability.
- Improved localization strings to support new activity and behavior features, enhancing user experience.
2026-08-19 19:49:44 +03:00