--- title: Presentation Model status: draft maturity: hypothesis families: [composition, affordance] scales: [L4, L6] admission: research-candidate-only --- # Presentation Model Context: a screen contains presentation decisions that are difficult to exercise through widget APIs. Testability and reuse compete with binding complexity. Proposed solution: represent presentation state and decisions independently of the concrete controls; adapt that model into the view and translate interaction back into intents. Domain authority stays outside presentation decisions. Specify the binding direction and ownership of each editable value to avoid feedback loops. Result: logic can be tested without mounting the full interface, but model/view synchronization becomes another failure surface. This is broader than Local Draft State: a presentation model may contain selection and enablement without any draft. Do not create a second editable copy of every domain object by default. Evidence: B01 locates Fowler's named pattern and its synchronization trade-off. The source is a historical draft, not a verified deployment in this research. Alternative: keep a trivial screen's logic in its view; another controller style may be sufficient. Full-pattern recurrence here remains unverified. Proposed relations: may contain [Local Draft State](LocalDraftState.md) and compute [Derived State](DerivedState.md); neither is mandatory. Next test: edit, refresh and change selection; verify ownership of draft versus server observation and ensure a binding update does not trigger duplicate commands. Evidence locators: [breadth review](../reviews/PatternBreadthExpansion.md). All relations are research proposals; no canonical identity or admitted graph edges. The next test is planned, not executed. Known uses of the complete proposed contract have not been verified in this investigation.