# Specimen Case

A bento of glass-topped compartments in a machined case, each holding one real Tactile object running small (the Odometer, the Flip-Dot, the Detent Dial, the Vessel) with an engraved label card under the glass. Light comes from above: hover, focus or press Light and that case wakes; the others sleep.

Block · With a Pass · https://tactileui.dev/blocks/specimen-case

> The code and styling for this block come with the Pass. Sign in if you have one. Sign in: https://tactileui.dev/auth/sign-in The price: https://tactileui.dev/pricing

## Anatomy

Real objects in deps, Lit only runs, Container query bento, Lamp cone and dim, Light key aria pressed, Touch pins light, One timer per lit case, Sleep off screen and hidden, Reduced motion static, Object finish mapping, Finish following

## Usage notes

A features section that shows a product's parts as specimens. The four objects are the library's own, mounted and run in their cases, not drawn to look like them; each sits behind glass with a card that says what it does for the product. A case is lit while the pointer is over it, focus is in it or its Light key is pressed (a tap on the glass pins it on for touch), and only a lit case does anything: the counter turns, the sign flips its message, the dial sweeps between notches, the liquid finds a new level. Off screen, in a hidden tab and under reduced motion nothing runs at all, so a page of dark cases costs nothing.

## Options

| Option | Type | Description |
| - | - | - |
| label | text | Label |
| title | text | Headline |
| lead | text | Lead |
| count | number | Three (the Odometer, the Flip-Dot and the Detent Dial) or four (with the Vessel). Each is a real object, run in its case. |
| live | boolean | On: a lit case wakes its object (the counter turns, the sign flips, the dial sweeps, the liquid moves). Off: the objects stay still and can only be handled. |
| finish | enum | Auto follows the page’s data-finish, then the visitor’s system. The objects follow it too. |

## Methods

- objects
- lit
- light
- update
- destroy

## States

1. **At rest**: Four compartments in a machined case, a bento of two wide and two tall: each object at rest behind dimmed glass, its lamp dark, its card of text beneath. Nothing moves.
2. **Lit**: Hover a compartment, focus into it, or press its Light key. The count in the case's band says how many are lit. specimen-light fires.
3. **Running**: Only a lit case runs. Unlit, each stops and the object holds still.
4. **Handled**: The objects are real: turn the dial, tap the glass of the Vessel, drag the Flip-Dot. The dial is a slider with its own keyboard.
5. **Touch**: A finger on the glass lights the case and leaves it lit; the Light key turns it off.
6. **Keyboard**: Each Light key is a button with aria-pressed named for its case; focus anywhere in a case lights it, and the Detent Dial takes the arrow keys.
7. **Idle and off screen**: No timer runs unless a case is lit, the block is on screen and the tab is visible; each stops when any of those stops holding.
8. **Tablet**: Two columns: the Odometer and the Flip-Dot each across the width, then the dial and the vessel side by side.
9. **Phone**: 
10. **Reduced motion**: Nothing runs by itself: lighting a case only changes the light, without a fade, and the objects can still be handled.
11. **Finishes**: Aluminium and graphite by data-finish; the objects follow (bone drums and steel, or ink drums and graphite; an aluminium or graphite dial; white discs; mercury).

## How it works

The Odometer, the Flip-Dot, the Detent Dial and the Vessel arrive in deps and are never imported by the block; each is constructed in its compartment and dressed by the finish. The case, the wells, the lamps, the keys, the glass and the cards are CSS drawn in the kit's tokens; no image.
