Skip to content

Packages

The engine ships as 41 packages — the @flare-engine/* scope plus the unscoped create-flare-app scaffolder — organized into the layers below. You install only the layers you use — most apps pull the @flare-engine/engine umbrella plus @flare-engine/react.

L0Foundation

Zero-dependency primitives — math and events.

  • @flare-engine/events

    Type-safe EventEmitter and Signal

    Exports
    4 EventEmitter, Signal, +2 more
  • @flare-engine/math

    Vec2, Rect, Transform, Color, easings, intersection tests

    Exports
    82 advanceWindowedStreak, angleDelta, approxEquals, cappedBonus, choose, Circle, +76 more

L1Core Runtime

The game loop, ECS world, clock, pooling, and coroutines.

  • @flare-engine/core

    GameLoop, Clock, AppLifecycle, Pool, Coroutines

    Exports
    12 AppLifecycle, Clock, CoroutineManager, GameLoop, Pool, ScreenManager, +6 more
    Depends on
    events, math
  • @flare-engine/ecs

    Entity-Component-System with archetype queries

    Exports
    26 _resetComponentIds, createBoundsCullSystem, createFollowerSystem, createLifetimeSystem, createMovementSystem, createOrphanCullSystem, +20 more
    Depends on
    events, math

L2System Modules

Per-frame systems — rendering, input, physics, audio, and assets.

  • @flare-engine/assets

    Asset loading, sprite sheet parsing

    Exports
    28 addAnimation, AssetManager, createProceduralAtlas, createSpriteSheet, createTexture, decodeImage, +22 more
    Depends on
    events
    Peers
    @shopify/react-native-skia
  • @flare-engine/audio

    AudioManager, SFX pool, music crossfade

    Exports
    15 AudioManager, createChannels, Music, SFXPool, +11 more
    Peers
    react-native-audio-api
  • @flare-engine/input

    InputManager, VirtualJoystick, gesture handling

    Exports
    46 applyRemap, createButtonState, createGamepadState, createIdentityRemap, createJoystickState, createPointer, +40 more
    Depends on
    events, math
    Peers
    react-native-gesture-handler
  • @flare-engine/physics

    AABB collision, spatial index, raycasting

    Exports
    22 AABB, buildSolidGrid, CircleShape, CollisionWorld, createCollider, isBlockedAABB, +16 more
    Depends on
    events, math
  • @flare-engine/progression

    Meta-progression primitives: upgrade tracks, drop-roll with pity, unlock DAG, tier resolution, collectible registry

    Exports
    18 createCollectibleRegistry, createDropTable, createUnlockDag, createUpgradeTrack, resolveTier, resolveTierIndex, +12 more
    Depends on
    math
  • @flare-engine/render

    SpriteBatch (Skia Atlas), Camera2D, SpriteEffects

    Exports
    86 Camera2D, CAVE_INTERIOR_SKSL, caveInterior, createFrameRenderer, createRenderSystem, custom, +80 more
    Depends on
    assets, ecs, math
    Peers
    @shopify/react-native-skia
  • @flare-engine/shapes

    Procedural 2D shape primitives for Skia — atomic primitives + SVG path escape hatch, composable for fast game prototyping

    Exports
    24 applyFriendlyGlow, applyHazardGlow, argbTo, drawShape, friendlyGlowArgb, hazardGlowArgb, +18 more
    Peers
    @shopify/react-native-skia

    Zero-dep Skia shape primitive — Layer 2 Systems per roadmap.md (not a UI/post-FX package).

  • @flare-engine/simulation

    Continuous-time dynamics: n-body gravity, Verlet integration, wave-packet ripples

    Exports
    17 createNBodySystem, createRipplePool, createScalarField, createStigmergy, decideTurn, leapfrogInto, +11 more
    Depends on
    math

L2.5Persistence & reliability

Storage, error handling, testing, localization, deep links, share, and accessibility.

  • @flare-engine/a11y

    Accessibility primitives — reduced motion, contrast tokens

    Exports
    19 A11yManager, auditColors, contrastRatio, createA11yBridge, dampenedMotion, deltaE, +13 more
    Depends on
    events, math
  • @flare-engine/deep-links

    URL → scene+params router with web history + native Linking adapters

    Exports
    14 createMemorySource, createNativeSource, createWebSource, DeepLinkManager, DeepLinkRouter, parseUrl, +8 more
    Depends on
    events
  • @flare-engine/errors

    React error boundary, structured crash payload, pluggable crash transport

    Exports
    10 composeTransports, createConsoleTransport, createCrashPayload, createNoopTransport, createSentryTransport, ErrorBoundary, +4 more
    Peers
    @sentry/react-native, react
  • @flare-engine/localization

    String tables, locale resolution, ICU-style plurals + interpolation

    Exports
    12 formatMessage, formatTimestamp, LocalizationManager, pluralCategory, resolveLocale, +7 more
    Depends on
    events
  • @flare-engine/share

    Screenshot capture + cross-platform share sheet

    Exports
    22 base64ToBytes, bytesToBase64, captureScreenshot, createNativeShareTransport, createScreenshotScene, createWebClipboardTransport, +16 more
  • @flare-engine/storage

    Persistent key/value storage with typed schema, migrations, save slots, and JSON import/export

    Exports
    21 createDocumentStore, createIndexedDbAdapter, createMemoryAdapter, createMmkvAdapter, createStorage, defineMigrationChain, +15 more
  • @flare-engine/testing

    Deterministic World factory, fake Clock, mock InputManager, and scene snapshot helpers

    Exports
    17 createBenchSession, createFakeClock, createMockInputManager, createTestWorld, defineSnapshot, MockInputManager, +11 more
    Depends on
    core, ecs, input, math

L3Feature Modules

Scenes, animation, particles, tilemaps, debug, and genre packages.

  • @flare-engine/animation

    Sprite animation, tweens, springs, timeline

    Exports
    38 addTween, applyModifier, chainTween, clearTweens, createSpriteAnimator, createStepSequence, +32 more
    Depends on
    assets, math
  • @flare-engine/debug

    Dev overlay, stats, entity inspector, time controls

    Exports
    26 createBootTrace, createFpsWidget, createFrameBudget, createPerfRecorder, DebugOverlay, emitPerfReport, +20 more
    Depends on
    core
  • @flare-engine/dialogue

    Dialogue graph runtime — lines, choices, conditions, variables, text-over-time reveal

    Exports
    28 completeTextReveal, createDialogueGraph, createDialogueRunner, createTextReveal, getNode, interpolate, +22 more
    Depends on
    events
  • @flare-engine/particles

    Particle emitter, pool, immediate-mode Skia rendering

    Exports
    4 ParticleEmitter, ParticlePool, +2 more
    Depends on
    core, math
  • @flare-engine/pathfinding

    A* grid pathfinding, Jump Point Search, and navmesh for 2D scenes and apps

    Exports
    24 chebyshevDistance, createGrid, createNavMesh, euclideanDistance, findNavMeshPath, findPath, +18 more
    Depends on
    math
  • @flare-engine/scene

    Scene manager, transitions, lifecycle

    Exports
    9 fadeTransition, noneTransition, SceneManager, slideTransition, +5 more
    Depends on
    ecs, math, render
  • @flare-engine/tilemap

    Tiled/LDtk parser, culled tilemap renderer

    Exports
    16 createTilemapData, extractColliders, getTileAt, getTilesetForGid, getTileSourceRect, parseLDtk, +10 more
    Depends on
    assets, math, physics, render

L3.5UI & post-processing

The themed UI kit and the Skia post-FX stack.

  • @flare-engine/postfx

    Skia RuntimeEffect post-processing: vignette, bloom, CRT, chromatic aberration, grayscale flash

    Exports
    53 BLOOM_SKSL, CHROMATIC_ABERRATION_SKSL, COLOR_GRADING_LUT_SKSL, COMPOSITE_SKSL, createBloom, createChromaticAberration, +47 more
    Peers
    @shopify/react-native-skia
  • @flare-engine/ui

    UI kit — themed primitives, focus navigation, flex layout resolver

    Exports
    52 Button, createFocusManager, darkTheme, DialoguePanel, FocusContext, FocusProvider, +46 more
    Peers
    react, react-native

L4Integration

React / React Native bindings and the umbrella entry point.

  • @flare-engine/engineumbrella

    Flare Engine umbrella — convenience entry point, re-exports all packages

    Own exports
    14 createGame, createTier2Wiring, +12 more
    Re-exports
    15 packages
    Depends on
    animation, assets, audio, core, debug, ecs, events, input, math, particles, physics, react, render, scene, tilemap
    Peers
    @shopify/react-native-skia, react, react-native, react-native-audio-api, react-native-gesture-handler
  • @flare-engine/react

    GameView, hooks, VirtualJoystick, VirtualButton

    Exports
    33 createSkiaFrameRenderer, GameContext, GameView, LoadingScreen, renderShapesToImage, SafeAreaContext, +27 more
    Depends on
    assets, audio, core, ecs, events, input, math, render, scene
    Peers
    @shopify/react-native-skia, react, react-native, react-native-gesture-handler, react-native-safe-area-context
  • @flare-engine/render-web

    CanvasKit-backed web renderer for @flare-engine/render frame-renderer

    Exports
    5 createPostFxSurface, createWebSkiaModule, createWebSurface, loadCanvasKit, +1 more
    Depends on
    postfx, render
    Peers
    canvaskit-wasm

    Web analog of @flare-engine/react — composes render + postfx via CanvasKit. Layer 4 per engine architecture.md (0.2.1 doc reconcile).

L5Tooling

CLIs and devtools — Node-side, off the device size budget.

  • @flare-engine/cli

    Flare engine CLI — pack-atlas, tiled-to-flare, new app scaffolder

    Exports
    13 convertTiled, packAtlas, +11 more
  • @flare-engine/devtools

    Devtools partial — entity inspector, time scrub, pause/step

    Exports
    19 createSnapshotRingBuffer, DevtoolsContext, DevtoolsHUD, DevtoolsPanel, DevtoolsProvider, isDevMode, +13 more
    Depends on
    core, ecs
    Peers
    react, react-native
  • create-flare-app

    One-shot scaffolder for Flare engine apps — `npm create flare-app@latest`

    Exports
    9 buildProgram, detectPackageManager, isTemplateId, scaffoldApp, TEMPLATES, +4 more

L6Platform integrations

Provider interfaces (leaderboards, achievements, IAP, analytics, haptics) and the concrete adapters built on them.

  • @flare-engine/achievements

    Achievements provider interface (consumer-supplied adapter)

    Exports
    6 AchievementsContext, NoopAchievementsProvider, useAchievements, +3 more
    Peers
    react
  • @flare-engine/analytics

    Analytics provider interface (consumer-supplied adapter)

    Exports
    6 AnalyticsContext, NoopAnalyticsProvider, useAnalytics, +3 more
    Peers
    react
  • @flare-engine/haptics

    Haptics (tactile feedback) provider interface (consumer-supplied adapter)

    Exports
    6 HapticsContext, NoopHapticsProvider, useHaptics, +3 more
    Peers
    react

    Documented in api-specs.md but not yet in architecture.md's layer tables.

  • @flare-engine/iap

    In-app purchase provider interface (consumer-supplied adapter)

    Exports
    20 canAccessContent, createEntitlementStore, createProductCatalog, getCatalogEntry, getGrantsForProduct, IAPContext, +14 more
    Depends on
    events
    Peers
    react
  • @flare-engine/iap-revenuecat

    RevenueCat IAPProvider adapter for @flare-engine/iap

    Exports
    3 createRevenueCatProvider, +2 more
    Depends on
    iap
    Peers
    react, react-native-purchases
  • @flare-engine/leaderboards

    Leaderboard provider interface (consumer-supplied adapter)

    Exports
    6 LeaderboardsContext, NoopLeaderboardsProvider, useLeaderboards, +3 more
    Peers
    react
  • @flare-engine/ui-shop

    Reusable ShopPanel, PaywallModal, and RestorePurchasesButton consuming IAPContext + EntitlementStore

    Exports
    11 PaywallModal, RestorePurchasesButton, ShopPanel, +8 more
    Depends on
    iap, ui
    Peers
    react, react-native
  • Layer — packages are organized into layers; a package may depend only on lower layers (the downward-only rule). See Concepts → Architecture for the model.
  • Exports — the count and a sample of each package’s public surface (its src/index.ts barrel). The @flare-engine/engine umbrella additionally re-exports the lower runtime layers.
  • Depends on / Peers — intra-engine dependencies and the external peer packages you supply (Skia, React Native, etc.).