Bind the visual properties left half-covered - #239
Draft
VPDPersonal wants to merge 1 commit into
Draft
Conversation
Twelve families on components the package already bound in part. Image type, preserveAspect, fillOrigin and fillClockwise. fillAmount was bound and the four options that decide what a fill looks like were not, so a cooldown could be driven and not shaped. RawImage.uvRect - which part of the texture is shown and how often it repeats. The component had no binder beyond its texture, and this is the property a scrolling background or a sprite sheet frame needs. A non-finite component is refused: the quad's UVs come from these four numbers and one NaN makes the image vanish. LineRenderer widthMultiplier and loop. The multiplier scales the authored width curve rather than replacing it, so a taper keeps its shape; clamped non-negative. Renderer sortingOrder, sortingLayerName and shadowCastingMode. SpriteRenderer's order was bound and the same property inherited from Renderer was not, so a line, a mesh or a trail could not be brought to the front. A sorting layer name no layer has is refused with an error: Unity ignores it silently and leaves the object where it was, which looks exactly like a depth bug. Selectable transition and targetGraphic. The colours were bound and the switch that decides whether they are used at all was not. targetGraphic is on the object base, so a destroyed graphic leaves the control untinted rather than pointing at something that no longer exists. Selectable.spriteState is deliberately left out: it is a struct of four sprites, and binding it as one value would replace all four whenever one changes. Tests: nine. Verification: recompile clean, EditMode 713. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Aug 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Twelve families on components the package bound only in part:
ImagefillAmount,sprite,colortype,preserveAspect,fillOrigin,fillClockwiseRawImagetextureuvRectLineRendererwidthMultiplier,loopRendererSpriteRenderer.sortingOrderRenderer.sortingOrder,sortingLayerName,shadowCastingModeSelectablecolors,interactabletransition,targetGraphicA cooldown could be driven and not shaped; a sprite's draw order could be set and a line's could not.
The guards
sortingLayerNamerefuses a name no layer has, with an error. Unity ignores it silently and leaves the object where it was — which looks exactly like a depth bug.uvRectrefuses a non-finite component: the quad's UVs come from those four numbers and oneNaNmakes the image vanish.widthMultiplieris clamped non-negative, and scales the authored width curve rather than replacing it, so a taper keeps its shape.targetGraphicis on the object base from Add the property bases three value types were missing #230 — a destroyed graphic leaves the control untinted rather than pointing at something that no longer exists.One deliberate omission
Selectable.spriteStateis left out. It is a struct of four sprites, and binding it as one value would replace all four whenever one changes.Verification
Nine tests. Recompile clean, EditMode 713.
🇷🇺 Описание на русском
Кратко
Двенадцать семейств на компонентах, привязанных лишь наполовину:
ImagefillAmount,sprite,colortype,preserveAspect,fillOrigin,fillClockwiseRawImagetextureuvRectLineRendererwidthMultiplier,loopRendererSpriteRenderer.sortingOrderRenderer.sortingOrder,sortingLayerName,shadowCastingModeSelectablecolors,interactabletransition,targetGraphicКулдаун можно было двигать, но не задать ему форму; порядок отрисовки спрайта — выставить, а линии — нет.
Гарды
sortingLayerNameотвергает имя, которого нет ни у одного слоя, с ошибкой. Unity игнорирует его молча и оставляет объект на месте — выглядит в точности как баг с глубиной.uvRectотвергает нефинитную компоненту: UV квада считаются из этих четырёх чисел, и одинNaNубирает изображение.widthMultiplierобрезается неотрицательным и масштабирует авторскую кривую ширины, а не заменяет её, — сужение к концу сохраняется.targetGraphicстоит на object-базе из Add the property bases three value types were missing #230: уничтоженный graphic оставляет контрол без подсветки, а не ссылкой на то, чего больше нет.Одно осознанное исключение
Selectable.spriteStateне привязан. Это структура из четырёх спрайтов, и привязка её как одного значения заменяла бы все четыре при изменении одного.Проверка
Девять тестов. Компиляция чистая, EditMode 713.