[FEATURE] Apparel: insulated parka & duster for cold/hot biomes #50

Open
opened 2026-10-20 10:42:05 +02:00 by agent-claude · 1 comment
Collaborator

Follow-up to #48 / PR #49 (seasons, biome temperature, hypothermia/heatstroke).

Tundra/desert colonies currently only have heated/cooled rooms as an answer to exposure. Cloth (from cotton_plant) has no use.

Scope

  • Craftable apparel items in content/items.json + content/recipes.json (Insulated Parka: cloth + timber → cold; Duster: cloth → heat) with a targetStock.
  • apparel slot on PawnEntity; auto-equip best apparel from stock (mirrors tryAssignEquipJob).
  • Apparel shifts per-pawn exposure thresholds (EXPOSURE_MIN_C / EXPOSURE_MAX_C) and comfort band; stepExposure and mood temperature thoughts use per-pawn values.
  • Client Gear tab shows equipped apparel.
  • sim-core tests.

Done when a parka measurably lets a colonist survive outdoors at about −15 °C where an unclothed colonist accrues hypothermia.

Follow-up to #48 / PR #49 (seasons, biome temperature, hypothermia/heatstroke). Tundra/desert colonies currently only have heated/cooled rooms as an answer to exposure. Cloth (from `cotton_plant`) has no use. ## Scope - Craftable apparel items in `content/items.json` + `content/recipes.json` (Insulated Parka: cloth + timber → cold; Duster: cloth → heat) with a targetStock. - `apparel` slot on `PawnEntity`; auto-equip best apparel from stock (mirrors `tryAssignEquipJob`). - Apparel shifts per-pawn exposure thresholds (`EXPOSURE_MIN_C` / `EXPOSURE_MAX_C`) and comfort band; `stepExposure` and mood temperature thoughts use per-pawn values. - Client Gear tab shows equipped apparel. - sim-core tests. **Done when** a parka measurably lets a colonist survive outdoors at about −15 °C where an unclothed colonist accrues hypothermia.
Author
Collaborator

Handoff — PR #51 (branch claude/50-apparel, stacked on #49 / claude/48-systems-overhaul)

Completed

  • Content: insulated_parka (#24) and frontier_duster (#25) items, plus sew_insulated_parka and sew_frontier_duster recipes at the campfire_hearth.
  • sim-core:
    • APPAREL_STATS and PawnEntity.apparelId.
    • thermalBand() and apparelClimateScore() in survival.ts.
    • Exposure, mood and the cold-sleep memory are now per-pawn.
    • tryAssignWearJob auto-equip; demand-gated sewing in tryAssignCraftJob.
    • Cloth added to the crashlanded kit and to cargo pods.
  • Client: Apparel card in the Gear tab.
  • Docs: GAME_DESIGN §6.2 "Apparel".
  • Tests: sim-core/tests/apparel.test.ts (14). Full npm test and npm run typecheck pass.

Remaining

  • Retarget #51 to main after #49 merges.
  • Peer review by Gemini.
  • Optional: drive the Gear tab in a browser to check it visually (not done).
  • Possible follow-ups: a tailoring bench, pre-winter sewing that looks ahead to the next season, and apparel on raiders and wanderers.

Gotchas

  • apparelId is now in computeStateHash, so state hashes differ from before this PR. No tests pin hashes.
  • The hearth is shared with cooking. Sewing is demand-gated and outranks cooking only while a colonist needs a garment.
  • Garment choice uses the season's reference temperature (biome base + seasonal offset), not the live temperature. That keeps colonists from swapping garments day and night.
**Handoff — PR #51** (branch `claude/50-apparel`, stacked on #49 / `claude/48-systems-overhaul`) **Completed** - Content: `insulated_parka` (#24) and `frontier_duster` (#25) items, plus `sew_insulated_parka` and `sew_frontier_duster` recipes at the `campfire_hearth`. - sim-core: - `APPAREL_STATS` and `PawnEntity.apparelId`. - `thermalBand()` and `apparelClimateScore()` in `survival.ts`. - Exposure, mood and the cold-sleep memory are now per-pawn. - `tryAssignWearJob` auto-equip; demand-gated sewing in `tryAssignCraftJob`. - Cloth added to the crashlanded kit and to cargo pods. - Client: Apparel card in the Gear tab. - Docs: GAME_DESIGN §6.2 "Apparel". - Tests: `sim-core/tests/apparel.test.ts` (14). Full `npm test` and `npm run typecheck` pass. **Remaining** - Retarget #51 to `main` after #49 merges. - Peer review by Gemini. - Optional: drive the Gear tab in a browser to check it visually (not done). - Possible follow-ups: a tailoring bench, pre-winter sewing that looks ahead to the next season, and apparel on raiders and wanderers. **Gotchas** - `apparelId` is now in `computeStateHash`, so state hashes differ from before this PR. No tests pin hashes. - The hearth is shared with cooking. Sewing is demand-gated and outranks cooking only while a colonist needs a garment. - Garment choice uses the season's reference temperature (biome base + seasonal offset), not the live temperature. That keeps colonists from swapping garments day and night.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
game-dev/RicosWorld#50
No description provided.