Skip to content

Tiny village harbours should have small or no piers (beach landing) #3

Description

@barrulus

Observed

A pop-16 naval hamlet (FMG burg preview, Patrinoli) renders with two full-sized piers jutting into the sea — the same pier treatment a large port gets.

Since v1.0.0, harbourSize: 'small' emits 2–3 piers sized to reach past the waterline (src/wards/harbour.ts). Pier count/size keys off harbourSize alone — population plays no part below the small/large split, so a 16-person fishing hamlet and a 4 000-person town get the same waterfront furniture.

Expected

Pier presence should scale with population, not just harbourSize:

  • Tiny settlements (roughly pop < 100–150): no piers at all — a beach landing. A village of 75 pulls its boats onto the sand; local fishing boats, not seafaring vessels. The harbour ward/quay can stay, just without pier structures.
  • Small villages (roughly pop 150–1 000): at most one short, narrow jetty.
  • Towns and up: current behavior.

Thresholds above are suggestions — tune on renders. Optionally a beach landing could later render hauled-up boat symbols (symbol library), but the core fix is suppressing/shrinking piers at low population.

Pointers

  • src/wards/harbour.ts — pier count, width, and the cone-scan length logic (v1.0.0)
  • tests/coastal-core.test.ts — pier root/tip regression tests assert piers.length ≥ 2 for ports; that bound needs to become population-aware with this change
  • Note: port: true + ocean data is what triggers coastal rendering at all (as of 48db58d); this issue is about what the waterfront looks like once it does

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions