@@ -76,39 +76,39 @@ component renders instead of this one.
7676
7777## Acceptance Criteria
7878
79- - [ ] A spec ** below** the 100-schema threshold renders today's markup unchanged (legacy path) —
79+ - [x ] A spec ** below** the 100-schema threshold renders today's markup unchanged (legacy path) —
8080 verify ` model-collapse.cy.js ` passes with no edits
81- - [ ] A spec ** above** the threshold uses the windowed path, and only visible models in the viewport
81+ - [x ] A spec ** above** the threshold uses the windowed path, and only visible models in the viewport
8282 are mounted (verify in React DevTools)
83- - [ ] Boundary tested both sides — one fixture just under the threshold, one just over
84- - [ ] Scrolling through the models list renders/unmounts items correctly
85- - [ ] Collapsing and expanding the "Schemas/Models" section works as before
86- - [ ] Existing ` model-collapse.cy.js ` scenarios still pass ** with no edits** — its fixtures have 3
83+ - [x ] Boundary tested both sides — one fixture just under the threshold, one just over
84+ - [x ] Scrolling through the models list renders/unmounts items correctly
85+ - [x ] Collapsing and expanding the "Schemas/Models" section works as before
86+ - [x ] Existing ` model-collapse.cy.js ` scenarios still pass ** with no edits** — its fixtures have 3
8787 definitions each, so they take the legacy path. If any of its selectors needed changing
8888 (` .models h4 .models-control ` , ` #model-User .model-box .model-box-control ` at ` :40 ` /` :44 ` ,
8989 ` #model-Pet ` / ` #model-Order ` at ` :18 ` /` :28 ` /` :34 ` ), that means the legacy path was altered —
9090 treat it as a regression, not a test to update
91- - [ ] ` defaultModelsExpandDepth < 0 ` still short-circuits the whole section to ` null `
91+ - [x ] ` defaultModelsExpandDepth < 0 ` still short-circuits the whole section to ` null `
9292 (` models.jsx:51 ` ), and ` defaultModelsExpandDepth > 0 && isShown ` still drives initial
9393 per-model expansion (` models.jsx:131 ` )
9494- [ ] No visual regression — layout, spacing, expand/collapse of individual model unchanged
95- - [ ] No accessibility regression — keyboard navigation and screen reader order preserved
96- - [ ] Performance: initial render time for the 200+ model fixture reduced vs. the recorded baseline
95+ - [x ] No accessibility regression — keyboard navigation and screen reader order preserved
96+ - [x ] Performance: initial render time for the 200+ model fixture reduced vs. the recorded baseline
9797 (React Profiler, before/after)
98- - [ ] Unit tests updated in ` test/unit/core/plugins/json-schema-5/components/models.jsx `
99- - [ ] ` ResizeObserver ` polyfill added to ` test/unit/jest-shim.js ` and ` npm run test:unit ` green
98+ - [x ] Unit tests updated in ` test/unit/core/plugins/json-schema-5/components/models.jsx `
99+ - [x ] ` ResizeObserver ` polyfill added to ` test/unit/jest-shim.js ` and ` npm run test:unit ` green
100100 (blocking prerequisite — see Unit-test infrastructure)
101101- [ ] Bundle-size impact recorded via ` npm run deps-size ` before/after; ` @tanstack/react-virtual `
102102 adds ~ 5KB min+gzip. Flag it in the PR if the measured delta is materially larger
103- - [ ] ` swagger-ui-react ` still renders models correctly — the flavor re-exports core, so it
103+ - [x ] ` swagger-ui-react ` still renders models correctly — the flavor re-exports core, so it
104104 inherits this change with no code edit, but it is a separately published package and is not
105105 covered by the Cypress suite
106- - [ ] E2E test: models section scrolls and renders correctly with the new fixture
107- - [ ] ` #model-<Name> ` browser-anchor navigation still works below the threshold, and its
106+ - [x ] E2E test: models section scrolls and renders correctly with the new fixture
107+ - [x ] ` #model-<Name> ` browser-anchor navigation still works below the threshold, and its
108108 above-threshold breakage is accepted per
109109 [ Accepted Behavior Changes] ( #accepted-behavior-changes-confirm-with-maintainers-before-building ) .
110110 Note this is the plain browser anchor — model * deep linking* does not exist (see Technical Notes)
111- - [ ] Expanding model A, scrolling it out of view, and scrolling back shows A still expanded and
111+ - [x ] Expanding model A, scrolling it out of view, and scrolling back shows A still expanded and
112112 no * other* model wrongly expanded (guards the ` getItemKey ` requirement below)
113113
114114## Technical Notes
0 commit comments