@threenative/assets 0.3.3 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,6 +7,28 @@ managed file.
7
7
 
8
8
  Node-only. Carries the encoder dependencies the runtime must never inherit.
9
9
 
10
+ ## Cook profiles
11
+
12
+ One compiler, one asset tree, a different representation per artifact: `buildProfiles` in
13
+ `threenative.config.ts` names a set of processing options per profile, and a build picks one with
14
+ `threenative build --profile <name>` or from `buildProfiles.defaults.<target>`. With neither, the
15
+ `assets` block is used exactly as declared, which is what every project without the feature gets.
16
+
17
+ An overlay may change `audio`, `budget`, `lod`, `models`, `targets` and `textures` — the passes
18
+ themselves. It may not restate `source`, `output` or `exclude`: one project compiles one tree, and
19
+ those are refused rather than quietly producing two answers.
20
+
21
+ A `maxSize` cap is applied here, per asset kind, and never upscales. On a target whose runtime has
22
+ no WebAssembly — Android and iOS, which have no Basis transcoder and no Meshopt decoder — the cap
23
+ is applied by resizing during the compile and shipping a PNG, because a KTX2 nobody can decode is
24
+ not a smaller texture, it is an unreadable one. The dimension requested is the dimension the file
25
+ decodes to, alpha kept, and the source on disk is untouched.
26
+
27
+ Everything about appearance stays the game's: a profile decides which bytes reach the disk, never
28
+ what they look like. `node_modules/create-threenative/agent-docs/references/build-profiles.md` carries the full
29
+ contract, the `artifactBudget` / `performanceBudget` blocks and the `<artifact>.build-report.json`
30
+ a build publishes.
31
+
10
32
  ## The delete-test, and the receipt that makes it possible
11
33
 
12
34
  Every baking pass in here obeys one rule: **delete the entire baked output and the game runs