Space-SML.com — The Declarative Spatial Web Ecosystem
Declarative Spatial Web Specification v0.9 — October 2026

SPACE MARKUP LANGUAGE (SML) & THE SPATIAL WEB

Zero Closing-Tag Clutter. Deterministic 12-Column Grids. Studio-Grade Audio. Built in Rust.

Welcome to Space-SML.com — the official portal for Space Markup Language (.space / .sml), the native Rust SpaceBrowser, the fault-tolerant SpaceIDE visual & code studio, and the upcoming Linux Space-Mint Distribution featuring the frosted-glass floating dock and tabbed Studio Browser file manager.

Pillar 01 // Language

Space Markup (SML)

Declarative .space & .sml Pages

Replaces verbose HTML angle brackets, fragile CSS floats, and bloated JavaScript bundles with clean curly-brace blocks (tag "Title" (attrs) { ... }).

  • Deterministic 12-column spatial layout
  • Reactive @state without DOM scripts
  • Built-in @theme & @ambient audio
  • 10 canonical cross-platform fonts
Pillar 02 // Client

SpaceBrowser v0.9

Native Rust & GPU Spatial Navigator

Hardware-accelerated desktop browser engineered with eframe/egui, dual-sink rodio lossless audio, and on-the-fly HTML-to-SML conversion.

  • Streams lossless FLAC, WAV, Ogg & MP3
  • GPU texture cache & split-slider plates
  • Stereoscopic Side-by-Side VR180 viewports
  • Instant HTML-to-Space auto-converter
Pillar 03 // Authoring

SpaceIDE & Code Editor

Fault-Tolerant Visual & Code Studio

A high-speed Rust studio combining a Rope text buffer, Tree-sitter virtual bracket recovery, and Dreamweaver-style drag-and-stretch visual authoring.

  • Handles missing curly brackets gracefully
  • Live 2-way visual canvas & code sync
  • Supports SML, HTML, CSS, JS & PHP
  • Sub-millisecond background syntax worker
Pillar 04 // Operating System

Linux Space-Mint Distro

Minimalist Creative Workstation OS

A custom Debian/Mint-based Linux distribution booting directly into a distraction-free dark studio environment with SpaceBrowser and SpaceIDE built in.

  • Floating frosted-glass application dock
  • Studio Browser tabbed file manager
  • Native .space file previews & indexing
  • Low-latency PipeWire/ALSA audio kernel
The Legacy Web Problem

Why Replace HTML, CSS & JS Boilerplate?

Traditional web pages require dozens of nested <div class="..."> wrappers, fragile CSS flex/grid resets, external build pipelines, and megabytes of JavaScript just to switch tabs, play lossless studio audio, or compare restored photographs.

"Every element in SML follows one universal anatomy: Tag Name, Optional Title String, Optional Parenthesis Attributes, and a Curly-Brace Body Block."
1. Tag Name
Identifies the element or directive: panel, grid, deck, gallery, @theme.
2. Title
Primary heading, button label, or track title right after the tag: "Songs of the Seasons".
3. Attributes
Inline configuration in parentheses: (span: 8, align: left, wrap: true).
4. Body Block
Holds key: value properties, quoted paragraphs, and nested child nodes inside { ... }.
Hello Space // Clean Declarative Syntax

Your First hello.space Document

Save as UTF-8 .space or .sml and open directly in SpaceBrowser or SpaceIDE:

// Minimal Complete Space Document
space "The River Studio" (version: "0.9.0", author: "Anne & Michael") {
    @theme {
        mode: dark
        background: #090b10
        surface: rgba(18, 22, 32, 0.88)
        accent: #d4af37
        font_heading: "helvetica"
        font_body: "georgia"
    }

    grid (columns: 12, gap: 16px) {
        panel "Welcome to Space" (span: 8, align: left, wrap: true) {
            headline: "Declarative Spatial Publishing"
            status: "Live in SpaceBrowser v0.9"
            p {
                "Welcome to a cleaner web. No closing tags, no CSS resets, and instant native rendering."
            }
            row (gap: 12px) {
                link "Explore SML Reference" (href: "space://sml.docs/reference.space", variant: "button")
                link "Visit Act II" (href: "act2.space")
            }
        }
        panel "Quick Notes" (span: 4) {
            ul {
                li { "12-column responsive layout" }
                li { "10 cross-platform fonts" }
                li { "FLAC & Ogg audio engine" }
            }
        }
    }
}
Native Rust Client // SpaceBrowser v0.9

SpaceBrowser: Built for Studio Audio, Visual Exhibitions & The Spatial Web

SpaceBrowser is a standalone native desktop web client written in Rust. It renders .space and .sml documents at 60+ FPS with zero DOM overhead, while also featuring an integrated HTML-to-SML Auto-Converter so you can browse standard websites and convert them into clean Spatial Markup on the fly.

Dual-Sink Lossless Audio Engine (rodio)

Streams 24-bit/96kHz .flac, .wav, .ogg, and .mp3 tracks natively. Supports simultaneous @ambient room-tone loops alongside multi-track album deck players with real-time waveform_glow and spectrum_master visualizers.

Interactive GPU Media Galleries

Asynchronous HTTP/disk texture caching with three native viewport modes: Standard high-res plates, interactive Before/After Restoration Sliders (mode: split_compare), and Stereoscopic 3D VR180 viewports (mode: vr180).

Direct Remote Rendering (Never Forced to Download)

Even when static web hosts serve .space files with application/octet-stream headers, SpaceBrowser detects SML content automatically and renders the page directly on screen.

Built-In Live Inspector & HTML Converter

Click the </> Studio button in the top toolbar to edit raw SML live next to the active viewport, or paste any https:// HTML URL to translate legacy markup into structured SML nodes.

Visual + Code Studio // SpaceIDE

Dreamweaver-Style Visual Canvas Meets Fault-Tolerant Rust Code Editor

SpaceIDE can be launched from your desktop icon or directly from SpaceBrowser's toolbar (staying completely unloaded in RAM until invoked). It bridges visual drag-and-stretch layout design with a deeply resilient code editor.

  • Missing Bracket Virtual Recovery: Powered by an incremental Tree-sitter recovery parser. If you omit a closing curly bracket } or quote " mid-sentence, Space inserts a virtual closing token so downstream syntax highlighting and the live preview never freeze or crash.
  • Rope Text Buffer (ropey): Constant-time keystroke insertions and undo/redo snapshots across massive files.
  • Multi-Language Support: Full syntax color-coding (via syntect), Trie-based autofill lookup menus (trie-rs), and right-click context actions for SML (.space), HTML, CSS, JavaScript, and PHP.
  • Sub-Millisecond Worker Diagnostics: Background thread checks syntax in ~150 µs and displays non-intrusive virtual recovery badges.
SpaceIDE Visual Toolbar & AST Mutations

How Visual Canvas Actions Rewrite Clean SML in Real Time

Every visual manipulation on the right-hand preview canvas updates the SML source code cleanly:

SpaceIDE Visual Authoring Controls & Generated SML Code
Visual Action / Icon How to Perform It in SpaceIDE Generated SML Code Mutation
Select & Inspect Click any box or double-click to open Property Inspector Highlights node in editor; exposes title, span, align, font, and colors
Reorder Cards Click and drag any card across a sibling card Swaps node order cleanly inside the parent grid or container
Stretch Columns Drag the right-edge resize handle horizontally Snaps span: 1 through span: 12 dynamically on the 12-column grid
Stretch Height Drag the bottom-edge resize handle vertically Updates height: <px> on the selected panel or card
Align & Word-Wrap Click Left, Center, Right, or Wrap icons in top toolbar Injects align: left | center | right and wrap: true | false
Add Picture [Pic] Click the Add Picture icon and choose an image file Loads GPU texture immediately and appends an item or image block
Lookup & Autofill Type any SML command, CSS property, or HTML/PHP tag Opens prefix-tree popup menu; pressing Tab auto-completes block & braces
Operating System Roadmap // Linux Space-Mint Distribution

Linux Space-Mint: The Creative Desktop OS with Space Built In

Space-Mint is our upcoming lightweight Linux distribution (built on a rock-solid Debian / Linux Mint foundation) engineered specifically for composers, digital artists, writers, and spatial web developers. It strips away desktop bloat in favor of a unified dark-mode studio environment where .space is a first-class citizen of the operating system.

Desktop Shell

Floating Frosted-Glass Dock

A minimalist, distraction-free floating dock centered at the bottom of the screen with subtle translucent blur (rgba(18, 22, 32, 0.85)) and amber gold active indicators.

  • One-click launch for SpaceBrowser, SpaceIDE, and Studio Browser
  • Integrated system-wide @ambient and master audio transport controls right in the dock
  • Auto-hides smoothly when maximizing 12-column studio workspaces
File Management

Studio Browser (Tabbed File Manager)

Replaces cluttered legacy file explorers with a fast, tabbed Rust file manager designed around creative project folders (art/, audio/, spaces/).

  • Multi-tab workspace navigation with central instant-search bar
  • Native live preview pane for .space pages, FLAC waveforms, and high-res photography
  • One-click "New .space Document" and "Open Folder in SpaceIDE" context actions
Curated Workstation

Pre-Configured Audio & Dev Stack

Tuned out of the box for creative production and Rust engineering with zero telemetry or background bloatware.

  • Low-latency PipeWire audio routing ready for Logic/DAW stems, MuseScore, and 24-bit FLAC playback
  • All 10 canonical SML fonts pre-installed and metric-matched across the OS
  • Curated Catalog App Store for one-click creative & open-source studio tools
Global Directives // @theme, @state, @ambient

Controlling Palette, Typography & Reactive State

Every .space document configures its look, feel, and interactive variables at the top of the root block using three clean directives:

@theme {
    mode: dark                  // dark or light preset
    background: #090b10
    surface: rgba(18, 22, 32, 0.85)
    accent: #d4af37
    border: rgba(212, 175, 55, 0.28)
    text_primary: #f0f4f8
    text_muted: #94a3b8
    font_heading: "helvetica"
    font_body: "system-ui"
    font_mono: "consolas"
    font_display: "impact"
    heading_size: 24px
    subheading_size: 16px
    font_size: 14px
}

@state {
    active_tab: "stage"
    preferred_font: "georgia"
    modal_open: "false"
}

Tip: Setting mode: light in @theme automatically switches surfaces to crisp daylight tones (#f0f2f5 background, #ffffff cards, charcoal ink).

Cross-Platform Typography Engine

The 10 Canonical SML Fonts

SpaceBrowser and Space-Mint Linux ship with a deterministic 10-font engine (including native macOS .ttc unpacking) so your typography looks identical across macOS, Linux, and Windows:

10 Standard SML Font Names, Aliases & Roles
# SML Font Name Category Accepted Aliases Primary Studio Role
1 system-ui Sans-Serif sans-serif, sf-pro, roboto Clean UI controls, buttons & default body
2 arial Sans-Serif arial-mt Neutral high-compatibility body copy
3 helvetica Sans-Serif helvetica-neue Crisp neo-grotesque headings & panel titles
4 verdana Sans-Serif verdana Wide letterforms for small UI labels & badges
5 georgia Serif serif, ui-serif Warm editorial serif for lyrics, libretti & essays
6 times Serif times new roman Formal academic & classical book layout
7 courier Monospace courier new Typewriter manuscripts, scripts & fixed tables
8 consolas Monospace consolas / menlo, menlo, mono Source code blocks, DSP telemetry & terminal
9 trebuchet Sans-Serif trebuchet ms Expressive humanist subheadings & callouts
10 impact Display display High-impact condensed act banners & posters
Reactive UI Without JavaScript

Conditional Views (visible_if), State Buttons & Modals

In SML, interactive tab switching, live form bindings, and modal dialogs work declaratively by linking @state keys to visible_if and button set: attributes:

@state {
    view: "overview"
    show_about: "false"
}

row (gap: 10px) {
    button "Overview" (set: "view=overview")
    button "Libretto" (set: "view=lyrics")
    button "About Studio" (set: "show_about=true")
}

panel "Overview Stage" (span: 12, visible_if: view == "overview") {
    "Rendered when @state.view equals overview."
}

panel "Libretto Manuscript" (span: 12, visible_if: view == "lyrics") {
    "Rendered when @state.view equals lyrics."
}

dialog "About The Recording" (open_if: "show_about == true") {
    p { "Recorded in 24-bit/96kHz stereo and authored in SML v0.9." }
    button "Close Window" (set: "show_about=false")
}
Two-Way Reactive Form Controls (Click to Expand / Collapse)

Every input (text, number, range, checkbox, radio, color, file), select, and textarea binds automatically to @state[name], and any output (name: "...") displays the live value immediately.

Try Reactive Controls (Converts to SML Form + Output)

Interactive Space Configuration Sandbox

Test Two-Way @state Binding
Production Blueprint // Copy & Paste

Complete Multi-View index.space Studio Template

Copy this complete template into SpaceIDE or save as index.space to test 12-column grids, tab switching, lossless audio decks, split-compare restoration galleries, reactive forms, webring portals, and modal dialogs:

space "Space-SML Official Showcase" (version: "0.9.0", author: "Michael Saxon") {

    @theme {
        mode: dark
        background: #090b10
        surface: rgba(18, 22, 32, 0.88)
        accent: #d4af37
        border: rgba(212, 175, 55, 0.28)
        font_heading: "helvetica"
        font_body: "system-ui"
        font_mono: "consolas / menlo"
        font_display: "impact"
    }

    @state {
        tab: "home"
        listener_name: "Studio Visitor"
        favorite_mix: "studio"
        credits_open: "false"
    }

    @ambient {
        src: "audio/room_tone_110hz.flac"
        volume: 0.12
    }

    grid (columns: 12, gap: 16px) {

        panel "Space-SML.com Ecosystem Hub" (span: 12, align: center) {
            headline: "SpaceBrowser, SpaceIDE & Linux Space-Mint OS"
            row (gap: 10px, align: center) {
                button "Home Stage" (set: "tab=home")
                button "Visual Gallery" (set: "tab=gallery")
                button "Listener Register" (set: "tab=feedback")
                button "System Credits" (set: "credits_open=true")
            }
        }

        panel "The Architect's Desk" (span: 4, visible_if: tab == "home") {
            avatar: "art/portrait.jpg"
            headline: "Declarative Spatial Web"
            status: "Engineered in Rust v0.9"
            p (font: "georgia", size: 15px) {
                "Crafted natively in Space Markup Language with lossless audio, fault-tolerant editing, and GPU-cached plates."
            }
            link "Download SML Coding Guide (.pdf)" (href: "files/Space_Coding_Guide.pdf", variant: "button")
        }

        deck "Featured Studio Selections" (span: 8, visible_if: tab == "home") {
            visualizer: waveform_glow
            track "01. Overture at Dawn" (duration: "03:48", bpm: 96) {
                src: "audio/01_overture.flac"
                notes: "12-string acoustic guitar, oboe & string quartet"
            }
            track "02. Lanterns on the Dee" (duration: "05:20", bpm: 112) {
                src: "audio/02_lanterns.flac"
                notes: "Fretless bass, woodwinds & 4-part vocal harmonies"
            }
        }

        gallery "Studio Plates & Restorations" (span: 12, columns: 2, visible_if: tab == "gallery") {
            item "SpaceIDE & Live Spatial Preview" {
                src: "art/space_ide_screenshot.jpg"
                caption: "Fault-tolerant SML & legacy web editor with sub-millisecond AST recovery."
            }
            item "Archival Plate Restoration" (mode: split_compare) {
                before: "art/sleeve_original.jpg"
                after: "art/sleeve_restored.jpg"
                caption: "Drag horizontal split slider to compare original scan vs. restored plate."
            }
        }

        portals "Connected Spaces & Webring" (span: 12, columns: 3) {
            portal "Anne's Lyric Study" {
                target: "space://anne.local/index.space"
                badge: "Poet & Lyricist"
            }
            portal "SML v0.9 Specification" {
                target: "space://sml.docs/reference.space"
                badge: "Built-In Manual"
            }
            portal "Space-Mint Linux Project" {
                target: "space://spacemint.org/distro.space"
                badge: "OS & Studio Browser"
            }
        }

        dialog "About The Space-SML Ecosystem" (open_if: "credits_open == true") {
            p (font: "georgia") {
                "Space Markup Language (SML), SpaceBrowser, SpaceIDE, and Linux Space-Mint are engineered for a cleaner, faster, artist-first web."
            }
            button "Close Window" (set: "credits_open=false")
        }
    }
}
Direct Binary Package // macOS & Linux

Download SpaceBrowser & SpaceIDE v0.9

Includes the standalone SpaceBrowser client (with built-in HTML-to-SML converter) and the fault-tolerant SpaceIDE visual & code studio.

Download SpaceSuite v0.9 (.zip — 18.4 MB)
Live Bootable Workstation ISO

Download Linux Space-Mint Distro

Bootable 64-bit live & installable ISO featuring the frosted-glass floating dock, tabbed Studio Browser file manager, and pre-installed Space suite.

Download Space-Mint ISO (1.8 GB)
Developer Specification

SML v0.9 Complete Coding Guide

Offline PDF and .space reference covering all 12-column layout rules, @theme directives, 10 canonical fonts, and reactive @state controls.

Download Specification PDF (18 Pages)
""" with open("space_sml_website.html", "w", encoding="utf-8") as f: f.write(html_content) print("Saved space_sml_website.html successfully.")