Repository navigation
Conversation
Add conformance case 198: phase header lanes with indented task lanes on scaleBand and scaleUtc, progress fills, a go-live milestone, a status-date rule, and right-angle finish-to-start arrows routed by a case-local d3 curve on link. Connectors, progress, and the rule are decorative, so keyboard focus stops on every phase, task, and milestone. Observable Plot reference uses the same routing curve. Document the recipe in Intervals and Financial Charts, register the case in the catalog index, previews, navigation, and definition coverage records, and log F-310, F-313, and F-314 in the API friction log.
Use a focusNearestY-based strategy whose navigation sorts by y then x so arrow keys follow the lane tree, and assert the order in the unit test. Outline phase summaries with a light fill so crossing connectors stay visible in both themes. Note the fixed margin assumption in the gutter estimate and correct F-308.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
|
Thanks @greglum. The recipe keeps the new work out of the published runtime, which is a good fit here. I reviewed the source and the generated preview at One rebase detail to fix: the new entries in |
|
|
Thanks for updating the friction references. I checked the recipe independently against current main, and the recipe source is unchanged in 116d53c. The isolated Chromium checks covered initial and revised data at 320, 640 and 960 pixels in light and dark themes, then same-host updates down to 280 pixels and back. All 30 states kept 14 focusable items, 13 dependencies, finite SVG geometry and the expected keyboard order. Pointer movement at each item resolved the correct lane, and destroying each host removed its SVG. I also inspected narrow light and medium-width dark renders. This does not replace the full conformance comparison or repository checks. Those workflow gates still need approval before this can be merged. |
|
React follow-up on 116d53c: the example also passes isolated Chromium checks under React Strict Mode at 320, 640 and 960 px. All 14 keyboard stops show their expected descriptions, resizing to 280 px keeps valid SVG geometry and the accessible label, and unmounting leaves no SVG or tooltip behind. No browser errors were reported. This adds React mounting and cleanup coverage to the earlier scene checks. Full CI and reference-renderer conformance are still pending. |
|
Thanks @greglum, I completed another local verification slice at This complements the earlier interactive and React Strict Mode checks. It does not replace the pending full CI or reference-renderer conformance comparison, and I have not approved workflow execution or merged the PR. |
|
Thanks @greglum, the reference-renderer checks now pass at this same head. The repository visual assertions pass for both initial and revised data at 320, 640 and 960 pixels in light and dark themes, across Chromium, Firefox and WebKit. That covers geometry counts, guide containment, accessible naming and matching data-mark paints. An intentionally incorrect geometry count fails the verifier. The paired source/type build also passes. The full isolated package gate passes too, including bare React Native, Expo, seven adapters and the unified artifact. This is not a runtime timing benchmark or a replacement for the required CI, which remains pending. Verified head: |
This adds catalog case 198, a Gantt recipe for the pending PLAN.md item "Gantt/resource timeline with nested groups and dependencies". The conformance README asks for that item to arrive first as a recipe. There is no core change.
What it shows, using only public marks on
scaleBandlanes andscaleUtctime:linkand a small case-local d3 curve throughd3Curve. Each exits the right edge and enters the left. It routes back through the lane gutter when a successor starts before its predecessor ends.decorative, so keyboard focus stops only on phases, tasks and the milestone.focusNearestYwith a y-then-xnavigation), so arrow keys walk the plan top to bottom. Tooltips list dates, progress and predecessors.--ts-chart-*andcurrentColor.Verification:
pnpm conformance -- --case=198-gantt-dependenciespasses at 320, 640 and 960 px, light and dark, for initial and revised data. Geometry match against the Observable Plot reference is 98.7%.pnpm docs:checkandpnpm typecheckpass.Friction found while building it, logged as API entries with status monitoring:
resolvealso cannot reuse the default nearest-point lookup, because it receives points, not the scene.barXrejectsDatefields.These IDs will need renumbering if other friction entries land first. No changeset, because no published package changes.
Summary by CodeRabbit