Commit Graph
64 Commits
Author SHA1 Message Date
Leonid Pershin e0b7122f3b Mark phase 37 as in progress. 2026-08-20 06:00:24 +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 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 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 ea18d6bcb0 Mark phase 33 complete. 2026-08-20 04:46:20 +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 871178909e Merge phase 34 wear and home.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 03:52:48 +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 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 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 PershinandCursor 13d3353609 Mark phase 29 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 02:55:57 +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 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 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 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 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 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 5d447c44b5 Mark phase 22 as done.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 00:22:30 +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 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
Leonid Pershin 3c54f981b7 Update wire protocol to version 7 and enhance presence management features
ci / server (push) Failing after 3m44s
ci / client (push) Successful in 15s
- Bumped the wire protocol version to 7, reflecting significant changes in the communication structure.
- Introduced a new presence message type for real-time occupancy updates, including node activity and individual presence states.
- Updated the API to include a directory endpoint for fetching short id→name mappings, improving client-side name resolution.
- Revised the map snapshot structure to be static, with people and current lessons now handled through the presence stream.
- Enhanced client-side handling of presence updates, including UI adjustments to display live occupancy and activity.
- Updated documentation to reflect the new protocol features and changes in presence management.
- Added tests to validate the new presence functionalities and ensure robust handling of real-time data.
2026-08-19 17:00:53 +03:00
Leonid Pershin 4137400621 Enhance AI and simulation components with presence management and routing capabilities
ci / server (push) Failing after 3m39s
ci / client (push) Successful in 14s
- Introduced the `HSchool.Ai` project, responsible for routing, day plans, and presence management.
- Updated the `HSchool.Simulation` project to integrate with the new AI functionalities, improving decision-making and presence tracking.
- Added `travelMinutes` to room and territory definitions, ensuring accurate movement calculations within the simulation.
- Enhanced the `School` class to manage presence and implement empty-time skipping functionality.
- Updated documentation to reflect the new AI features and their impact on school simulation.
- Added tests for presence management and routing to ensure robust functionality and reliability.
2026-08-19 16:33:52 +03:00
Leonid Pershin c16c34a83c Refactor project structure and enhance AI and simulation components
- Updated project roles to include a new `HSchool.Ai` component, detailing its responsibilities in routing and decision-making.
- Revised the `HSchool.Simulation` component to integrate with the new AI functionalities, improving the interaction between simulation and AI.
- Expanded documentation to reflect the changes in project roles and the introduction of AI features.
- Added tests for the new AI functionalities, ensuring robust pathfinding and decision-making capabilities.
- Updated phase documentation to outline the new stages of school life, focusing on presence and behavior.
2026-08-19 15:57:12 +03:00
Leonid Pershin d61240d5c1 Enhance timetable functionality and UI integration
ci / server (push) Failing after 3m31s
ci / client (push) Successful in 13s
- Updated protocol documentation to include new `classId` and `roomLabel` fields in the timetable API responses.
- Added classes and rooms to the timetable response structure, improving data accessibility for client applications.
- Enhanced the UI components to display timetable information, including class and room details, in the management and people panels.
- Implemented functionality to fetch and display personal timetables for individuals, ensuring a comprehensive view of schedules.
- Revised localization strings to support new timetable features and improve user experience.
- Added tests to validate the new timetable functionalities and ensure robustness in handling timetable data.
2026-08-19 10:45:09 +03:00
Leonid Pershin cad3068bac Update wire protocol to version 6 and enhance timetable functionality
ci / client (push) Successful in 15s
ci / server (push) Failing after 3m53s
- Bumped the wire protocol version to 6, reflecting changes in the communication structure.
- Expanded the timetable API with new endpoints for fetching and managing lesson schedules, including `GET /api/schools/{id}/timetable` and `POST /api/schools/{id}/timetable/pin`.
- Updated the protocol documentation to include detailed descriptions of the new timetable features and message structures.
- Enhanced the client-side implementation to support the new timetable functionalities, including lesson pinning and unpinning.
- Revised server-side logic to handle timetable operations and ensure proper integration with existing school management features.
- Added tests to validate the new timetable functionalities and ensure robustness in handling lesson data.
2026-08-19 10:05:05 +03:00
Leonid Pershin 2011d12b1d Add timetable planning and related tests to school simulation
ci / server (push) Failing after 3m33s
ci / client (push) Successful in 13s
- Introduced a new project for timetable planning, dependent on HSchool.Content.
- Updated documentation to reflect the addition of timetable planning and its dependencies.
- Added tests for timetable planning to ensure deterministic behavior with the same staff and map.
- Revised architecture documentation to include the new HSchool.Schedule component and its interactions.
2026-08-19 00:55:02 +03:00