# Tinge v0.1.0

Stage: **research baseline**. Not published to npm or Maven.

Authored English sentiment sentences; last two per label held out. Negation and sarcasm are not reliably handled.

## Artifact

- Raw bytes: 12689
- SHA-256: `4d0da8b7a23077c5bdb16c5415cb734a7c39e53e79f71ace1e624387cf34c155`
- Training examples: 39
- Internal held-out smoke test: 5/6
- Classes: Positive, Negative, Neutral

The internal test is not an independent real-world benchmark. Scores are uncalibrated. Artifact size excludes the runtime and memory overhead.

## Node / browser

From the repository root: `bun install && bun run sdk:build`.

```ts
import { createModel } from '@embermote/tinge';
const model = createModel();
```

Text models accept a string. Audio models accept `audioFeatures(pcm, 8000)`; Glyph accepts `shapeFeatures(points)`, both exported by `@embermote/core`.

## Kotlin

```kotlin
import dev.embermote.tinge.Tinge
val model = Tinge.load()
```

JDK 17+, root Gradle build. Model resources are bundled in each model module. Use `Features.audio` or `Features.shape` for numeric inputs. Android device testing is pending.

## Rebuild

`bun run train` uses the original recipe in `training/train.py`. No external datasets or third-party weights are downloaded.
