# `DimensionFormat`

> Contract 2.0.0 · package sha256 `a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e` · generated from `configurator-runtime.d.ts` by `services/onsite-scripter/scripts/build-contract-docs.mjs`; edit the source, not this file.

Interface · `import type { DimensionFormat } from '@holostep-configurators/runtime-client/contract';` · stable · since 2.0.0 · section 13. Overlays

How rulers print a length: the number to [`decimals`](DimensionFormat.decimals.md) places, a space and [`unit`](DimensionFormat.unit.md) ('120 cm'), as 1.x printed its unit. Any other text (a thousands separator, a datasheet value, the axis name) is the `format` function.

## Members

| Member | Kind | Summary |
| --- | --- | --- |
| <a id="unit"></a>[`unit?`](DimensionFormat.unit.md) | property | The unit a length prints in, after the number ('120 cm'). |
| <a id="decimals"></a>[`decimals?`](DimensionFormat.decimals.md) | property | Decimal places of the printed number, rounded ('1.25 m' with 2). |

## Declaration

```ts
export interface DimensionFormat {
  unit?: 'mm' | 'cm' | 'm';
  decimals?: number;
}
```

## Generic-API test (spec 3.1)

| Rule | Result |
| --- | --- |
| 1. Neutral name | pass: `DimensionFormat` names no product |
| 2. A precedent | pass: [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) (row `G14`); [Unity Renderer.bounds](https://docs.unity3d.com/ScriptReference/Renderer-bounds.html) (row `G14`) |
| 3. Two apps, or labs | pass: 4 apps (ledger: app-ceb4eccc72, app-fb16dd1985, app-fc306ec3dc, app-fd09090420) |
| 4. The cheaper fix first | decided per need in Appendix B: rows `G14` at tier stable (a member only where no rule, data, asset or app code serves the need) |
