Skip to content

Rich planets support larger fleets (0.29.3) - #178

Merged
fardavide merged 2 commits into
mainfrom
fix/fleet-concentration
Sep 27, 2026
Merged

fardavide merged 2 commits into
mainfrom
fix/fleet-concentration

Conversation

@fardavide

Copy link
Copy Markdown
Owner

After playing 0.29.2 the difficult planets paid well, but each ship also carried far more, so a check-in still meant sending fleets to 20–30 planets. The point of richer planets was to work fewer of them.

  • Adaptation now scales only a deposit's size, not how fast ships harvest it. Richness, danger and Prospecting keep their extraction effects. A Gravitic-12 world still holds 75,400 metal, but one skiff lifts 60 metal per station-hour instead of 780.
  • Deposits refill linearly over seven days, whatever their size, instead of 5% of capacity per day.
  • No mission cap. The targets are about one destination per check-in early, two or three mid-game and at most about twelve late; these are for play to confirm, not enforced.
  • Ships already in flight keep their cargo and return times; partly emptied deposits keep what they hold and refill toward the same cap.
  • Version 0.29.3 with English and Italian release notes and a regenerated iOS project.

The simulation (balance-log.md, round 37) has a median of 10 destinations per check-in late game, with a max of 54 for a bot owning ~400 skiffs, so deposit tuning alone doesn't limit a runaway fleet. Play decides whether this is enough.

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

Test coverage

Test kind Line Branch Tests
Unit 96.0% ±0 89.2% ±0 2675 ▲ +2
Integration 41.7% ±0 29.3% ±0 211 ±0
Screenshot 96.1% ±0 66.0% ±0 227 ±0
Behaviour 94.4% ±0 74.6% ±0 494 ±0
All tests 98.6% ±0 87.1% ±0 3607 ▲ +2

✅ Coverage gate passed — all 10 values in the table hold at or above the last main run.

266 uncovered lines across the project — 1 more than the baseline.

Line coverage by package, per test kind
Package Unit Integration Screenshot Behaviour All tests
dev.fardavide.oltre.client 68% 0% 84% 95% 96.4% ±0
dev.fardavide.oltre.client.alliance.data 90% 95% — 90% 100.0% ±0
dev.fardavide.oltre.client.alliance.domain 100% 19% — 79% 100.0% ±0
dev.fardavide.oltre.client.alliance.presentation 99% — — 99% 99.1% ±0
dev.fardavide.oltre.client.alliance.ui — — 99% 98% 99.5% ±0
dev.fardavide.oltre.client.auth.data 70% 82% — — 88.4% ±0
dev.fardavide.oltre.client.auth.presentation 100% — — 99% 100.0% ±0
dev.fardavide.oltre.client.auth.ui — — 100% 96% 100.0% ±0
dev.fardavide.oltre.client.changelog.domain 100% 14% — 82% 100.0% ±0
dev.fardavide.oltre.client.changelog.presentation 100% — — 100% 100.0% ±0
dev.fardavide.oltre.client.changelog.ui — — 95% 97% 100.0% ±0
dev.fardavide.oltre.client.colony.presentation 97% — — 96% 97.4% ±0
dev.fardavide.oltre.client.colony.ui — — 98% 99% 99.0% ±0
dev.fardavide.oltre.client.debug.data 100% 0% — 0% 100.0% ±0
dev.fardavide.oltre.client.debug.domain 100% 0% — 77% 100.0% ±0
dev.fardavide.oltre.client.debug.ui — — — 100% 100.0% ±0
dev.fardavide.oltre.client.design.component — 0% 99% 99% 99.5% ±0
dev.fardavide.oltre.client.design.core 71% 0% 100% 100% 100.0% ±0
dev.fardavide.oltre.client.design.format 100% 0% 79% 93% 100.0% ±0
dev.fardavide.oltre.client.design.icon — 0% 100% 100% 100.0% ±0
dev.fardavide.oltre.client.design.text 100% 0% — — 99.7% ±0
dev.fardavide.oltre.client.dispatch.domain 100% 0% — 100% 100.0% ±0
dev.fardavide.oltre.client.dispatch.presentation 99% — — 99% 99.5% ±0
dev.fardavide.oltre.client.dispatch.ui — — 99% 100% 99.6% ±0
dev.fardavide.oltre.client.fleets.presentation 99% — — 97% 99.3% ±0
dev.fardavide.oltre.client.fleets.ui — — 99% 100% 99.7% ±0
dev.fardavide.oltre.client.galaxy.presentation 99% — — 99% 99.5% ±0
dev.fardavide.oltre.client.galaxy.ui — — 93% 99% 99.6% ±0
dev.fardavide.oltre.client.net.data 98% 80% — 45% 98.2% ±0
dev.fardavide.oltre.client.net.domain 100% 0% — 100% 100.0% ±0
dev.fardavide.oltre.client.notifications.data 100% 0% — 86% 100.0% ±0
dev.fardavide.oltre.client.player.presentation 94% — — 93% 95.7% ±0
dev.fardavide.oltre.client.player.ui — — 100% 100% 100.0% ±0
dev.fardavide.oltre.client.research.presentation 97% — — 93% 97.3% ±0
dev.fardavide.oltre.client.research.ui — — 92% 98% 98.7% ±0
dev.fardavide.oltre.client.save.data 56% 75% — 53% 75.3% ±0
dev.fardavide.oltre.client.settings.presentation 100% — — 96% 100.0% ±0
dev.fardavide.oltre.client.settings.ui — — 100% 100% 100.0% ±0
dev.fardavide.oltre.client.shipyard.presentation 100% — — 99% 100.0% ±0
dev.fardavide.oltre.client.shipyard.ui — — 97% 99% 99.4% ±0
dev.fardavide.oltre.client.tilt.data 4% 0% — 4% 3.7% ±0
dev.fardavide.oltre.client.tilt.domain 100% 0% — 7% 100.0% ±0
dev.fardavide.oltre.client.world.ui — — 100% 80% 100.0% ±0
dev.fardavide.oltre.core 99% 54% — 92% 98.7% ±0
dev.fardavide.oltre.protocol 100% 89% — 72% 100.0% ±0
dev.fardavide.oltre.server 93% 83% — — 98.0% ±0

Δ against main @ 9e3ab9c.

No line or branch number in the table at the top may fall below the last main run — every row, not just the total. The per-package breakdown is a diagnostic and is not gated. Categories are class-name suffixes; see the test-coverage skill.

@fardavide
fardavide enabled auto-merge (squash) September 27, 2026 12:02
@fardavide
fardavide merged commit dba9c51 into main Sep 27, 2026
5 checks passed
@fardavide
fardavide deleted the fix/fleet-concentration branch September 27, 2026 12:23
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.

1 participant