# SparseCommentNode

Represents a sparse comment.

## Signatures

```ts
export declare class SparseCommentNode {
    readonly _tag: "sparse-comment";
    readonly nodes: Array<TextNode | CommentPartNode>;
    constructor(nodes: Array<TextNode | CommentPartNode>);
}
```

## Why

Literal and dynamic comment segments remain one local native comment value.

## Ownership and lifetime

The model owns segments; the mounted Scope owns the comment updater.

## Constructor

Creates sparse comment syntax.

## Property: _tag

Sparse-comment discriminant.

## Property: _tag: Why

Selects ordered segment joining into one native Comment.

## Property: _tag: Ownership and lifetime

Immutable AST metadata.

## Property: nodes

Ordered literal and dynamic comment segments.

## Property: nodes: Why

Reconstructs one comment value in author order.

## Property: nodes: Ownership and lifetime

Retained AST array; the mounted part owns live inputs.

## Examples

```ts
import { SparseCommentNode } from "@typed/template/Template"

const node = new SparseCommentNode([])
```
