Coalesce reference fields whose values are consumed only through nested objects
> **Follow-up of** [!1112](https://git.drupalcode.org/project/canvas/-/merge_requests/1112) — see [note 1200321](https://git.drupalcode.org/project/canvas/-/merge_requests/1112#note_1200321) and [note 1200324](https://git.drupalcode.org/project/canvas/-/merge_requests/1112#note_1200324). ### Overview When *none* of a reference field's values are consumed directly — only via nested objects — the separate expressions could, since [commit 87f7b61dd](https://git.drupalcode.org/project/canvas/-/merge_requests/1112), be coalesced further into a single nested-object expression. For example: ``` ℹ︎␜entity:node:article␝uid␞␟{name↝entity␜␜entity:user␝name␞␟value,mail↝entity␜␜entity:user␝mail␞␟value} ``` This is currently left as-is because it would mean none of the values on the `uid` field are consumed directly, which reads as odd. It is a potential tightening, not a defect. This is also the only `CoalescerTest` case where the coalesced result is not a single string; tightening it here would let that test case become simpler too. ### Proposed resolution Allow maximal coalescing into a single nested-object expression when a reference field's values are consumed exclusively through nested objects. Weigh the readability trade-off (no directly consumed value on the field) against the simplification it enables. ### Remaining tasks - Decide whether the tighter coalescing is desirable. - If yes, extend the `Coalescer` and simplify the affected `CoalescerTest` case.
issue