Whether you’re evaluating Prism for a new project or working through an integration detail, this page collects the questions developers ask most often. If your question isn’t covered here, open a discussion on the GitHub repository.Documentation Index
Fetch the complete documentation index at: https://docs.prism.byescaleira.com/llms.txt
Use this file to discover all available pages before exploring further.
What are the platform and Swift version requirements?
What are the platform and Swift version requirements?
| Platform | Minimum version |
|---|---|
| iOS | 26 |
| macOS | 26 |
| tvOS | 26 |
| watchOS | 26 |
| visionOS | 26 |
Can I use individual modules without importing the full package?
Can I use individual modules without importing the full package?
import Prism when you want the umbrella re-export that pulls in all seven modules at once.How does PrismUI compare to building with plain SwiftUI?
How does PrismUI compare to building with plain SwiftUI?
PrismUI gives you a finished design system on top of them. The main differences are:- Design tokens: every color, spacing, radius, elevation, typography, and motion value comes from a semantic token rather than a hardcoded literal. Swapping a theme changes the entire app’s appearance instantly.
- 80+ pre-built components: buttons, cards, forms, navigation, chat, charts, and more — all theme-aware, accessible, and following Apple HIG out of the box.
- Accessibility built in: VoiceOver labels, Dynamic Type scaling, WCAG contrast validation, and reduce-motion support are included by default.
- Consistent animation: spring and motion tokens with reduce-motion awareness, so you never hardcode durations.
PrismUI components are standard View types and compose normally with any SwiftUI code you already have.Does Prism support Swift 6 strict concurrency?
Does Prism support Swift 6 strict concurrency?
complete concurrency model. Specifically:- All actors are properly isolated (
PrismStore,PrismNetworkClient,PrismEmbeddingStore, and others areactortypes) - Public types that cross concurrency boundaries conform to
Sendable - UI components are annotated
@MainActorwhere required
How do I create a custom theme?
How do I create a custom theme?
PrismTheme protocol to provide your own token values, then apply it to your root view:BrandTheme with your primary, secondary, and accent colors:PrismAutoTheme, which applies color harmony strategies (complementary, analogous, triadic, or split-complementary) to derive the complete token set.How do I integrate Firebase, Amplitude, or Mixpanel analytics?
How do I integrate Firebase, Amplitude, or Mixpanel analytics?
PrismAnalyticsProvider protocol. Implement it for your analytics service and pass it to the .prismAnalytics() modifier on your root view:PrismButton, PrismTextField, PrismCarousel, PrismTabView, and PrismNavigationView automatically emit PrismAnalyticsEvent values through your provider. You can also track screens explicitly:PrismAnalyticsProvider.What ML frameworks does PrismIntelligence support?
What ML frameworks does PrismIntelligence support?
PrismIntelligence is built on Apple’s on-device ML stack and also supports remote LLM endpoints:| Capability | Framework / backend |
|---|---|
| Tabular classification and regression training | CreateML (MLClassifier, MLRegressor) |
| CoreML model inference | CoreML |
| Image classification | Vision (VNClassifyImageRequest) |
| Sentiment analysis, entity extraction, language detection, tokenization | NaturalLanguage |
| Vector embeddings and cosine similarity search | Custom actor (PrismEmbeddingStore) |
| RAG pipeline (chunk → embed → retrieve → generate) | PrismRAGPipeline |
| Remote LLM (OpenAI-compatible APIs, etc.) | HTTP via PrismNetwork |
How do I handle network errors and retries?
How do I handle network errors and retries?
PrismNetwork provides first-class error handling through retry policies, an offline queue, and response caching.Retry with exponential backoff:PrismOfflineQueue stores requests with priority ordering and automatically flushes them when connectivity is restored via PrismConnectivityMonitor (backed by NWPathMonitor).Response caching: Use PrismCachePolicy to choose one of four caching strategies. PrismResponseCache manages a TTL-based LRU cache so repeated requests avoid unnecessary network round trips.Request deduplication: PrismRequestDeduplicator coalesces identical in-flight requests by URL + method + body hash, preventing redundant calls when multiple parts of your UI request the same resource simultaneously.Is Prism compatible with UIKit?
Is Prism compatible with UIKit?
PrismUI components are SwiftUI View types, so they do not render natively in UIKit hierarchies. You can, however, host them inside a UIHostingController as you would any SwiftUI view:PrismArchitecture, PrismNetwork, PrismFoundation, PrismIntelligence) have no SwiftUI dependency and work in purely UIKit apps. PrismStore and PrismNetwork are plain Swift actors and can be driven from UIKit view controllers without any SwiftUI involvement.How do I write tests for PrismStore and reducers?
How do I write tests for PrismStore and reducers?
PrismStore is a Swift actor, so you test it using async/await in Swift Testing or XCTest:PrismDerivedStore lets you project a slice of state for focused assertions, and PrismTimeTravelDebugger records a snapshot history you can replay step by step during debugging.For visual regression testing of PrismUI components, use the built-in PrismSnapshotTest:PrismSnapshotTest supports light, dark, large text, and high contrast configurations out of the box.Does PrismUI support visionOS?
Does PrismUI support visionOS?
PrismUI includes spatial layout support targeting visionOS 26:PrismVolumeView— renders content in a visionOS volumePrismOrnamentView— glass ornaments attached to a windowprismDepth()andprismDepthStack— depth layering usingPrismDepthStackprismOrnament()andprismHover()— spatial interaction modifiers
HighContrastTheme is particularly useful for visionOS accessibility because it passes WCAG AAA contrast ratios in all environments.PrismUI uses buttonStyle(.glass) and .glassProminent natively on visionOS via PrismGlassContainer and the .glass button variant, so your app’s chrome feels at home in the spatial computing environment.How do I export design tokens to Figma or other tools?
How do I export design tokens to Figma or other tools?
PrismTokenExport to export all six token types in JSON or Figma DTCG format:BrandTheme using PrismFigmaSync.importFigma(_:), which creates a fully populated theme from your design tool’s variable definitions. This gives you a bidirectional sync workflow between your Figma file and your Swift codebase.How do I add a plugin or extend the component library without forking?
How do I add a plugin or extend the component library without forking?
Does Prism enforce any code style in my project?
Does Prism enforce any code style in my project?
swift-format, SwiftLint, or no formatter at all — Prism integrates cleanly regardless of your code style choices.