BRICKS Foundation
The tool for edge IoT system
Free · Designed for iPad
BRICKS is a tools for visual designer and technicians to collaboratively design and development process, data rendering, deployment, and security. Combining designer-friendly workflows, deep technical access, full production quality content viewport, BRICKS enables you to iterate your designs faster and more efficiently.
BRICKS allow the designer to see the installation working in context, making it easy to visualize how the content will look, feel and behave on a single output or even when clustered across multiple outputs and machines. BRICKS offer the most reliable, scalable, industry-tested architecture available.
BRICKS provide unlimited display stitching system, any numbers of display can be setup by your imagination.
BRICKS is easy to setup Text, Picture, Video, Chart, Web-view, and Camera Inputs
more v2.25.6
Highlights:
- Generator LLM (GGML): llama.cpp runtime updated to b10645
- Model downloads: multi-gigabyte files are no longer killed as "stalled" and restarted from zero — liveness is judged by bytes on disk, the integrity check of a large existing file no longer times out into a re-download, and concurrent downloads are bounded
Bug fixes:
- Generator STT (GGML) / Realtime Transcription: updated whisper.cpp runtime
- Generator TTS: a clip cancelled while its audio was still loading no longer plays anyway, and a GGML synthesis cancelled during context preparation stops instead of running to completion
- Generator MQTT: a client that cannot be created at all reports through the error event and outlet instead of silently never connecting
- Script expressions: undefined, NaN, and Infinity resolve as JavaScript values everywhere, and a statement writing to a member (a.x = 2, a.x++) runs instead of throwing or dropping the write
- Data Calculation: list-taking color commands and string template / base64 commands given unusable input degrade instead of discarding the whole calculation batch
- Runtime cache: an unusable retry-on-failure count no longer retries a failed download forever
- Fonts: a family or variant named after an object built-in is skipped instead of crashing font resolution
- The system menu no longer offers "System Setting", which iOS cannot open — the tap did nothing
- Other performance and stability improvements
2.25.6 5 days ago
v2.25.5
Highlights:
- Generator TTS (ONNX): the Chatterbox Multilingual voice model is supported — on-device or offloaded to a BRICKS Buttress server — verified to produce speech for English and Chinese input
- Generator LLM (GGML): llama.cpp runtime updated to b10588
Bug fixes:
- Generator TTS: pointing the speaker embed or reference audio at a different URL actually downloads the new voice, instead of serving the first voice ever downloaded for that model
- Generator LLM (OpenAI / Anthropic): stopping a streamed completion reports it as interrupted, instead of presenting the truncated answer as the model finishing on its own
- Generator Iterator: a linked step of 0 or below no longer hangs the runtime, and the reported index matches the rotation actually applied
- Generator Vector Store: an unusable chunk size no longer grows memory until the app dies with processing stuck on
- Generator HTTP: replacing an SSE connection no longer leaves the response outlets publishing undefined on a stream that is still open
- Generator WebRTC: a replaced data channel no longer silently blocks later channel sends or fires a ghost channel-close event
- Data Calculation: a math or color command receiving an unusable value degrades to undefined instead of throwing the whole calculation batch away
- Brick Items: a cleared, zero, negative, or fractional per-line count or page size lays out like the default instead of producing broken frames or uneven pages
- Activity log: Data update events are recorded again
- A viewport change that arrives while the app is still loading is applied once loading finishes
- Other performance and stability improvements
2.25.5 26 Aug
v2.25.4
Highlights:
- Generator TTS (GGML): rebuilt on llama.cpp b10335 with nine voice-model families — OuteTTS, Chatterbox, CSM (Sesame), Qwen3-TTS, BlueMagpie (Barbet), MOSS-TTSD, MOSS-TTS-Realtime, NeuTTS, and Soprano — detected automatically from the model
- Generator TTS (GGML): synthesis can be offloaded to a BRICKS Buttress server, so a device can speak without downloading the model
- Scene3D: object updates can animate (position, rotation, scale, and opacity), primitives can carry image textures, scripts can emit values to the app, and raycast picking can be triggered from an Action or automation
Bug fixes:
- Script expressions: callback bodies (map, filter, and friends) validate and run as real JavaScript, so a callback using Math or an object literal no longer fails
- Persist storage: stored strings round-trip exactly, instead of being parsed into numbers or null on read
- Data: an update carrying no value clears a string Data to empty instead of storing the literal text "undefined"
- Data Calculation: COLLECTION_DROP also drops object properties, not just array entries
- Animations: values linked to a Property Bank resolve again on nested-Subspace items and in dynamic animations
- A device with a launch test or schedules configured but no viewport frame runs them again
- Generator HTTP Server: a second server-level event no longer crashes the app, and the HTTP SSE event-log details outlet keeps updating after the first event
- Generator LLM: a session saved under a custom key stays in the sessions outlet even when auto-save declines
- Split-model downloads: an intact, already-downloaded shard passes the integrity check instead of downloading again on every launch
- Audio recording at sample rates above 48 kHz gets a correctly sized buffer
- A component with audio disabled no longer clears the microphone permission another component needs
- Brick Items: item events fire for items on pages after the first
- Numeric Excel cells keep their full value — 19.99 is no longer read as 19
- Other performance and stability improvements
2.25.4 19 Aug
v2.25.2
Highlights:
- Media Flow downloads are bounded by how long they stall rather than by total elapsed time, so a large file on a slow link is no longer cancelled mid-transfer
- Media Flow storage syncs can no longer wedge forever, so the download file URLs outlet stays available for the life of the app
- Generator Assistant attached files are indexed with their real content, so citations match the document body instead of empty text
Bug fixes:
- Media Flow refetches newly uploaded audio, PDF, and generic files that are never transcoded, and cancels queued fetches when a generator is refreshed
- Media Flow log lines are tagged with the box name and id, so several generators in one config are distinguishable
- Generator Assistant: removing one file no longer wipes the whole attachment list, and the documented chunkSize option is honoured
- Generator Vector Store: content added with Insert Content appears in the file list
- Generator MQTT Broker releases its port when an app refreshes, instead of failing to bind for the rest of the process's life
- Generator MCP Server publishes connected remotes for Streamable-HTTP clients, authenticates continuation requests, and rejects another client's session key
- Generator HTTP redacts request and response headers in logs, so credentials no longer end up in the log panel
- Data Calculation: STRING_INDEX_OF searching backwards starts from the end of the string, and a command node with an unknown command name is skipped instead of failing the calculation
- Excel files with mixed cell formatting or a Japanese furigana guide are read correctly
- Downloads enforce their configured size limit while streaming
- The bundled Weather example no longer carries a default API key
- Other performance and stability improvements
2.25.2 11 Aug
v2.25.1
Highlights:
- Generator LLM (GGML): llama.cpp runtime updated to b10156, with cross-turn KV cache reuse for recurrent / hybrid / SWA models and new state-cache budget and checkpoint controls
- Generator Vector Store: the GGML embedding model and tokenizer can be offloaded to a Buttress server, so a device can index and search documents without downloading either model
- Generators can serialize incoming work: HTTP Server request queueing, plus message queueing for TCP, UDP, WebSocket, MQTT, Serial Port, WebRTC, and BLE Central (off by default)
Bug fixes:
- Preloaded model files are found in the on-device cache again, so Generator LLM / STT / TTS no longer re-download their weights on every cold start
- Generator HTTP Server: request lines split across packets, route-level SSE content types, and multipart upload filenames are all handled correctly
- Generator BLE Central applies runtime retainTime changes to the discovered device list, and BLE Peripheral no longer leaks a native handle while finalizing
- Brick Items use a numeric data key for item identity, so per-item brick state follows the datum instead of its row position
- Data Calculation parses standard ISO 8601 and RFC 2822 datetime strings correctly, and datetime updates no longer fabricate the current time
- Local Sync preserves delivery order across latency compensation and prevents two devices from leading at once
- Automation: simulating a press on an Items row respects that row's state groups
- Other performance and stability improvements
2.25.1 4 Aug
v2.24.13
Features:
- Generator LLM (GGML) updates the llama.cpp runtime to b9982 and supports optional separate GGUF draft models for speculative decoding
- Data Calculation and PROPERTY_BANK_EXPRESSION add encodeURI, decodeURI, encodeURIComponent, and decodeURIComponent
Bug fixes:
- Generator VAD (GGML) resolves built-in models during preload; MQTT Broker enforces configured authentication, and targeted File downloads no longer start every file
- BLE Peripheral writes now populate Last Write with the received payload, and HTTP Server rejects malformed request sizes
- Generator TTS (VITS) accepts default options, and Generator LLM (ONNX) multimodal inference accepts batches of string prompts
- RichText custom fonts work in any inline declaration order, and Chart option overrides no longer alter source data
- Configs with deleted Subspaces or null map entries load safely, and removed Camera/WebView Bricks no longer receive later Actions
- Local Sync restores cross-device latency compensation and safely handles malformed or out-of-window packets
- MCP getDocumentation includes Brick Properties and Event/Action property details
2.24.13 22 July
v2.24.12
Features:
- Text Brick adds independent top, left, right, and bottom padding
- PROPERTY_BANK_EXPRESSION supports statement bodies and top-level await
- Data-node Events expose the triggering value as DATA_VALUE for connected Actions
Bug fixes:
- Data Bank update/remove Actions safely fetch missing data; Property Bank resets persisted values when the configured initial value changes, and its manual calculations use earlier updates in order
- Generator HTTP preserves explicit empty, false, or zero bodies and zero timeouts; HTTP Server handles bodyless multipart requests and non-text SSE responses
- TCP and TCP Server frame decoded base64 correctly; WebRTC Message Events carry the actual payload and no longer lose early connection candidates
- Text Input CLEAR and ON_FULL_FILL, SVG style/color mapping, multi-clip Video repeat, and Slideshow reset auto-advance now behave correctly
- Realtime Transcription ON_END retains final results, OuteTTS v2 reads numbers and special words correctly, and LLM parsing keeps valid tool calls beside malformed null entries
- Automation waits for Bricks still mounting at startup and respects active switch/state-group pressability; stopped Sound Player loads no longer start later
- Iterator stops cleanly on empty numeric ranges, WebCrawler leaves missing attributes unset, and Information SHOW reports an error instead of hanging when content is missing
2.24.12 14 July
v2.24.11
Features:
- Video Brick supports inline and SRT/WebVTT subtitles with styling and cue events
- Generator HTTP emits response and error events
Bug fixes:
- File, Question, Tick, Vector Store, WebView, DevTools, Data Calculation, Property Bank, config refresh, storage, and launcher init fixes
- Generator LLM (MLX) and Audio / TTS fixes
- Activity Log reliability fixes for oversized Property Bank updates
- Other stability improvements
2.24.11 7 July
v2.24.10
Features:
- Generator HTTP Server can now be controlled from scripts
- Brick Sketch events now expose the current sketch state
Bug fixes:
- TCP Server, Serial Port, MQTT, Iterator, WebRTC, Generator WebCrawler, DevTools selector, Data Bank, Property Bank, SQLite, and Dynamic Animation fixes
- Generator LLM (ONNX) / tool-call parsing fixes for Phi-4 and Mistral models
- Audio / TTS and Activity Log reliability fixes
- Other stability improvements
2.24.10 2 July
v2.24.9
Features:
- Many Data Calculation correctness fixes across collection, math, string, object, and datetime commands
- MQTT generator message events now expose the message body as a payload field
Bug fixes:
- Canvas, state group (switch), navigation, and event fixes so overrides and Change Canvas behave correctly
- Generator, iterator, and channel fixes
- Asset preloading, file upload, and Media Flow fixes
- Audio and video playback fixes, including more accurate audio recording length
- Other stability improvements
2.24.9 24 June
v2.24.8
Features:
- DevTools Storage inspection is more complete
- PROPERTY_BANK_EXPRESSION errors are clearer and can be caught during config validation
Bug fixes:
- iOS apps running on Mac now report Mac device names
- Other stability improvements
2.24.8 16 June
v2.24.7
Features:
- Generator Apple STT: contextual strings can bias recognition toward product terms and project-specific phrases
- Generator Apple STT can now be used as a Realtime Transcription transcriber
- DevTools is less cluttered by default
Bug fixes:
- DevTools connections and simulated taps are more reliable
- Property Bank locks now auto-release after timeout so later updates are not blocked if an earlier update fails
- Other stability improvements
2.24.7 10 June
v2.24.6
Features:
- Generator LLM (GGML): Bump llama.cpp runtime to b9309
- Generator Assistant: guardrails now support Jinja templates, conversation history, structured tool args, and custom redactReplacement strings
Bug fixes:
- Generator LLM / Speech Inference / Reranker / VAD / TTS: shared local model contexts no longer break other generators using the same model after one is released
- Sound Recorder no longer drops an active recording fragment while finalizing a previous one
- Voice transcription listeners now register correctly when transcription starts
- Property Bank command initialization tolerates missing data-node entries
- Subspace rendering skips dangling Brick refs instead of crashing on deleted Brick references
- Other performance and stability improvements
2.24.6 3 June
v2.24.5
Features:
- Generator LLM (GGML): Bump llama.cpp runtime to b9254 and expose MTP (multi-token prediction) speculative decoding parameters
- Brick RichText: opt-in renderMarkdown prop renders Markdown content through the existing render-html pipeline
Bug fixes:
- Generator VAD (Traditional): expose processFloat32 as a public method so realtime detection no longer throws when fed chunks from a sound recorder
- Generator LLM / Speech Inference: clear stale Buttress context on releaseContext so the next request reinitializes instead of failing with "Context not initialized"
- DevTools: console exception output no longer duplicates the error class line above the stack frames
- Skip dangling animationId references in setupAnimations so saved configs with deleted/renamed animations no longer crash the React subtree
- Other performance and stability improvements
2.24.5 27 May
v2.24.4
Features:
- Generator Assistant: configurable guardrails with pattern or LLM safety checks across LLM and tool hooks
- Generator STT (GGML): updated whisper.cpp runtime
Bug fixes:
- Pressable bricks: standby-transition wraps no longer capture taps for bricks without press events
- Skip invalid hit_regex entries instead of crashing property bank initialization
- Faster preload startup via parallel file existence checks
- Other performance and stability improvements
2.24.4 19 May
v2.24.3
Features:
- Brick Image: filtered rendering with color matrix support
- Brick Rect: bricks without configured press events no longer capture taps
- Generator LLM (GGML): Bump llama.cpp to b9084
Bug fixes:
- Other performance and stability improvements
2.24.3 12 May
v2.24.2
Features:
- Brick Sketch: drawing canvas with Apple Pencil pressure support and configurable initial state
- DevTools: self-hosted DevTools frontend over HTTP for LAN inspection
- Generator Realtime Transcription / Speech Inference: export detected language
Bug fixes:
- Other performance and stability improvements
2.24.2 6 May
v2.24.1
Features:
- Generator LLM (OpenAI): Support OpenResponses API
- Brick GenerativeMedia: OpenAI image model selection
Bug fixes:
- Other performance and stability improvements
2.24.1 30 Apr
v2.24.0
Highlights:
- DevTools CDP (Chrome DevTools Protocol): Inspect HTTP/WebSocket/MQTT traffic, Brick component tree, and storage from Chrome DevTools, Puppeteer, or Playwright
- Generator LLM (MLX): New native on-device LLM/VLM inference on Apple Silicon (iOS 17+ / tvOS)
- Brick Rect: Blur, progressive blur, and Liquid Glass effects
- Graduated to stable: GenerativeMedia, Rive, Realtime Transcription, VAD Inference, Vector Store
Breaking Changes:
- Generator STT (GGML): Deprecated transcribeRealtime removed, use Realtime Transcription instead
Features:
- DevTools: Event inspection tools for Brick/Generator events
- Generator LLM (GGML): Bump llama.cpp runtime to b8827
- Activity Log: Support periodic screenshot capture and upload
- Star printer: Update native integration with reliability improvements
Bug fixes:
- Fix Preload stall on Preparing when sync fails before result fires
- Fix Items post-transform standby during recomputes
- Other performance and stability improvements
2.24.0 21 Apr
v2.23.9
New features:
- Generator LLM (GGML): Bump llama.cpp to b8740
Bug fixes:
- Fix TCP socket crash on app resume
- Performance optimizations and other stability improvements
2.23.9 14 Apr
v2.23.8
New features:
- Generator LLM (GGML): Bump llama.cpp to b8665
Bug fixes:
- Generator VAD: Improve detection consistency under heavy CPU load
- Generator MCP: Improve error handling for HTTP transport
- Generator MCP Server: Fix tool execution reliability and parameter handling
- Local Sync: Fix crash during session shutdown
- Fix font preload to respect skip on failure setting on first launch
- Data Bank: Improve script sandbox security and stability
- Performance optimizations and other stability improvements
2.23.8 8 Apr
v2.23.7
New features:
- Generator LLM (GGML): Bump llama.cpp runtime to b8547, add reasoning budget and force pure content support
Bug fixes:
- Fix completion resets stop/grammar params in Generator LLM (GGML)
- Fix UDP discovery with dual-socket approach
- Fix thermal printer command execution
- Fix Data Bank store reset cleanup
- Fix canvas state handling when Subspace is cleared
- Performance optimizations and other stability improvements
2.23.7 31 Mar
v2.23.6
Bug fixes:
- Fix crash on suppressed network errors in Data Bank remote update
- Fix Generator HTTP Server socket guard blocking all responses
- Performance optimizations and other stability improvements
2.23.6 24 Mar
v2.23.5
New features:
- Generator LLM (MLX): New on-device LLM/VLM inference generator using MLX framework
- Currently only available with Buttress, native support coming soon
Bug fixes:
- Generator LLM (GGML): Fix SIGABRT crash during model loading with Metal
- Standby: Restore rendering stability and debounce Subspace change-canvas updates
- Prevent unhandled promise rejection from auth errors
- Other stability improvements and bug fixes
2.23.5 19 Mar
v2.23.4
- System->Take Screenshot action: Capture full viewport including portal Subspaces
- UDP module stability improvements - Reduce CPU usage significantly
- Standby Transition & Animation: Fix rendering, breathe animation, and scaling on canvas switch and resize
- Clear image memory cache on memory warning to prevent main thread hangs
- Fix EXC_BAD_ACCESS crash on app exit caused by System Data Expression
- Generator LLM (GGML): Bump llama.cpp runtime to b8195
- Suppress unhandled network errors in Apollo GQL error handlers
- Prevent crash when channel publishes to unmounted Subspace
- Other stability improvements and bug fixes
2.23.4 12 Mar
v2.25.6
Highlights:
- Generator LLM (GGML): llama.cpp runtime updated to b10645
- Model downloads: multi-gigabyte files are no longer killed as "stalled" and restarted from zero — liveness is judged by bytes on disk, the integrity check of a large existing file no longer times out into a re-download, and concurrent downloads are bounded
Bug fixes:
- Generator STT (GGML) / Realtime Transcription: updated whisper.cpp runtime
- Generator TTS: a clip cancelled while its audio was still loading no longer plays anyway, and a GGML synthesis cancelled during context preparation stops instead of running to completion
- Generator MQTT: a client that cannot be created at all reports through the error event and outlet instead of silently never connecting
- Script expressions: undefined, NaN, and Infinity resolve as JavaScript values everywhere, and a statement writing to a member (a.x = 2, a.x++) runs instead of throwing or dropping the write
- Data Calculation: list-taking color commands and string template / base64 commands given unusable input degrade instead of discarding the whole calculation batch
- Runtime cache: an unusable retry-on-failure count no longer retries a failed download forever
- Fonts: a family or variant named after an object built-in is skipped instead of crashing font resolution
- The system menu no longer offers "System Setting", which iOS cannot open — the tap did nothing
- Other performance and stability improvements
more Version 2.25.6 5 days ago
Data Not Linked to You The following data may be collected but it is not linked to your identity: