Skip to content

Commit b712853

Browse files
malysclaude
andcommitted
chore(design): the suite is six apps, and app styles leave the generated file
EVChargePilot joins the suite, so the generated token files and DESIGN.md say six where they said five. Two styles were living in styles_ev.xml, which tools/sync-tokens.mjs regenerates, and the first sync after the new app was added deleted both. Text.EV.SwipeGuide is specific to this app and moves to styles_app.xml, where colors_app.xml and dimens_app.xml already put app-specific values — it is referenced twice by activity_main.xml, so its loss was a resource-compile failure waiting for the next clean build. ShapeAppearanceOverlay.EV.Button was never specific to this app and moves the other way, into tools/tokens/styles.xml, so all six apps get the suite radius on buttons instead of Material3's fully rounded default. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 3217256 commit b712853

6 files changed

Lines changed: 28 additions & 16 deletions

File tree

‎DESIGN.md‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ components:
8484

8585
# Design System: EVSuite
8686

87-
Applies to **EVProfile**, **EVTasker**, **EVABRPUploader**, **EVLauncher**,
88-
**EVSwipe** and the shared **EVHardware** library. This file is the normative
87+
Applies to **EVProfile**, **EVTasker**, **EVABRPUploader**, **EVChargePilot**,
88+
**EVLauncher**, **EVSwipe** and the shared **EVHardware** library. This file is the normative
8989
source; a copy lives at the root of every suite repository and they are kept identical.
9090

9191
## Overview
@@ -336,6 +336,7 @@ The launcher icon is the suite's signature and the one place it is allowed to ha
336336
| EVProfile | `MG⁴` lockup — white letters, red superscript 4 |
337337
| EVTasker | A branch: one input, a condition, two outcomes |
338338
| EVABRPUploader | An upward arrow leaving two broadcast arcs |
339+
| EVChargePilot | A battery crossed by a measured energy trace |
339340
| EVLauncher | A four-tile grid, one tile red |
340341
| EVSwipe | Two chevrons and a swipe trail |
341342

@@ -351,7 +352,7 @@ legible at 48px in greyscale, it is the wrong glyph.
351352
`app_name` holds and what the driver sees under the icon.
352353

353354
**Repositories, modules and directories** are `EV<Word>` — no space: `EVProfile`,
354-
`EVTasker`, `EVABRPUploader`, `EVLauncher`, `EVSwipe`, `EVHardware`.
355+
`EVTasker`, `EVABRPUploader`, `EVChargePilot`, `EVLauncher`, `EVSwipe`, `EVHardware`.
355356

356357
**Package ids** are `com.evsuite.<lowercase>`; a family shares a segment
357358
(`com.evsuite.launcher`, `com.evsuite.swipe`).

‎app/src/main/res/values-night/colors.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- EVSuite tokens - DARK theme. See DESIGN.md section Colors.
3-
Generated by tools/sync-tokens.mjs and identical in all five apps.
3+
Generated by tools/sync-tokens.mjs and identical in all six apps.
44
55
Dark remains the mode that matters in a vehicle: a light background filling the
66
windscreen at night is glare. The suite moved to DayNight by explicit decision,

‎app/src/main/res/values/colors.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- EVSuite tokens - LIGHT theme. See DESIGN.md section Colors.
3-
Generated by tools/sync-tokens.mjs and identical in all five apps: edit
3+
Generated by tools/sync-tokens.mjs and identical in all six apps: edit
44
tools/tokens/colors.light.xml, not this copy, and re-check the ratios.
55
66
Contrast: this screen is read in daylight, usually through a reflection. Every

‎app/src/main/res/values/dimens.xml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- EVSuite tokens - metrics. See DESIGN.md sections Layout and Typography.
3-
Generated by tools/sync-tokens.mjs and identical in all five apps. App-specific
3+
Generated by tools/sync-tokens.mjs and identical in all six apps. App-specific
44
dimensions are declared alongside, in dimens_app.xml, with the reason. -->
55
<resources>
66
<!-- Vehicle screen: 12.8", ~70 cm from the driver, used while driving, sometimes
@@ -13,7 +13,7 @@
1313
<dimen name="spacing_md">16dp</dimen>
1414
<dimen name="spacing_lg">24dp</dimen>
1515

16-
<!-- One radius across the whole suite: it is what makes five apps written by
16+
<!-- One radius across the whole suite: it is what makes six apps written by
1717
different hands read as one. -->
1818
<dimen name="ev_corner">12dp</dimen>
1919

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Styles specific to EVSwipe. The shared ones are generated into styles_ev.xml by
3+
tools/sync-tokens.mjs and any edit there is lost on the next sync — app-specific
4+
styles belong here, alongside colors_app.xml and dimens_app.xml. -->
5+
<resources>
6+
<!-- The onboarding guide sits on the accent strip, so it takes the on-accent colour
7+
rather than the usual body colour, and is centred because it is read at a glance. -->
8+
<style name="Text.EV.SwipeGuide" parent="Text.EV.Body">
9+
<item name="android:gravity">center</item>
10+
<item name="android:paddingStart">@dimen/spacing_lg</item>
11+
<item name="android:paddingEnd">@dimen/spacing_lg</item>
12+
<item name="android:textColor">@color/ev_on_accent</item>
13+
<item name="android:textStyle">bold</item>
14+
</style>
15+
</resources>

‎app/src/main/res/values/styles_ev.xml‎

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!-- EVSuite - component styles. See DESIGN.md section Components.
3-
Generated by tools/sync-tokens.mjs: identical in all five apps, edit only
3+
Generated by tools/sync-tokens.mjs: identical in all six apps, edit only
44
tools/tokens/styles.xml. The application theme itself stays in values/themes.xml,
55
because its name changes from one app to the next.
66
@@ -86,14 +86,10 @@
8686
<item name="android:textColor">@color/ev_text_secondary</item>
8787
</style>
8888

89-
<style name="Text.EV.SwipeGuide" parent="Text.EV.Body">
90-
<item name="android:gravity">center</item>
91-
<item name="android:paddingStart">@dimen/spacing_lg</item>
92-
<item name="android:paddingEnd">@dimen/spacing_lg</item>
93-
<item name="android:textColor">@color/ev_on_accent</item>
94-
<item name="android:textStyle">bold</item>
95-
</style>
96-
89+
<!-- The suite radius applied to buttons. Material3 buttons are fully rounded by
90+
default, which reads as a different design language from every card and dialog
91+
around them. This lived in EVSwipe only, in a generated file, so the first sync
92+
deleted it — one radius across the suite has to be a token, not a local edit. -->
9793
<style name="ShapeAppearanceOverlay.EV.Button" parent="">
9894
<item name="cornerSize">@dimen/ev_corner</item>
9995
</style>

0 commit comments

Comments
 (0)