sdk

Packages

Link copied to clipboard
common
ios

Primary entry point for the Maverick2 SDK. The Evs singleton exposes all runtime services and manages SDK initialization and teardown. Applications access glasses functionality exclusively through Evs.*Service accessors after the platform-specific init() call completes.

Link copied to clipboard
common

Public contracts that define the SDK's drawing, resource, and sensing abstractions. Key interfaces include IM2FillSpec for fill specification markers, and IM2BoundingBox / IM2WorldBoundingBox for spatial bounds in 2-D and 3-D space.

Link copied to clipboard
common

Asset and resource models representing uploadable content destined for the glasses hardware cache. Covers fonts, raster images, sprite sheets, textures, and binary blobs. Resources follow an upload-then-activate lifecycle managed by M2ResourcesService, with the M2Resource base class defining shared identity and tagging semantics.

Link copied to clipboard
common

Core runtime services that manage every aspect of glasses interaction. Each service extends the sealed M2Service base and follows a start/stop lifecycle. Covers connectivity (M2GlassesService), HUD rendering (M2ScreenService), asset caching (M2ResourcesService), camera and microphone capture, IMU/GPS sensors, display brightness, OTA firmware updates, developer diagnostics, logging, preferences, authentication, and eye tracking.

Link copied to clipboard
common
ios

Audio capture, encoding, and playback subsystem. Provides platform-native microphone recording, real-time Opus compression, Ogg container framing, continuous audio streaming between phone and glasses, and audio tapping during preview recordings.

Link copied to clipboard
common
ios

Shared data models consumed by multiple services. Contains the ConnectionStatus state machine, BLE device discovery via M2BLEScanner, orientation math via M2Quaternion, and runtime platform identification via Platform.

common

Geospatial primitives and the platform location interface. M2GeoCoords and M2LatLong model coordinates, while IM2LocationManager exposes location updates behind a common KMP interface backed by platform-specific providers (Android FusedLocation / iOS CLLocationManager).

common

Composables that display glasses hardware state — battery level, connection status, serial number, and firmware version.

common

Reusable view-level composables for rendering the live glasses preview feed on the phone screen with optional recording controls and world-to-screen coordinate mapping.

common

Preview recording and export pipeline composables — background video compositing (via ffmpeg-kit on Android, AVFoundation on iOS), recording session management, export format handling, and export history.

Link copied to clipboard
common

Material 3 theme configuration for SDK phone/watch UI surfaces — color palette, typography scale, and light/dark theme switching. Customizable via Evs.setStockUiTheme.

Link copied to clipboard
common

Animator core types and lifecycle management. M2Animator represents a single hardware-synchronized animation channel (position, size, color, matrix, etc.) that is lazily created in firmware when started. M2AnimationsChain enables sequencing and parallel composition of multiple animators.

common

Fluent Kotlin extension functions on drawable subclasses for common animation effects — alpha fades, arc sweeps, delta-based translation, chained transitions, per-channel color, gradient properties, 3-D matrix transforms, pen thickness, radius, and sprite stepping.

Link copied to clipboard
common

Augmented-reality drawable types rendered in world space. M2ArGeometry is the base for 3-D geometry nodes, with concrete types for textured meshes, polylines, point clouds, billboarded panels, and directional lighting.

Link copied to clipboard
common

Utility helpers for AR coordinate transformations — world-to-screen projection, model/view/projection matrix composition, billboard computation, and LOS anchor-point layout.

Link copied to clipboard
common

Foundation classes for the drawable scene graph. M2Drawable is the abstract root of all HUD elements, managing position, size, color, visibility, transforms, and hardware object lifecycle. M2Panel provides a rectangular container with child layout, and M2Group aggregates children without its own geometry.

Link copied to clipboard
common

Higher-level composite UI widgets built from base drawables — text panels, multi-line text, scrolling tickers, loading indicators, spinners, crosshairs, gaze indicators, and voice-input listening views.

Link copied to clipboard
common

Shared data structures, enumerations, and configuration types used across the UIKit. Covers bounding geometry, pen/stroke configuration, gradient fill specifications, image and font metadata, camera configuration, LOS anchor points, and SDK UI launch options.

Link copied to clipboard
common

Core drawable primitives for HUD rendering on the glasses display (640×400 pixels). Includes geometric shapes (rectangles, ellipses, arcs, lines, paths), mesh primitives (fans, strips, triangles), and media types (text, images, sprites, textures).

common

Kotlin extension functions that add fluent builder-style APIs to drawable types for position, size, color, alpha, pen, fill, visibility, transform, bounding-box, AR placement, and panel-specific child layout helpers.

Link copied to clipboard
common

Screen containers that manage drawable lifecycles and input routing on the glasses. M2Screen is the base with touch/gesture handling, M2FullScreen covers the entire display, and M2ArScreen adds world-space AR rendering with IMU-driven camera updates.

Link copied to clipboard
common

General-purpose SDK utility classes for color manipulation (M2Color), frame-rate measurement (M2FpsCalculator), thread-safe listener management, diagnostic log buffering, firmware version parsing, and camera frame conversion.

Link copied to clipboard
common

Matrix and linear-algebra helpers for geometry transforms and LOS projection. M2TransformMatrix is the sealed base, with M2TransformMatrix3x3 for 2-D affine transforms and M2TransformMatrix4x4 for full 3-D transforms.

Link copied to clipboard
common

Shared observable ViewModels for SDK and glasses state. M2GlassesViewModel exposes reactive state flows for battery, connection, and device info, while M2ViewModel provides a base class for applications with SDK-aware lifecycle management.