Fixed: Hair, Skin, cloth, and Leather no longer become metallic. Highlight Strength was driving both _Metallic and _Smoothness, so hair at 0.6 strength received metallic 0.36 and reflected like metal. Metalness is now a per-type value carried only by metal types: Bare Metal 1.0, Painted Metal 0.35, and everything else 0. Highlight Strength still controls gloss.
Fixed: test fixtures now declare the same properties and defaults as the installed shaders, so passing tests reflect real shader behaviour. Some tests passed only because their fixtures declared a property Poiyomi does not have.
Tests with no assertions or assertions that pinned tuned numbers were removed. Nine tests were rewritten to assert behaviour rather than values.
Fixed: the documentation now matches the current tool: its version, apply API, window layout, shading defaults, and test instructions.
Fixed: Revert restores only what the tool wrote. It used to restore the whole material, silently discarding hand edits made after applying.
Fixed: a user-owned material already at the copy path is never adopted or edited. The tool marks the copies it creates and checks that mark and the source shader before reusing one. An unmarked material is refused with a message.
Fixed: generated texture names are sanitised, so a material name containing a path separator can no longer write outside the generated-texture folder. A generated texture is considered tool-owned only when its marker matches exactly. A user-owned texture whose metadata merely contains that text is never overwritten or removed.
Fixed: applying palette colours alone no longer writes numeric values. The apply call accepted but discarded its options argument, leaving the Set all colours and numeric values automatically toggle as the only deciding factor.
Fixed: the shadow mask overlay follows a skinned mesh's current pose instead of drawing in its bind pose.
Fixed: an sRGB shadow mask is decoded before merging. A mid-grey mask was read as 128 instead of 55.
Palette colours now show their labels. All remaining editor strings are translated. Unused profile fields, localisation keys, and styles have been removed.
Fixed: changing Sample Radius or Sampling Mode recalculates the palette. Previously, the new setting affected only the next click, leaving the displayed colours based on the previous setting.
Fixed: a target whose material colour or texture changed in the inspector is re-read on refresh. Previously, only shader changes were detected, so an edited material kept its old palette.
Fixed: clicking a surface without UVs no longer detaches the material in use. Previously, the tool switched to the new material before rejecting the click, so a subsequent apply could write the previous palette.
Fixed: a manually picked colour no longer carries over to the next material. It is retained when you re-sample the same material.
Fixed: Apply All works when the target list has entries but no single surface is selected.
Fixed: masking a whole slot refreshes the mask controls. The overlay no longer shows a stale mask after the material or mask texture is replaced.
Fixed: choosing the Custom material type without assigning a profile now reports the missing profile. Previously, it silently used the Generic profile.
Fixed: a black or nearly black material is no longer shaded brighter than its base. A fixed floor on shadow lightness previously made a black base's shadow lighter than the surface.
Fixed: the hex field next to the palette colour shows the correct value in a Linear project; it was being gamma-converted twice. Copy Hex now copies the current colour rather than the value from when the panel opened, and the field is labelled.
Fixed: all advanced shading values are range-checked before use. An out-of-range profile or control can no longer produce an invalid palette.
Fixed: the strength sliders now reach the shader. Rim Light Strength and Outline Strength did nothing on Poiyomi, while Backlight Strength did nothing on either shader. The apply path could not identify the numbers owned by each channel, so it dropped them. Each channel now declares all the numbers it owns, and apply writes them all.
Fixed: the rim direction range is now written instead of retaining the material's previous value, so the rim band matches the suggested shape.
Fixed: enabling a lilToon feature now sets the shader keyword as well as the toggle. Previously, turning on rim, backlight, or outline on a lilToon Multi material wrote the colour but left the feature compiled out, so nothing appeared.
Fixed: an unsupported Poiyomi rim style is now reported with a fix instead of being silently skipped. Automatic apply still configures both rim layers, as before.
Fixed: property names not declared by any shader have been removed. Every texture read now checks the property type first.