# `ReportFields.matched`

> 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.

Property of [`ReportFields`](ReportFields.md) · inherited by [`Report`](Report.md), [`TransactionReport`](TransactionReport.md), [`CollectionReport`](CollectionReport.md), [`AttachReport`](AttachReport.md) · stable · since 2.0.0

```ts
readonly matched: number;
```

Parts or nodes the write matched. 0 records 'target-unmatched', except while a scene write
called before it is pending (`pending: true`): then once no such write is pending (each
committed, or was aborted, refused or rolled back, or was superseded by a write that is itself
no longer pending; an aborted one is replaced the same way by the first scene write called
after the abort in that task) and the rule still matches nothing (spec section 6.10). A write that takes no query ([`setSceneModel`](Writer.setSceneModel.md), [`select`](Writer.select.md),
[`applyPatch`](Writer.applyPatch.md), `undo`, [`redo`](Session.redo.md), [`stage.set`](Stage.set.md), [`assembly.attach`](Assembly.attach.md) and `detach`, a camera write other
than `fit`, [`transaction`](Session.transaction.md)) reports 1 and records no query miss; a commit that places a model
records one 'target-unmatched' for a `globalMaterialList` entry that misses its meshes
([`IModelNode.globalMaterialList`](IModelNode.globalMaterialList.md)), and a [`select`](Writer.select.md) of that entry's group still reports 1
([`Writer.select`](Writer.select.md)). [`camera.fit`](Camera.fit.md)
through `session` counts its query's matches when it starts and, on 0, records
'target-unmatched' at once, a scene write pending or not: it frames what is drawn then and
never later; through a `tx` it frames at the transaction's presentation and reports 1. A
write refused 'disposed' reports 0 and records 'handle-disposed' instead.

## Generic-API test (spec 3.1)

| Rule | Result |
| --- | --- |
| 1. Neutral name | pass: `matched` names no product |
| 2. A precedent | not recorded: no ledger row (coverage.json) names this member or its owner |
| 3. Two apps, or labs | not recorded: no ledger row names this member or its owner |
| 4. The cheaper fix first | not recorded per member (Appendix B decides it per need) |
