Phase 6 updates

Phase 6 · Slice 68 ·

Pet Simulator and UiCard as their READMEs show them

  • PhysX: bodies with only trigger shapes no longer assert in the inertia computation (mass without it, as Unity's); PhysX's warnings go to the log instead of stdout (the MCP channel), and its asserts are logged, not aborting.
  • Legacy model imports resolve sub-assets by fileIDToRecycleName (and internalIDToNameTable) IDs, and FBX faces without a material get Unity's "No Name" material under its ID; clip positions take the import's scale.
  • An overlay canvas under a scaled parent stays screen-sized.
  • Project shaders: writes to global variables (Unity's compiler allows them) become statics starting from the uniform; SubShader tags apply to the passes after them; every pass of the drawn LightMode draws (Toon outline passes); fragment out ... : COLOR parameters are targets; unity_CameraToWorld/unity_WorldToCamera; shadow macros without a normal push toward the light.
  • World-space TextMeshPro is 10 points per unit whatever the camera (recorded in ui_text: "tmp world preferred"), its vertex colors carry the font color (linear), and its glyphs are at most 128 px.
  • Font textures: a glyph rasterized while the texture grew took another glyph's bitmap (scrambled letters); a full texture's reset now tells texts too; TextMeshPro texts told mid canvas rebuild refresh after it, legacy Text regenerates at once (as Unity's).
  • Pet Simulator runs (it exited on the PhysX assert) with its menu and the toon fox as its README shows; UiCard's zone labels match its GIFs.