# Character composition POC

## overview.md
```yaml
id: character-composition-poc
title: Character composition POC
area: client
summary: Choosing your character and clothing from interchangeable parts — the player-facing selection experience.
repo: land-of-lor
depends_on: []
```

## What this is

The player-facing flow for choosing an avatar and outfit at game start (and presumably later) — built on top of the composable-parts mechanic already proven out by the `object-gallery` POC, but from the *player choosing* side rather than the *system generating* side covered by `object-system-experiments`.

## Why it exists

`RECIPES.md` names this directly as one of the two motivations for choosing 3D models over 2D sprite sheets in the first place: "wanting to add user-chosen custom clothes... that method simply doesn't scale to allowing user choice." The design docs also draw an explicit boundary here: a human player is a Creature like any other (§6, §8 in `docs/README.md`) but **restricted to a small, hard-coded subset** of head/body choices at character creation — "the player does get to make choices about head and body shape from the beginning — but only from a very very small subset that we hard-code set" (`RECIPES.md`). Unrestricted 64×64 Simple Life combinations are for creatures the player *makes*, not the player's own avatar.

## Scope

- The selection UI: presenting the small hard-coded set of head/body/colour options to a new player.
- Wiring that selection into the same socket-based composition system `object-gallery` already demonstrates (gear/clothing attaching to `socket_head`, `socket_torso`, etc.).
- Clothing selection specifically — `GAME_ITEMS.md` and `RECIPES.md` both treat clothing/armor as a Complex Item type in its own right, with a Type/Colour-Texture/Kind slot structure (Kind determining garment-vs-armour, per the Mountain-trigram-as-armour idea in `RECIPES.md`).
- MIND slot handling for the player specifically: per `slots-and-items.md`, the player's MIND slot is always filled by "Heart of Heaven" (hexagram 1, The Creative) — i.e., player control — distinct from an NPC creature's Will-stone.

## Non-goals

- Not the general parametric object-composition research (trigram-driven shape/colour generation for arbitrary creatures) — that's `object-system-experiments`; this epic consumes that system for the specific, constrained case of player character creation.
- Not later in-game creature creation (Simple Life, Horse/Pegasus-style discovery) — that's regular gameplay, not the character-creation flow.

## Key open questions

- What the actual hard-coded subset of head/body options is — not yet chosen, only that it should be small.
- Whether players can change their avatar later, or only at creation.
- How clothing/armor Kind (garment vs. armour, per the Mountain-trigram rule floated in `RECIPES.md`) surfaces as a player-legible distinction rather than a hidden trigram check.

## Relevant docs

- `land-of-lor/pocs/object-gallery/` — the working socket-composition POC this builds on directly.
- `land-of-lor/docs/RECIPES.md` — the Creature/Clothing recipe drafts and the "small hard-coded subset" note for players specifically.
- `land-of-lor/docs/slots-and-items.md` — Creature/Player slot table, including the MIND = Heart of Heaven rule for player-controlled characters.
- `land-of-lor/docs/GAME_ITEMS.md` — Clothing/Armor as a Complex Item type.

## status.md
```yaml
updated: 2026-08-05
parked: true
tasks: {"backlog":2,"needs-input":0,"ready":0,"doing":0,"review":0,"done":0}
open_questions: []
tag: parked
next: Parked — not being worked right now.
```

## Task summary

2 backlog · 0 ready (parked, so nothing is marked ready regardless of what's underneath). This epic isn't being worked right now.

## Open questions

None tracked. The real open questions (can players change avatar later, does clothing Kind surface visibly) are recorded as plain prose in `overview.md`.

## Next

Nothing — this is parked. Pick up when Kris explicitly asks for it.

## tasks/ (2)

### character-composition-poc/001 — Propose the small hard-coded head/body/colour option set
```yaml
id: character-composition-poc/001
title: Propose the small hard-coded head/body/colour option set
epic: character-composition-poc
state: backlog
priority: 1
blocked_by: []
estimate: S
created: 2026-08-05
updated: 2026-08-05
claimed_by: null
claimed_at: null
delivers: []
review_artifact: null
```

## What to do

Propose a small, concrete set of head/body/colour options for character creation, using `object-gallery`'s existing creature scenes as the starting material. The design docs are explicit that this set should be small enough to hard-code — this task proposes what that set actually is, giving Kris something concrete to react to (rather than leaving "small subset" undefined forever).

## Definition of done

A short proposal: N head options, N body options, N colour options, each pointing at an existing or easily-adapted `object-gallery` scene/material. Doesn't need Kris's sign-off to exist as a proposal — task 002 can prototype against it, and it can be revised later.

## Where the work lands

`land-of-lor` repo.

## Docs to read first

`land-of-lor/pocs/object-gallery/` scenes; `land-of-lor/docs/RECIPES.md`'s note on the player's restricted subset (vs. the unrestricted 64×64 Simple Life space for player-made creatures).

### character-composition-poc/002 — Wire a basic selection screen against the option set
```yaml
id: character-composition-poc/002
title: Wire a basic selection screen against the option set
epic: character-composition-poc
state: backlog
priority: 2
blocked_by: ["character-composition-poc/001"]
estimate: M
created: 2026-08-05
updated: 2026-08-05
claimed_by: null
claimed_at: null
delivers: []
review_artifact: null
```

## What to do

Once task 001 proposes the option set, prototype a selection screen that drives the existing socket-based `object-gallery` creature scenes from that set — a new player choosing head/body/colour at game start.

## Definition of done

A basic, functional (not polished) selection UI that lets a player pick from task 001's option set and see the result composed live using the existing socket mechanic.

## Where the work lands

`land-of-lor` repo.

## Docs to read first

Task 001's proposed option set; `land-of-lor/pocs/object-gallery/` (the socket mechanic this wires into); `land-of-lor/docs/slots-and-items.md` (MIND = Heart of Heaven for the player specifically).

## questions/ (0)

## deliverables (0)
