Writer.collection ​Contract 2.0.0 · package sha256
a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e· generated fromconfigurator-runtime.d.tsbyservices/onsite-scripter/scripts/build-contract-docs.mjs; edit the source, not this file.
Method of Writer · inherited by Tx, Session, testing.FakeSession · stable · since 2.0.0 · called as session.collection
collection(name: string, options?: CollectionOptions): Collection<C>;
The live collection with this name, bound to this writer; created when absent. A lifecycle
call: immediate, never staged or queued. A new one reads { role, items: [] } in
state().look.collections from this call, and creating it commits nothing (no seq, no
event, no feed entry). options apply at creation only (CollectionOptions);
to create it anew with other options, dispose() it first. Errors: throws HoloInputError
'collection-role-mismatch' or 'collection-options-mismatch' when the name is live with a
different role or attachTo (compared by value; a Part as the part it stands for).
Through Session:
| Option | Type | Default | What it does |
|---|---|---|---|
attachTo |
Query |
undefined (world) | Follow this part: re-attached after reloads. |
role |
Role |
'product' (a new collection) | Applies at creation only; on a live name, an omitted role is no check and a different one throws 'collection-role-mismatch'. |
signal |
AbortSignal |
undefined | Aborting disposes the collection; already aborted, the new collection is born disposed (SignalOption). |
Through Tx:
| Option | Type | Default | What it does |
|---|---|---|---|
attachTo |
Query |
undefined (world) | Follow this part: re-attached after reloads. |
role |
Role |
'product' (a new collection) | Applies at creation only; on a live name, an omitted role is no check and a different one throws 'collection-role-mismatch'. |
signal |
AbortSignal |
undefined | Aborting disposes the collection; already aborted, the new collection is born disposed (SignalOption). |
signal) ​This call is a creator (SignalOption.signal, the kinds of call).
A creator (
collectionfor a new name,materials.create,on,onFrame,beforeCommit,follow,input.drag,labs.lightLinking) given a signal already aborted returns at once, already ended: aCollectionorMaterialreadingdisposed: truethat holds no content and no live name, or a registration that never runs and whose disposer does nothing.It records no Problem for the abort and throws only what it would throw anyway, as the DOM's
addEventListenerwith an aborted signal adds nothing (spec section 6.5).
| Rule | Result |
|---|---|
| 1. Neutral name | pass: collection names no product |
| 2. A precedent | pass: Unity Mesh.SetVertices (row G63); glTF 2.0 node hierarchy (row K1); Unity Object.Destroy (row K1) |
| 3. Two apps, or labs | pass: 28 apps (ledger: app-04c2774145, app-0c773a4ee3, app-37356bf09f, app-378d190f1b, app-4762caacdc, app-4f16d2f6da, app-4fd23bc869, app-510d750508 and 20 more) |
| 4. The cheaper fix first | decided per need in Appendix B: rows G63, K1 at tier app, stable (a member only where no rule, data, asset or app code serves the need) |