From 932e96fb3b972bd3abfe2ac162a3f33ac2de55d2 Mon Sep 17 00:00:00 2001 From: Jage9 Date: Sat, 21 Feb 2026 03:43:27 -0500 Subject: [PATCH] Update item schema docs for current item properties --- docs/item-schema.md | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/docs/item-schema.md b/docs/item-schema.md index e5f2cf2..2e58bd2 100644 --- a/docs/item-schema.md +++ b/docs/item-schema.md @@ -5,7 +5,7 @@ ```json { "id": "string", - "type": "radio_station | dice", + "type": "radio_station | dice | wheel", "title": "string", "x": 0, "y": 0, @@ -22,13 +22,14 @@ - `useSound`: optional client-played sound path when item `use` succeeds; global item field and not user-editable in V1. - `capabilities` and `useSound` are derived from global item-type definitions at runtime (not stored per-instance in persisted state). +- `useCooldownMs`: global per item type (`radio_station=1000`, `dice=1000`, `wheel=4000`), not per-instance editable. ## Persisted Item State (`server/runtime/items.json`) ```json { "id": "string", - "type": "radio_station | dice", + "type": "radio_station | dice | wheel", "title": "string", "x": 0, "y": 0, @@ -52,7 +53,10 @@ { "streamUrl": "", "enabled": true, - "volume": 50 + "channel": "stereo", + "volume": 50, + "effect": "off", + "effectValue": 50 } ``` @@ -60,6 +64,9 @@ - `enabled`: boolean on/off flag. - UI behavior: in property menu, `Enter` toggles on/off directly. - `volume`: integer, range `0-100`, default `50`. +- `channel`: one of `stereo | mono | left | right`, default `stereo`. +- `effect`: one of `reverb | echo | flanger | high_pass | low_pass | off`, default `off`. +- `effectValue`: number, range `0-100`, precision `0.1`. ### `dice` @@ -73,6 +80,20 @@ - `sides`: integer, range `1-100`. - `number`: integer, range `1-100`. +### `wheel` + +```json +{ + "spaces": "yes, no" +} +``` + +- `spaces`: comma-delimited string of values. +- Server validation: + - must include at least 1 value + - max 100 values + - each value max 80 chars + ## Packet Shapes - `item_upsert`: