# Noizu.Tessera v0.2.0 - API Reference

## Modules

- [Noizu.Tessera.Codegen](Noizu.Tessera.Codegen.md): Code generators over a `Noizu.Tessera.Spec`
- [Noizu.Tessera.Component](Noizu.Tessera.Component.md): `use Noizu.Tessera.Component, tag: "persona-card", js: "persona_card.mjs"`
- [Noizu.Tessera.Component.Expr](Noizu.Tessera.Component.Expr.md): SPIKE (`spike/elixir-to-lit`): translator for the restricted Elixir subset
accepted inside tessera element `action/2` bodies and `~TSR` template
expressions (see docs/notes/spike-elixir-to-lit.md §subset).
- [Noizu.Tessera.Component.Extension](Noizu.Tessera.Component.Extension.md): The shared Elixir derivation layer behind `use Vendor.Element, tag: …`
(EXTENSION-CONTRACT.md §5). Runtime-agnostic on purpose: Tier 1 (compiled to
Lit) uses it now, and Tier 2 (Hologram-in-element, brief 3f) reuses the same
merge + dispatcher generation — the spec is the single interface between
definition and runtime (§9).
- [Noizu.Tessera.Component.LitCodegen](Noizu.Tessera.Component.LitCodegen.md): SPIKE (`spike/elixir-to-lit`): emits the Lit element module for a spec that
declared `state` / `template ~TSR` / `action` (docs/notes/spike-elixir-to-lit.md
§codegen).
- [Noizu.Tessera.Component.Styles](Noizu.Tessera.Component.Styles.md): CSS helpers for the `styles` DSL (EXTENSION-CONTRACT.md §7 theming).
- [Noizu.Tessera.Component.Template](Noizu.Tessera.Component.Template.md): SPIKE (`spike/elixir-to-lit`): `~TSR` element-template parsing and lit-html
emission (docs/notes/spike-elixir-to-lit.md §template-parser).
- [Noizu.Tessera.FromLit.Extractor](Noizu.Tessera.FromLit.Extractor.md): Mechanical shape extraction from a Lit 3 component source (`.js`/`.ts`).
- [Noizu.Tessera.FromLit.Generator](Noizu.Tessera.FromLit.Generator.md): Turns a `Noizu.Tessera.FromLit.Extractor` shape descriptor into a tessera
component stub: the spec module (attr/prop/event/slot/cy DSL), a colocated
Lit-based `.mjs` element template, and the WTR test skeleton.
- [Noizu.Tessera.Hologram.Adapter](Noizu.Tessera.Hologram.Adapter.md): Generates the Hologram component (the "adapter", CONTRACT.md §3/§5) inside a
module that did `use Noizu.Tessera.Component`.
- [Noizu.Tessera.Hologram.Standalone](Noizu.Tessera.Hologram.Standalone.md): Tier 2 spike: compiles ORDINARY Hologram components into standalone,
host-agnostic bundles by driving Hologram's own compiler pipeline.
- [Noizu.Tessera.Naming](Noizu.Tessera.Naming.md): Naming conversions of the tessera wire contract (CONTRACT.md §1).
- [Noizu.Tessera.Package](Noizu.Tessera.Package.md): `use Noizu.Tessera.Package, components: [MyApp.PersonaCard, ...]`
- [Noizu.Tessera.Spec](Noizu.Tessera.Spec.md): The compiled spec of a tessera component (CONTRACT.md is authoritative).

## Mix Tasks

- [mix tessera.cem](Mix.Tasks.Tessera.Cem.md): Writes the Custom Elements Manifest (`Noizu.Tessera.Codegen.cem/1`,
schemaVersion "1.0.0") for a tessera component package
- [mix tessera.compile_component](Mix.Tasks.Tessera.CompileComponent.md): Compiles one or more ORDINARY Hologram components into standalone,
host-agnostic bundles using Hologram's own compiler (Tier 2 spike).
- [mix tessera.from_lit](Mix.Tasks.Tessera.FromLit.md): Converts an existing Lit 3 component (`.js`/`.ts`) into a tessera component
stub in the current Mix project
- [mix tessera.gen.component](Mix.Tasks.Tessera.Gen.Component.md): Scaffolds a tessera web component in the current Mix project
- [mix tessera.gen.gallery](Mix.Tasks.Tessera.Gen.Gallery.md): Scaffolds the tessera component gallery for a package in the current Mix
project
- [mix tessera.golden](Mix.Tasks.Tessera.Golden.md): Rewrites the checked-in goldens under `test/fixtures/` from the CURRENT
generators
- [mix tessera.install](Mix.Tasks.Tessera.Install.md): Prepares a Hologram host app's `assets/` for tessera components
- [mix tessera.manifest](Mix.Tasks.Tessera.Manifest.md): Aggregates `__tessera_manifest__/0` across every tessera component in the
current Mix project and its loaded deps, then writes

