--- title: "3DARCH-FT-2 — Shared contracts and reusable interface foundations" description: "Enable application teams to evolve real-time interactions and user interfaces against shared types, constants, TypeScript rules, lint rules, and reusable UI components rather than duplicating incompatible definitions." --- # Shared contracts and reusable interface foundations | Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution | |---|---|---|---|---|---| | `3DARCH-FT-2` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No | ## Description Enable application teams to evolve real-time interactions and user interfaces against shared types, constants, TypeScript rules, lint rules, and reusable UI components rather than duplicating incompatible definitions. ## User or operator problem Application teams risk incompatible real-time behavior and inconsistent interfaces when contracts, constants, and components are duplicated. ## Expected value Keeps client, service, and interface behavior aligned while reducing duplicated definitions. ## Scope Includes shared player, chat, voice, seat, authentication, control, socket, TypeScript, lint, and reusable UI foundations. ### Exclusions - End-user product behavior and solution or release authorization are outside these engineering Features. ## Acceptance outcomes - [ ] Frontend and backend consume the same player, chat, voice, seat, and authentication contracts. - [ ] Common controls and socket event names have one shared definition. - [ ] Reusable UI components can be developed, demonstrated, and tested independently. ## Dependencies - [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md) ## Risks - Shared contract changes can break multiple applications unless all consumers are validated together. ## Human approval Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval. - [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201) ## Delivery status evidence The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress. - Event: Catalogue registration - Actor and authority: Linas — Human project team member - Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog. - [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201) ## Architecture traceability - Requirements: none derived. - Readiness: Not started. Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded. ## Tasks [Review the Tasks group](./3darch-ft-2/tasks.md). No canonical implementation Tasks have been defined. ## Original source - [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562) - [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201) ### Legacy implementation evidence The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`. - [`packages/utils/types/src/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/) - [`packages/utils/constants/src/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/) - [`packages/utils/typescript-config/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/typescript-config/) - [`packages/utils/eslint-config/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/eslint-config/) - [`packages/stardust/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/)