--- type: guidelines --- # Display client guidelines ## 1. The client knows the contract, not the car - No CAN frame IDs, no DBC knowledge, no device paths. Topic names and payload schemas only. - If rendering something requires new knowledge of the vehicle, that knowledge belongs upstream in the decoder, not here. ## 2. Render whatever state exists, immediately - Retained topics mean a client connecting mid-drive has state at once. Never block the first paint on a full set of signals. - Missing is a normal state and must have a visual form. It is not an error. ## 3. Design for a split screen - The screen may be shared with another app. Do not assume full width. ## 4. To be added