Repository navigation
Conversation
Why Unconditional descendant traversal can keep following cyclic references and scans closed collections while calculating the height of a selector. What Changed Respect the requested child depth, retain independent property copies, and scope owned iterators. Stop a drawing iteration after a child changes its structure. Cover cyclic Inspector editing, child depth and copy behavior, and array resize. Impact Inspector work remains finite for the required children without changing type eligibility, labels, or collection element enumeration.
Why A type-wide drawer instance shares state across unrelated Inspector fields and has neither the declaring-field context nor Unity's normal lifetime owner. What Changed Use Unity's current property-handler chain to measure and draw subtype content. Cache only drawer-type metadata for the public type-only lookup, which now returns an unbound caller-owned instance. Impact Contextual drawers receive Unity's field metadata, nesting and disposal behavior. Public lookup signatures and type-discovery policies remain unchanged.
Why Subtype drawers must observe the declaring field and retain state only within Unity's normal Inspector ownership boundaries. What Changed Exercise registered consumer drawers through native Inspector editors across hosts and independent fields, including edits, forwarding and owner disposal. Check the public type-only helper's fresh unbound caller-owned results. Impact Detects the previous missing field context and protects native drawer behavior on both supported Unity baselines without asserting private cache structure.
Why Menu callbacks retain expired property iterators and can lose buffered edits or operate on another collection element after the serialized structure changes. What Changed Capture one-shot host and path correspondence without retaining property iterators, reconcile pending edits, and validate every host before a command. Use scoped fresh properties and each host's current type and values for edits. Keep popup selection callbacks in a short-lived dropdown session. Impact Valid menu actions preserve edits and Undo; stale targets safely cancel. Cached popup metadata does not retain an operation's target snapshots. Existing clipboard scopes and JSON field-preservation semantics remain intact.
Why A host or inline object can implement IList for unrelated purposes. Capturing a normal reference field must not invoke that object's collection interface. What Changed Capture immediate collection elements only when the serialized property path actually traverses an array or List index. Impact Normal field ancestry uses identity comparison without calling unrelated user Count or indexer code; actual collection retarget detection is preserved.
Why Menus must preserve the caller's edits and operate on the intended serialized reference after deferral, while retaining normal Undo and persistence behavior. What Changed Exercise context commands and real popup selections for buffered edits, valid nested targets, stale references, collection correspondence and multiple hosts. Verify Prefab overrides and source preservation for replacement and live paste, including Undo, Redo and saved-scene readback. Impact Consumer tests detect lost edits and redirected callbacks without depending on private target-token or cache structure. Test assets stay outside the package.
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
Scope
Assets/Tests.IDisposable.Verification
Explicitgeneric value-type variance reproductions skipped. Those known generic-policy defects remain outside this lifecycle change.b6dec37matched those totals, with all 65 new lifecycle cases passing on each version. The finalVerificationcheck succeeded.