Audit
React vs Cronus parity
Every family in the React catalog and the kernel registry, with the latest audit run: the same fixture rendered by @cronus-ui/ui and by the Rust kernel from .cronus, compared slot by slot, pixel by pixel and by behavior.
- Families
- 214
- 212 documented components
- Ported to .cronus
- 186
- 2 stub · 26 React only
- Parity match
- 185
- 1 with diffs · 0 not run
- Fixtures
- 203
- geometry 203/203 · logic 195/195
- Pixel diff
- 1836 px
- 1 fixture over budget
- Style props
- 1
- report-only mismatches
Generated 2026-09-16 · kernel 1b465a2
| Family | Kernel | Fixtures | Geometry | Pixel diff | Logic | Parity |
|---|---|---|---|---|---|---|
| accordion | Ported | 2 | 2/2 | 0 px | 2/2 | Match |
| actions | React only | — | — | — | — | Not ported |
| ai-code-block | React only | — | — | — | — | Not ported |
| ai-image | React only | — | — | — | — | Not ported |
| alert | Ported | 2 | 2/2 | 0 px | 1/1 | Match |
| alert-dialog | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| animated-button | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| animated-checkbox | Ported | 2 | 2/2 | 0 px | 1/1 | Match |
| animated-list | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| animated-number | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| app-shell | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| area-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| artifact | React only | — | — | — | — | Not ported |
| aspect-ratio | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| aurora-background | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| author-tooltip | React only | — | — | — | — | Not ported |
| autocomplete | Ported | 1 | 1/1· 1 props | 1836 px | 1/1 | Diff |
| avatar | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| avatar-group | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| badge | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| banner | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| bar-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| border-beam | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| bouncy-accordion | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| branch | React only | — | — | — | — | Not ported |
| breadcrumb | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| button | Ported | 3 | 3/3 | 0 px | 6/6 | Match |
| button-group | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| calendar | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| candlestick-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| card | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| card-stack | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| carousel | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| chain-of-thought | React only | — | — | — | — | Not ported |
| chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| checkbox | Ported | 2 | 2/2 | 0 px | 1/1 | Match |
| chip | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| choropleth-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| click-spark | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| code-block | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| code-tabs | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| collapsible | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| color-picker | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| combobox | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| command | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| comparison-slider | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| component-preview-tooltip | React only | — | — | — | — | Not ported |
| composed-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| confetti | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| confirmation-dialog | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| context | React only | — | — | — | — | Not ported |
| context-menu | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| conversation | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| copy-button | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| countdown | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| credit-card-input | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| currency-input | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| data-table | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| date-picker | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| date-range-picker | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| description-list | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| dialog | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| dock | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| dot-pattern | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| drawer | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| dropdown-menu | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| dynamic-island | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| empty | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| expandable-tabs | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| explore-nav | React only | — | — | — | — | Not ported |
| fab | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| family-wallet | React only | — | — | — | — | Not ported |
| field | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| file-dropzone | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| flickering-grid | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| flip-card | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| floating-label-input | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| form | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| frame | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| funnel-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| gauge-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| glare-hover | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| glass-card | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| globe-3d | React only | — | — | — | — | Not ported |
| globe-wireframe | React only | — | — | — | — | Not ported |
| goal-card | React only | — | — | — | — | Not ported |
| gradient-border | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| gradient-text | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| grid-pattern | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| heatmap | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| heatmap-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| highlighter | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| hover-card | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| image-zoom | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| images-badge | React only | — | — | — | — | Not ported |
| inline-citation | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| input | Ported | 3 | 3/3 | 0 px | 2/2 | Match |
| input-group | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| input-otp | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| invite-dialog | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| json-viewer | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| kanban | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| kbd | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| label | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| light-rays | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| lightbox | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| line-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| link-preview | React only | — | — | — | — | Not ported |
| live-line-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| loader | Ported | 2 | 2/2 | 0 px | 1/1 | Match |
| logo-carousel | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| magnetic | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| marquee | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| masonry | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| menubar | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| message | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| meteors | — | — | — | — | Not ported | |
| metric | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| mode-toggle | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| morphing-popover | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| motion-presets | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| multi-select | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| navigation-menu | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| noise | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| notification-center | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| number-flow | Ported | 3 | 3/3 | 0 px | 1/1 | Match |
| number-input | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| open-in-chat | React only | — | — | — | — | Not ported |
| orbit | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| pagination | Ported | 2 | 2/2 | 0 px | 2/2 | Match |
| particles | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| password-input | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| phone-input | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| pie-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| pill-nav | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| plan | React only | — | — | — | — | Not ported |
| popover | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| profit-loss-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| progress | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| progressive-blur | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| prompt-input | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| queue | React only | — | — | — | — | Not ported |
| radar-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| radio-group | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| rating | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| reasoning | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| receive-button | React only | — | — | — | — | Not ported |
| resizable | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| response | React only | — | — | — | — | Not ported |
| retro-grid | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| reveal | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| rich-text-editor | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| ring-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| ripple | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| sankey-chart | — | — | — | — | Not ported | |
| scatter-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| scheduler | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| scramble-text | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| scroll-area | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| scroll-nav | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| scroll-progress | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| segmented-control | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| select | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| separator | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| sheet | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| shimmer | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| shiny-text | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| sidebar | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| signature-pad | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| skeleton | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| slide-up-text | Ported | 2 | 2/2 | 0 px | 1/1 | Match |
| slider | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| sonner | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| sources | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| sparkles-text | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| sparkline | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| spinner | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| spinning-text | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| split-button | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| spotlight-card | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| star-border | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| status-dot | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| stepper | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| suggestion | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| sunburst-chart | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| switch | Ported | 2 | 2/2 | 0 px | 1/1 | Match |
| table | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| table-of-contents | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| tabs | Ported | 2 | 2/2 | 0 px | 2/2 | Match |
| tags-input | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| task | React only | — | — | — | — | Not ported |
| terminal | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| text-effect | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| text-shimmer | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| textarea | Ported | 2 | 2/2 | 0 px | 1/1 | Match |
| tilt-card | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| time-picker | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| timeline | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| toast | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| todo-item | React only | — | — | — | — | Not ported |
| toggle | Ported | 2 | 2/2 | 0 px | 1/1 | Match |
| toggle-group | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| token-swap | React only | — | — | — | — | Not ported |
| tool | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| toolbar | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| tooltip | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| tree-view | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| typing-text | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| usage-meter | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| video-player | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| web-preview | React only | — | — | — | — | Not ported |
| word-rotate | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
| words-preloader | React only | — | — | — | — | Not ported |
| workspace-switcher | Ported | 1 | 1/1 | 0 px | 1/1 | Match |
Geometry pairs every data-slot between the React and Cronus panes (rect, typography, colors, radius, border, text); a mismatch fails the audit. Style props (shadow, opacity, per-side borders…) and pixel diffs over 50 px are report-only. Logic checks tags, attributes and behavior. A dash means not run.