Skip to content

Split ArcCanvas.jsx into per-component files (#2835)#2862

Merged
atomantic merged 2 commits into
mainfrom
claim/issue-2835
Jul 22, 2026
Merged

Split ArcCanvas.jsx into per-component files (#2835)#2862
atomantic merged 2 commits into
mainfrom
claim/issue-2835

Conversation

@atomantic

Copy link
Copy Markdown
Owner

Summary

client/src/components/pipeline/ArcCanvas.jsx had grown to ~2875 lines holding 32 top-level components/helpers. This is a pure mechanical, behavior-preserving split: each subcomponent now lives in its own file under client/src/components/pipeline/arcCanvas/, following the one-concern-per-file convention.

  • 27 component files + shared.js (holds the SEVERITY_COLORS map used by both VerifyResults and CompletenessResults).
  • Single-use constants/pure helpers are co-located with their sole consumer (e.g. VERIFY_ARC_SCOPE in ArcHeader.jsx, ISSUE_STATUS_COLORS/issueCoverRecord in IssueRow.jsx, pickRenderedFilename/pickCoverJobId in CoverArt.jsx, the cover-slot reducers in VolumeCoverLiveUpdates.jsx).
  • ArcCanvas.jsx (default export) is now a thin 122-line composer.
  • ArcRoadmapChart is re-exported from ArcCanvas.jsx so its existing public import path ({ ArcRoadmapChart } from '.../ArcCanvas', used by PipelineSeriesRoadmap) keeps working. The default export path (used by PipelineSeries, StoryBuilder) is unchanged.

No rendered-output change — component code is copied verbatim; only import depths were adjusted (arcCanvas/ is one level deeper than pipeline/).

Test plan

  • cd client && npm test — 416 files / 4555 tests pass.
  • npx eslint over ArcCanvas.jsx + arcCanvas/ — clean (no unused/undefined imports).
  • cd client && npm run build — production build succeeds, confirming the ArcRoadmapChart re-export and all sibling imports resolve.

Closes #2835

@atomantic
atomantic merged commit 3609414 into main Jul 22, 2026
2 checks passed
@atomantic
atomantic deleted the claim/issue-2835 branch July 22, 2026 01:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Split ArcCanvas.jsx (~2875 lines, 32 top-level components) into per-component files

1 participant