'target-unmatched' ​Contract 2.0.0 · package sha256
a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e· generated fromconfigurator-runtime.d.ts,tables/problems.jsonandservices/onsite-scripter/scripts/contract-docs-what-to-do.jsonbyservices/onsite-scripter/scripts/build-contract-docs.mjs; edit the source, not this file.
A member of ProblemCode · stable · since 2.0.0
A query matched nothing, or a placed model's globalMaterialList meshName matches none of its meshes but is close to one (a typo; once, at the commit that places the model); didYouMean names close authored names.
Fix the query, not the write: name and slot are case-sensitive globs over the WHOLE authored name ('Drawer*' matches 'Drawer_Left', 'Drawer' matches only 'Drawer'), didYouMean lists close authored names, and session.find({ node: nodeId }).list() shows the names a loaded model has. A rule written while an earlier scene write is pending waits for it (pending: true), so call setSceneModel before the rule that needs its parts. One whose message names a globalMaterialList entry was recorded when that model was placed: fix the stored entry's meshName (didYouMean names the model's close mesh names), since a select of its group commits and reports matched 1 while it dresses nothing there.
await session.find({ node: sofaId, name: 'Drawer*' }).set({ visible: false });
console.log(session.find({ node: sofaId }).list().map((p) => p.name));
AnchorSpec.at: While on matches no part (a node not loaded, failed or removed, a removed item), the anchor reports visible: false with x, y and depth 0, as 1.x does, and records no Problem, 'target-unmatched' included.Animations.play: A clip the target doesn't hold, a target whose GLB isn't loaded yet, or an unknown nodeId is not invalid input: it resolves matched: 0, changes nothing and records 'target-unmatched' with didYouMean from list(target) (1.x returned false and warned with the clip names).Camera.fit: Through session its Report's matched counts the query's matches when the fit starts; a query that matches nothing (a typo, or a model whose scene write is still pending) leaves the camera where it is and records 'target-unmatched' with didYouMean, so await the scene write that adds what it frames first.IModelNode.globalMaterialList: An entry whose meshName matches none of this model's meshes but is close to one (a typo) records 'target-unmatched' once, at the commit that places the model, with didYouMean; one close to none (another element's entry, copied across a range) stays silent, as 1.x.Labs.geometry.write: Errors: rejects HoloInputError on invalid input; no match records 'target-unmatched'.PartActions.find: Sync; the same rules as Writer.find, except for a write: a Query has no "inside this part" form, so set() through the result writes one rule per part it matches at the call, each bound to that part's address as a write through that Part (spec section 6.10, R3; no match: 'target-unmatched' at once).PartActions.set: No match: matched: 0 and 'target-unmatched', deferred while a scene write called before it is pending (Report.matched; spec section 6.10).Problem.didYouMean: authored names for 'target-unmatched'; for 'invalid-input', the thrown HoloInputError's didYouMean (spec section 8.1).Query: A query that matches nothing records 'target-unmatched' (Report.matched).Reason: - 'disposed': a new write through a disposed collection or naming one as its owner, or through a part that reads exists: false (never a node() handle); nothing ran, matched is 0 without 'target-unmatched', and problems holds 'handle-disposed' (spec section 3.4).ReportFields.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…SkinBinding: A name the new skeleton lacks drops the binding, records 'target-unmatched' (node, skeletonOf) and gives the item its placement back.Writer.apply: Asset failures are problems ('asset-failed'); a rule that matches nothing records 'target-unmatched'.Writer.node: An id that names a stored node placing nothing (a GroupNode, a MaterialNode) or a node's _id or name matches no part: its 'target-unmatched' says which, with the ModelNode ids (or that node's nodeId) in didYouMean (delivery-run cycle 18, R2-GAP-7).Writer.select: The cause is the scene model's: a globalMaterialList meshName close to one of its model's mesh names (a typo) was recorded once, when that model was placed, as 'target-unmatched' in info().problems with didYouMean; a group no placed model names records nothing, as 1.x.The set is open: handle a code you don't know ('other').
failure-matrix/errorCases/query-matches-nothing (tables/failure-matrix.json)