Package Exports
- @czap/core
- @czap/core/addressed-digest
- @czap/core/ai-cast
- @czap/core/animation
- @czap/core/assembly
- @czap/core/av-bridge
- @czap/core/av-renderer
- @czap/core/blend
- @czap/core/boundary
- @czap/core/boundary-attribute
- @czap/core/boundary-f32
- @czap/core/brands
- @czap/core/caps
- @czap/core/capsule
- @czap/core/capsules/ai-cast-proposal
- @czap/core/capsules/ai-cast-summarize
- @czap/core/capsules/boundary-evaluate
- @czap/core/capsules/canonical-cbor
- @czap/core/capsules/canonical-cbor-decode
- @czap/core/capsules/document-graph-address
- @czap/core/capsules/escalation-choose-rung
- @czap/core/capsules/graph-patch-identity
- @czap/core/capsules/token-buffer
- @czap/core/capture
- @czap/core/cbor
- @czap/core/cell
- @czap/core/codec
- @czap/core/command
- @czap/core/component
- @czap/core/composable
- @czap/core/compositor
- @czap/core/compositor-pool
- @czap/core/config
- @czap/core/content-address
- @czap/core/dag
- @czap/core/defaults
- @czap/core/derived
- @czap/core/diagnostics
- @czap/core/dirty
- @czap/core/document-graph
- @czap/core/document-graph-address
- @czap/core/easing
- @czap/core/ecs
- @czap/core/escalation
- @czap/core/fnv
- @czap/core/frame-budget
- @czap/core/gen-frame
- @czap/core/graph-patch
- @czap/core/harness
- @czap/core/harness/arbitrary-from-schema
- @czap/core/harness/cached-projection
- @czap/core/harness/index
- @czap/core/harness/policy-gate
- @czap/core/harness/pure-transform
- @czap/core/harness/receipted-mutation
- @czap/core/harness/scene-composition
- @czap/core/harness/site-adapter
- @czap/core/harness/state-machine
- @czap/core/hlc
- @czap/core/index
- @czap/core/interpolate
- @czap/core/live-cell
- @czap/core/op
- @czap/core/plan
- @czap/core/projection
- @czap/core/protocol
- @czap/core/quantizer-types
- @czap/core/receipt
- @czap/core/runtime-coordinator
- @czap/core/scheduler
- @czap/core/ship-capsule
- @czap/core/signal
- @czap/core/signal-input
- @czap/core/speculative
- @czap/core/store
- @czap/core/style
- @czap/core/testing
- @czap/core/theme
- @czap/core/timeline
- @czap/core/token
- @czap/core/token-buffer
- @czap/core/tuple
- @czap/core/type-utils
- @czap/core/typed-ref
- @czap/core/ui-quality
- @czap/core/validated-output
- @czap/core/validation-error
- @czap/core/vector-clock
- @czap/core/video
- @czap/core/wasm-dispatch
- @czap/core/wasm-fallback
- @czap/core/wire
- @czap/core/zap
Readme
@czap/core
Creates the definitions — boundaries (named states over a numeric signal), design tokens, styles, themes — that the rest of LiteShip compiles to CSS and evaluates at runtime.
Install this directly when you want the definition primitives without a framework integration. If you're starting a new project, start with liteship or @czap/astro instead.
Install
pnpm add @czap/core effect@betaeffect is the one peer dependency and it must be the Effect 4 beta (effect@beta) — a bare pnpm add effect installs 3.x and fails the peer check.
30 seconds
import { Boundary } from '@czap/core';
const viewport = Boundary.make({
input: 'viewport.width',
at: [
[0, 'mobile'],
[768, 'tablet'],
[1280, 'desktop'],
],
hysteresis: 20,
});
console.log(Boundary.evaluate(viewport, 800)); // 'tablet'
console.log(viewport.id); // 'fnv1a:bf4e9a2f'Logs tablet (800 sits between the 768 and 1280 thresholds), then the boundary's content address — the same address on every machine, because it is computed from the definition itself. The hysteresis: 20 is a dead zone that stops state flicker right at a threshold.
Where it sits
This is the foundation layer — every other @czap/* package imports its primitives. Its one @czap dependency is @czap/_spine, the shared type declarations its published types reference. Two things commonly assumed to be here live elsewhere: live evaluation against a changing signal is @czap/quantizer, and compiling definitions to CSS text is @czap/compiler. It does own the canonical signal-input vocabulary, though: SignalSource ⇄ SignalInput via sourceToInput/inputToSource — the source of truth for input strings like viewport.width, scroll.progress, audio.amplitude that every host reads through rather than re-parsing. See the
package surfaces map
for the full layout.
Docs
- Getting started
- Authoring model — what you type, what comes out
- Glossary — the vocabulary used above
- API reference — generated from source
Part of LiteShip — powered by the CZAP engine (Content-Zoned Adaptive Projection), distributed as @czap/* packages.