Skip to content

Develop - #70

Merged
Kromtec merged 32 commits into
mainfrom
develop
Sep 6, 2026
Merged

Kromtec merged 32 commits into
mainfrom
develop

Conversation

@Kromtec

@Kromtec Kromtec commented Sep 6, 2026

Copy link
Copy Markdown
Owner

No description provided.

Crocatowa and others added 30 commits June 15, 2026 19:05
…sion

Synthetic "battle fought" events were assigned Id = Events.Count, which collides
with real event ids whenever unsupported event types are skipped during parsing
(common in late worldgen). The collision corrupts World.Events ordering so
GetEvent's binary search resolves a battle's events to an unrelated, older battle.

Assign synthetic ids above the highest existing id so World.Events stays sorted
and collision-free. Adds regression tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
…llision

#47 Fix late battles referencing unrelated battles (event id collision)
(map) support multiple sites on a single tile
- Implement MatchesFilterCriteria in Entity.cs (IsCiv, HasCurrentSites, WorshipsDeity, EntityType, CurrentSitesCount, WarCount)

- Create EntityFilter.vue component with 3-state bools, entity type selector, and numeric filters

- Enable filter popup on Entities view
- Implement MatchesFilterCriteria in Site.cs (IsOccupied, HasStructures, SiteType, StructureCount, BattleCount)

- Create SiteFilter.vue component with 3-state bools, site type selector, and numeric filters

- Enable filter popup on Sites view
- Implement MatchesFilterCriteria in Region.cs (Biome/RegionType, Evilness, HasSites, HasForce, SquareTiles, SiteCount, BattleCount)

- Create RegionFilter.vue component with biomes and alignment dropdowns, 3-state bools, and numeric filters

- Refactor filter watchers across all filter components to use guarded props watcher to prevent dropdown selection reset

- Enable filter popup on Regions view
…erty parsing

- Add PreserveBody to Circumstance enum and parse preservebody XML tag in ArtifactCreated
- Format ArtifactCreated event text conditionally for PreserveBody and FavoritePossession
- Handle entity in ArtifactCreated and interaction_source in HFLearnsSecret to avoid false-positive unknown property warnings when value is -1
- Add unit tests verifying ArtifactCreated formatting for preservebody and favoritepossession
- Implement WorldRecordsCalculator engine covering 6 categories (Warfare, Sovereigns, Lore, Intrigue, Longevity, Geography)
- Add GET /api/World/records API endpoint with in-memory caching and world clear reset
- Build interactive WorldRecords.vue view, Pinia store, and RecordCard.vue leaderboard components with text truncation
- Update unit tests in LegendsParserTests.cs
…gorization, and details layout

- Add connected sites (Start/End), master route, surface regions, underground regions, crossed rivers, and section links to WorldConstruction model.
- Refine region resolution based on effective construction type (Roads show surface regions, Tunnels show underground regions, Bridges inherit master route type).
- Enhance Construction.vue layout with direct region/river links in summary card for Bridges and detailed card lists for routes.
- Add squareTiles (length) column to Constructions overview table.
@Kromtec
Kromtec merged commit 6045eb0 into main Sep 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants