The drop-in baseline preserves framework backward-compatibility contracts by recording expected defaults and states.
Explicit value comparisons are enforced and omitted snapshot entries are reported to detect unintended default modifications.
* DropInSnapshot:
* Record booleans, numbers and strings by value.
* Serialize plain objects with sorted keys, and record functions
and circular references without raising an exception.
* Extract DropInViewState, and isolate each getter so that an
exception leaves the remaining state intact.
* Add throwIfError, so that a generator does not save an exception
as expected state.
* Add a skipped list that names each class or window style left out
of a snapshot.
* Add DropInCibTree, with view, menu and object descriptions and a
cib owner, to describe the objects a cib produces.
* DropInBaselineGenerator: Pass throwIfError and print each skipped
entry.
* DropInBaseline: Regenerate with recorded values and sorted keys.
Adds targeted test infrastructure and validation checks to protect table drawing hooks and drop-in framework contracts against unintended modifications.
* CPTableViewDrawingTest: Verifies subclass invocation order for drawing steps and ensures application-specified background colors persist across theme-state changes.
* DropInCompatibilityTest: Validates default theme names, window control configurations, pop-up button bezel styles, and table class defaults.
* DropInSnapshot: Encapsulates theme attribute defaults, public API surface, default view construction, and window controls as structured data.
* DropInBaselineGenerator: Provides tooling to capture current framework state as a baseline.
* DropInBaselineTest: Compares framework artifacts against the established baseline, permitting additions while reporting modifications and removals.
* DropInBaseline.json: Introduces the initial compatibility baseline artifact.