Card tilt toggle (per-member, synced) #48
Labels
No labels
adr
android
area/calendar
area/design-system
area/i18n
area/jobs
area/offline
area/server
area/testing
bug
ci
duplicate
enhancement
help wanted
invalid
notifications
question
reliability
security
severity/low
severity/medium
tracking
web
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
eagraiclainne/app#48
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Add a per-member preference to flatten the card tilt across the whole app. The tilt is the pinned-paper-note look — cards rotate by a small cycling angle. Some members find rotated text harder to read. The preference turns it off, so cards render straight. It syncs across devices and is offered during the first-login tour.
Context
The tilt is part of the visual system on both surfaces:
web/src/app.css:321—rotate: calc(var(--tilt) * var(--tilt-scale, 1)), with a cycling set of angles and a--tilt-scalethat halves the angle on wide screens.android/app/src/main/java/ie/eagraiclainne/android/ui/Board.kt:83-87— the same four angles throughtiltAngle(), halved on wide screens.Depends on
#60 — the synced UI-preferences model. This issue uses the
flatten_cardsfield defined there.flatten_cardsdefaults to false, which keeps the current tilted look. True renders cards straight.Scope
Web (reference surface):
flatten_cardsis true, zero the tilt everywhere.rotate: var(--tilt)uses that ignore--tilt-scale(for exampleweb/src/app.css:835and:850). Route every tilt through one switch, so a single flag flattens all of them. Setting--tilt-scale: 0is the natural mechanism once every rotation honors it.Android:
tiltAngle()returns 0 whenflatten_cardsis true (Board.kt:86-87).First-login tour:
android/.../ui/Tour.ktatTheme, webweb/src/tour/TourGate.tsx). A member chooses the look during onboarding.Default
Tilted.
flatten_cardsfalse preserves the current look. This is an opt-out.Surface parity
Web and Android both honor the preference. MCP and CLI do not render cards. Per system rule 1.
Design authority
docs/frontend-plan.htmldocuments the tilt as part of the visual system. Update it to record the toggle and that flat is a supported mode (system rule 5, frontend canon).Definition of done
docs/frontend-plan.htmlupdated.make checkpasses. Verified on device against the live deploy.Toggle the ui tiltto Card tilt toggle (per-member, synced)