#>spw_syntax_surface

Public Reference Surface

Spw Syntax

Spw pushes plain text toward addressable structure without giving up legibility. The file remains the substrate; the syntax simply gives tools more to work with.

.orientation

Orientation

plain-text first frame-based queryable projection-ready interactive codeblocks
.markdown_base

Markdown base

## Note

Files should remain legible.

- durable
- portable
- inspectable
^"spw_frame"{

Spw frame

#>note
#:layer #!pragmatics

^"summary"{
 claim: "Files should remain legible."
 tags: ["durable", "portable", "inspectable"]
}

Readable text, but now addressable to parsers, metadata systems, interactive codeblocks, and projection layers.

?[core_forms]

Core Forms

  • Name a frame so it can be linked, queried, and projected.
  • Mark the interpretive layer or role of a frame.
  • Hold structured content in a stable, inspectable body.
  • Carry references, paths, or literal anchors.
  • Store questions, probes, or interactive interpretive units.
^"composite_example"{

Composite Example

#>frame_name
#:layer #!meaning_time

^"object"{
 key: "value"
 list: ["one", "two"]
 ref: ~"./other-surface.spw"
}

?["What changes when a note becomes queryable?"]{
 !probe{ "project this frame into outline, graph, and editable card views" }
}
@rotate(surface)

Interactive Codeblocks

One authored unit, three views: source, syntax, and surface.

# Local-first note

Files should remain legible.

- durable
- portable
- inspectable

[[Tooling]]
>pretext_probe

External Probe: Pretext.js

#>pretext_field_lab Pretext Field Lab a playful route for exploring text measurement, line breaking, and responsive layout without DOM reflow

Why it fits here

Pretext.js is interesting for the same reason interactive codeblocks are interesting: authored text can stay legible while its projected surface becomes more measurable, responsive, and deliberate.

A small external-library probe, shaped to the same frame language as the rest of this software surface.

@obsidian_homage

What if Obsidian used Spw from the start?

Markdown stays

Files remain portable and human-readable. Spw does not replace Markdown’s trust model; it deepens the structural layer.

Frames over anonymous blocks

Sections become named units with stable references, better projection, and more explicit relationships.

Properties with stronger semantics

Metadata can stay plain text while becoming more aware of role, layer, and interaction.

Interactive codeblocks

Codeblocks can move between source, syntax, and rendered surfaces without becoming detached widgets.

Plugins as projections

Plugins gain a richer substrate, not merely more UI state to manage.

Design teaches grammar

The interface becomes part of the reading model: interaction reveals structure instead of hiding it.

~"design_influences"

Design Influences

  • Literate UI operator gestures as navigation primitives, so syntax teaches interaction.
  • Symmetry UI Design spatial behavior follows symmetry while interaction follows operator physics.
  • Ocean UX expert reward comes from stable placement, reference-driven navigation, and repeated familiarity.
  • Style Currents style should be recognizable and reproducible, not ornamental drift.

These ideas are adapted from the `spw-workbench` design surfaces and translated here into a public-facing site context.

*pipeline

Pipeline

Markdown -> Spw frame -> parser -> metadata -> interactive surface

Not less plain text. More usable structure.