Parent: #243. CSS epic: #235.
Proven hot path
Pinned unchanged Code OSS repeatedly assigns tabIndex in action-bar/toggle focus, blur, enable, disable, and set-focusable paths; the pattern occurs across 175 TypeScript files. WebScene's IDL setter always rewrote the attribute and recascaded the connected subtree even when the exact canonical authored string was unchanged.
Scope
Use the existing Int32 conversion, preserve feature accounting, serialize once, and return only when a present tabindex attribute exactly equals the canonical serialization. Absent attributes still get created; noncanonical text such as 00 still normalizes to 0; changed focus order/selector state still recascades.
Acceptance
No build, test, benchmark or formatter was executed.
Parent: #243. CSS epic: #235.
Proven hot path
Pinned unchanged Code OSS repeatedly assigns
tabIndexin action-bar/toggle focus, blur, enable, disable, and set-focusable paths; the pattern occurs across 175 TypeScript files. WebScene's IDL setter always rewrote the attribute and recascaded the connected subtree even when the exact canonical authored string was unchanged.Scope
Use the existing Int32 conversion, preserve feature accounting, serialize once, and return only when a present
tabindexattribute exactly equals the canonical serialization. Absent attributes still get created; noncanonical text such as00still normalizes to0; changed focus order/selector state still recascades.Acceptance
git diff --checkpasses.No build, test, benchmark or formatter was executed.