Skip to content
CAI
Software that uses CAICheck a score

exyte/Grid

69.6

Adequate · 1 October 2026

3.3k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

ExyteGrid is a multi-platform layout framework for iOS, macOS, and tvOS that provides flexible grid arrangement capabilities. It supports various layout modes including flow, packing, and drag reordering, with features like hover zoom and adaptive calculator demos. The system includes in-memory caching for performance optimization and is distributed via Swift Package Manager.

Features

Introduce in-memory layout caching for Grid

Grid now supports an in-memory cache for layout calculations, configurable via the \cache\ parameter (\.inMemoryCache\ or \.noCache\). This feature, available on iOS, watchOS, and tvOS, stores the results of arrangement and positioning tasks to avoid redundant computation when the grid content or container size changes, improving performance for complex or frequently updating grids.

Sources · high confidence

New Example app with multi-platform support and interactive grid demos

The Example app has been restructured to use the modern SwiftUI app lifecycle and supports iOS, macOS, and tvOS. The main interface now presents a list of interactive examples demonstrating ExyteGrid features, including Calculator, Spans, Starts, Flow, Content mode, Packing, Spacing, Hover Zoom, Pixel Test, Drag Reorder, and Grid in Scroll. The Calculator demo specifically showcases adaptive layouts that switch between system and alternative modes based on device orientation.

Example/Example · high confidence

Architecture

Grid framework project structure and configuration

The Grid.xcodeproj project file has been created to define the build configuration for the Grid framework. This includes the source file references for the grid layout logic (such as LayoutArranging, GridGroup, and GridElement), the inclusion of test targets (GridTests), and the setup of the build scheme to build the framework and run tests. This change establishes the project structure required to compile and test the Grid library.

Grid.xcodeproj · high confidence

Behavioural changes

Added Grid\_Example build scheme for Xcode

The Xcode project now includes a dedicated build scheme (Grid\_Example.xcscheme) that configures the Grid\_Example app target for building, running, testing, profiling, and archiving. This ensures the example application can be launched and debugged directly from Xcode without manual scheme configuration.

Example/Example.xcodeproj/xcshareddata · high confidence

Example app restructured with new layout demos and SwiftLint

The Example app project has been reorganized to include a broader set of demonstration views, specifically adding examples for packing, spacing, spans, starts, flow, content mode, card views, drag reordering, grid in scroll, hover zoom, and pixel testing, alongside a basic calculator implementation. The project structure now groups these into Views, Extensions, and Calculator folders, and integrates SwiftLint into the build phases to enforce code style.

Example/Example.xcodeproj · high confidence

Example project workspace restructured for Xcode universal target and Swift Package Manager

The Example project's Xcode workspace has been reconfigured to support a universal target and Swift Package Manager (SPM) integration. This change updates the workspace configuration files to reflect the new project structure, ensuring compatibility with the updated build system and dependency management approach.

Example/Example.xcodeproj/project.xcworkspace · medium confidence

Test coverage

Added unit tests for grid layout arrangement and positioning

Added new test suites in the Tests directory to verify the grid layout engine's behavior. ArrangingTest.swift covers sparse and dense row-based arrangement logic along with performance benchmarks. ArrangingWithStartsTest.swift validates arrangement when specific start positions are provided. PositionColumnScrollTest.swift and PositionRowsScrollTest.swift test the repositioning logic for scroll modes in both column and row flows. Supporting test info plists for iOS and macOS were also added.

Tests · high confidence

Dependencies

Add Swift Package Manager support

The library is now available via Swift Package Manager, allowing users to integrate ExyteGrid into iOS 14+, macOS 10.15+, and tvOS 14+ projects using the standard Package.swift manifest.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 70 → 70 (-0.1)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 98 → 97 (-0.5)
  • Architecture 100 → 100 (-0.3)
  • Maturity 55 → 55 (+0.2)
  • Readiness 64 → 66 (+2.6)
  • Security 100 → 100 (+0.0)

Resolved (3)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Hotspot: Sources/GridLayoutMath/LayoutPositioning.swift (Sources/GridLayoutMath/LayoutPositioning.swift)

New (6)

  • Coverage not measured — Swift suite
  • Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
  • Duplicated block (5 lines × 2) (Example/Example/PixelTestExample.swift)
  • Duplicated block (5 lines × 2) (Example/Example/PixelTestExample.swift)
  • Duplicated block (5 lines × 4) (Example/Example/PixelTestExample.swift)
  • LayoutArrangement.description (cognitive 16) (Sources/Models/LayoutArrangement.swift)

Changes since last survey

  • 1 commits — 0 feature/other, 1 fixes

By area

  • Example/Example — 1 commit

Notable commits

  • fix: Fix overlapping in ScrollView

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

exyte/Grid was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit c4d1cabb0c7fcbd35f664c31ad23e7aa32bc3dd4 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.