diff --git a/docs/pack.md b/docs/pack.md index a088aa9..c6cf78d 100644 --- a/docs/pack.md +++ b/docs/pack.md @@ -75,12 +75,15 @@ rest: | `BodyPatternProductId` | optional integer | | `__DATAIMPORT` | optional: `product:///index.xml`, the IMVU product it derives from | -A product derives from an IMVU parent product, as every IMVU product does: the client loads the parent's files -first (from IMVU, as usual) and the pack's files on top. So a pack holds only what it changes, and the parent's -files never pass through T5DE. +A product usually derives from an IMVU parent product (a derivable mesh), as products made in Create Mode do. The +client asks IMVU for the parent's whole derivation chain and loads the parents' files from IMVU, and the pack's +files on top of them: a pack file with the same name as a parent's replaces it (checked with a texture in client +554.8). So a pack holds only what it changes, and the parents' files never pass through T5DE. ## How the proxy serves a pack The proxy builds the files into a CFL, IMVU's product container (package `cfl`), uncompressed, files in name -order, and serves it where the client asks for the product's files. The revision is part of the address the -client caches the product under, so a new revision makes clients load the new files. +order, and serves it at `productdata//`, the address the client asks for. The client caches a +product's files by that address and file name, so a new revision makes clients load the new files. The proxy +picks up changed files within a revision too, but a running client may keep the files it already loaded: raise +the revision to be sure.