Latest revision by default; pins are opt-in per product, for what one wears

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
dhkatzandClaude Opus 5.5 committed 2026-10-29 02:34:47 -07:00
1 parent 5db4939799
commit 54e569bea3
1 file changed
+7 -4
+7 -4
View File
@@ -138,9 +138,11 @@ number, `productdata/<id>/<revision>/`) but hardly shows them; T5DE shows them o
- **History on every product's page**, for everyone: each revision's number and date, the creator's notes (what
changed, required when publishing), a preview image, the files added, removed or changed (with sizes), its
rating, and which catalogs host it. Any two revisions can be compared.
- **Which revision people get**: by default an outfit follows the **latest** revision, as on IMVU. A wearer can
instead **stay on** a revision (if they prefer an older look), shown as such on their outfit. What a wearer
broadcasts in a room is always a concrete revision, so everyone sees the same one.
- **Which revision people get** (**Decided**): always the **latest**, everywhere, by default. A person can opt in,
per product, to **stay on** a revision they prefer: a setting on the product's page, kept per person (all their
IMVU accounts), and only for what they wear. Rooms always use the latest revision of their furniture. Outfits and
scenes store just the product; the proxy picks the revision when loading (the pin if there is one, else the
latest), and what a wearer broadcasts in a room is always a concrete revision, so everyone sees the same one.
- **Old revisions stay available**, so outfits and rooms keep working. A creator can **retract** a broken
revision: it's marked retracted in the history, and anyone following or staying on it moves to the nearest
revision that isn't. Only moderation removes a revision outright (shown as "removed by moderation", with the
@@ -292,7 +294,8 @@ product(id, creator, rating, slot, derived_from, price)
revision(product, number, manifest_sha256, signature, notes, created_at, status, extra_maps)
hosting(catalog, revision)
ownership(person, product, source, price)
outfit(imvu_link, items[(product, pinned revision or latest)])
pin(person, product, revision)
outfit(imvu_link, items[product])
room(id, owner, scene, furniture[], roles, bans)
report(...), moderation_action(...), audit(...)
```