Skip to content

v0.1.0 — initial public release

Choose a tag to compare

@ClodoCapeo ClodoCapeo released this 03 May 18:25
· 31 commits to main since this release
719abe0

First public release of the @lumencast/* TypeScript SDK on npm.

Published packages

Package Description
`@lumencast/protocol` LSDP/1 wire protocol — envelope, codec, sequence, leaf-path utilities, error taxonomy, types. Pure code, no IO.
`@lumencast/server` Node server kit for LSDP/1 — HTTP+WS, scene composition, leaf store, server-side adapters, token-agnostic auth hooks.
`@lumencast/dev-server` Mock LSDP/1 server for tests — WS protocol + HTTP bundle serving + `/__mock/*` control plane.
`@lumencast/runtime` Browser runtime — `mount()`, transport, leaf-grain store, LSML render, animations, overlays.
`@lumencast/runtime-svelte` Headless Svelte adapter — live LSDP/1 leaf state as Svelte stores.
`@lumencast/runtime-vue` Headless Vue 3 adapter — live LSDP/1 leaf state as Vue refs.
`@lumencast/compiler` LSML 1.0 → flat RenderBundle compiler.

What's in 0.1.0

The browser runtime is feature-complete for the LSML 1.1 / LSDP 1.1 receiver-side surface :

  • §3.2.2 per-leaf transition directives on delta patches
  • §3.3.1 scene-swap transitions
  • §4.1 stack `wrap` + `crossGap`
  • §4.6 / §4.12 multi-fill + linear/radial gradients on `shape` / `frame`
  • §4.9 `instance` primitive scaffold
  • §5.4 universal props (`visible`, `opacity`, `rotation`, `sizing`)
  • §6.5 sRGB colour interpolation
  • §6.6 keyframe sequences
  • §6.7 `repeat.stagger_ms`
  • §17.3 `profiles[]` gating with `BUNDLE_INCOMPATIBLE` rejection
  • §18 `since_sequence` resume

The server kit + dev-server speak the same protocol level. The conformance harness covers 33 scenarios.

Quickstart

```bash
pnpm add @lumencast/runtime
```

```ts
import { mount } from "@lumencast/runtime";

const handle = mount({
target: document.getElementById("stage")!,
serverUrl: "wss://example.com/lsdp/v1",
token: "",
mode: "broadcast",
});
```

A working hello-world lives in `examples/basic-scoreboard`.