Move through the existing BrowserCard tools as one connected authoring process.
BrowserCard will suggest the most useful existing workspace.
Cards, reusable components, assets, and visual structure.
Scripts, actions, application flow, animation, and simulation.
Collections, reports, databases, media, and localization.
Interaction testing, accessibility, permissions, and project readiness.
Extensions, verified distribution, project history, and author handoff.
Search documentation, follow a lesson, or open keyboard help.
The menubar remains the authoritative command surface. Workflow Center links to the same commands and ordinary editable BrowserCard objects; it does not create a parallel project system.
Lightweight drag, drop, collision, motion, input, timers, and state behavior for ordinary BrowserCard objects.
Select an object to configure.
Collision and proximity messages include the other object's ID and name.
Use Set state, Adjust score / progress, and countdown actions without scripting, or handle the same events in BrowserCard Script.
Selected object
Select or add an action.
Browser-first visual application authoring.
Release channel: Release Candidate (RC1)
Project schema 28 · BrowserCard Script 0.7 · XStack 3 · Extension SDK 2
A secure, local-first environment for creating interactive stacks, prototypes, data applications, presentations, and browser applications.
Press Command/Ctrl+Enter to apply. In Author mode, double-click a button, field, label, or audio control to reopen this editor.
Create, duplicate, reorder, rename, assign, and remove project structure.
Used by 0 cards
Embedded assets travel with the portable project.
Paint asset
Tracks show position, size, opacity, and rotation keyframes. Move or resize the object, set a time, then capture. Named sequences preserve reusable timeline variations.
Move the object in Author mode and capture two or more points. Playback follows the captured positions in order.
Non-destructive playback, caption, poster, preload, and marker settings.
Select a media object.
Selected media object
When playback crosses a marker, BrowserCard sends mediaMarker with the label and time.
mediaMarker
Choose which device and online features this project may use.
BrowserCard can operate as an installable Progressive Web App when served through HTTPS or localhost.
This file works on its own. A hosted copy can also be installed for offline use.
Create named restore points, compare revisions, discuss work, and prepare a portable author handoff.
Select one snapshot to compare it with the current project, or two snapshots to compare them directly.
Restore, export, or remove automatic and manual project snapshots.
Prepare verified project, player, and hosted web releases from one profile.
Preparing project deployment…
Find, understand, and correct accessibility barriers while authoring.
Review project health, browser support, accessibility, and export readiness.
Exercises the current project and a temporary large-project fixture using the actual XStack, Player, and Web App builders. Your project content is not replaced.
Alignment, selection, grid, duplication, and view controls.
Hold Space or Alt and drag the workspace, or drag with the middle mouse button. Command/Ctrl-click cycles through overlapping objects.
Shortcuts: Command/Ctrl+Shift+D duplicates in place; Command/Ctrl+J repeats the last duplicate; Command/Ctrl+A selects the edit layer.
Translate visible object text and preview reading direction.
Reuse groups while keeping their structure, layout, appearance, and scripts.
Inserted instances are linked to a shared definition. Exposed properties and variants allow safe per-instance customization that survives definition updates.
Search offline assets, prefabricated controls, card templates, starter kits, and your saved components.
Built-in items are self-contained and offline. Personal library items are stored in this browser and remain outside project files until inserted.
Configure exposed properties and variants.
Build related, validated, searchable, permission-aware data applications without opaque controls.
Configure lookup, computed, and conditional validation behavior.
Computed values are view-only. Numeric formulas begin with = and support field tokens, +, −, ×, ÷, and parentheses. Other formulas act as text templates.
Define parent-detail links and safe referential delete behavior.
Preview record-level roles and review data changes stored with the project.
Role fields contain comma-separated role names. Blank values remain unrestricted. Author mode always retains editing access.
Map source columns to collection fields before importing.
Save reusable CSV or JSON field selections.
Create an editable card containing query-backed metrics and chart graphics.
Generated labels and rectangles remain ordinary BrowserCard objects. Query metadata updates their displayed values in Browse mode.
Create reusable filters and sorted result sets without scripting.
Create or select a query.
Record and replay BrowserCard-level interactions and assertions.
No test run.
Explore cards, navigation paths, script references, tests, and project dependencies.
Build query-driven printable reports using editable BrowserCard data and objects.
Generate an editable, data-bound application interface on the current card.
Generated controls are ordinary BrowserCard objects and remain fully editable.
Commands, messages, objects, and examples.
put fetchText("https://example.com", 8000) into tText put fetchJSON("https://example.com/data.json") into tData put requestLocation(12000) into tLocation
The script waits for the result and then continues in the same handler. Failures can be handled with try/catch.
try/catch
put chooseFile("text/*", 1048576) into tFile put saveFile("notes.txt", tFile["text"], "text/plain") into tSaved put copyText(tFile["text"]) into tCopied
File access always requires a user selection or confirmation. Read results include name, type, size, text, and data URL.
put capturePhoto(1280, 720, 30000) into tPhoto put recordAudio(3000, 20000) into tRecording
Camera streams stop immediately after capture. Audio recording is limited to 30 seconds and returns embedded media data.
put saveValue("highScore", 1200) into tSaved put storedValue("highScore", 0) into tScore
Storage writes occur during suspended execution, so values can be read later in the same handler.
put libraryNames() into tLibraries put libraryInfo("browsercard.standard") into tInfo put libraryCall("browsercard.standard", "hash", "BrowserCard") into tHash
Libraries offer a limited set of approved operations and cannot directly control the authoring interface.
try put fetchText(tURL, 5000) into tText catch tError put tError into field "Status" end try
Abort cancels pending browser requests, media streams, recordings, and library calls. Most host functions accept a final timeout argument in milliseconds.
Share reusable handlers and functions across the project.
Install, approve, test, recover, and manage trusted project extensions.
No extension activity.
Create, validate, and test a safe Extension SDK 2 starter kit.
Portable tables stored with this project
Shared colors, type, spacing, borders, and control styles
Typography and shared design tokens update themed controls.
Search help, follow guided lessons, and add editable examples.
Authoring, scripting, saving, and sharing
Search commands, functions, messages, properties, objects, and language forms
Runnable examples for the current script owner
Insert editable handler, control-flow, data, media, and interaction patterns.
Current object
Messages will appear here.
Search every script, inspect handlers, references, and declarative event actions.
Search commands and conventional authoring shortcuts