Kotoba

Where to start

What Kotoba isWho she is and where she runs, in one page
InstallingOne package, two commands
First runA key, a model, her first words
The approval gateHow she asks before she acts
The two voice modesLocal voice, or the agent tunnel
The soul fileChange who she is
RoadmapWhat grows next, and what was cut on purpose

Or a section

↑↓ move openesc close124 pages
All pages

The web app12 of 12

The wardrobe

About 2 minutes to read

On this page

A Live2D model is made of parts — hair, clothes, a hat, a prop, whatever the artist drew and named. The wardrobe lets you switch individual parts off while looking at her.

Screenshot placeholder: the face step's receipt card with the wardrobe open to its right — a dark "WHAT SHE WEARS" band, a search box reading "Search 94 parts…", a list of rows each with an eye icon, and a footer reading "2 taken off · put it all back".

Where it is

The wardrobe lives on the face step of the setup wizard, beside the receipt card that draws her (components/FaceReceipt.tsx:186-196). It is the only place it appears — it is not in Settings and it is not on the main screen.

To reach it on a configured install: Settings → Brain → Give her a face, which opens the face step directly (components/panels/SettingsPanel.tsx:724-727).

The wardrobe control appears under her portrait only when three things are true: the model reported its parts, there is at least one, and she actually drew (FaceReceipt.tsx:150-158). A model that could not be drawn gets no wardrobe, because there would be nothing to look at while you toggled.

What it does

The list is the model's own parts, in the order the model declares them (lib/live2d-controller.ts:340-346). Each row shows the part's human name with its id underneath, or just the id when it has no name.

Clicking a row toggles that part. Whatever is switched off floats to the top of the list, because it is the short list and the one you came to undo (components/PartsWardrobe.tsx:37-45). The search box filters by name or id.

The footer counts what is off and offers put it all back, which clears every toggle at once (PartsWardrobe.tsx:100-106).

Why it works this way

The alternative — hiding a hat automatically by recognising its name — only ever works for the languages somebody thought to list. A halo, a pet or a prop nobody can name stays on, and no word list will ever fix that (PartsWardrobe.tsx:1-9).

Toggling against her live portrait is the answer that works for any model, whoever made it and in whatever language they named its pieces.

What it does not do

The toggles are not saved. setHidden calls straight into the running renderer and sets the live model's part opacity; nothing is written to the backend and nothing is written to disk (components/Live2DCanvas.tsx:148-154, lib/live2d-controller.ts:327-338). Leave the step, reload the page, or start a call, and every part is back on.

A permanent hide is a hideParts entry in the model's profile, which is a code-level configuration and not something the browser writes (lib/avatar-config.ts:25-27).

Choosing which model she wears

That is a different control, in Settings → Personality → Avatar model. It lists the models installed in the models folder and applies on reload — which its own label says (SettingsPanel.tsx:329-332). With none installed it names the folder to unpack one into rather than drawing an empty select.

Installing a model is the face step's job, not Settings': see First run in the browser.