Phase 6 updates

Phase 6 · Slice 14 ·

Sprite sheets, UI animation, max texture size

  • SwampAttack's props floated in the sky: sprite sheets (Sprite Mode Multiple) weren't imported at all, so every sprite of a sheet was the whole texture. sprite_sheets (6000.3): a sheet's sprites by their own rects, pivots (presets and custom) and borders, found by file ID in all three meta formats (fileIDToRecycleName before 2019.3, internalID with internalIDToNameTable or nameFileIdTable after); single sprites' pivot presets and borders (both were ignored); Resources.Load of a sheet gives its first sprite and LoadAll on the file all of them (project images now load through their importer settings in Resources too).
  • Max texture size (recorded): a texture larger than its importer's max size is scaled to fit exactly (300x100 at 128 is 128x43), sprite rects scale per axis and round, borders scale, pixels per unit scales by the smaller ratio.
  • ui_animation (6000.3): an Animator playing curves on a RectTransform (anchored position, size, anchors, scale), a CanvasGroup's alpha and an Image's color. Curves on engine components now set their public properties rather than private fields of the same serialized name (RectTransform's anchor setters keep anchoredPosition; Graphic's color setter redraws); uGUI scripts in Unity's old UnityEngine.UI.dll resolve for curves too. RedRunner's menus animate without warnings.
  • Corpus: nine more MIT projects in corpus/projects.json (Unity's 2D Playground, Sebastian Lague's platformer, a card game, a match-3, top-down racing, a factory puzzle, platformers from Unity 5.3 to 6000.6); not run yet.
  • Next: run the grown corpus and close what it shows; CompositeCollider2D; Odin-serialized fields; UI Toolkit.