feat: folder deletion, precision dials and keyless light/dark maps (v0.9.0) #70

Merged
eliott merged 3 commits from feat/folder-delete-precision-dials into develop 2026-09-28 19:48:12 +02:00
Owner

Changes

  • Folders: the folder header menu gets a Delete item behind the standard confirmation. Shoots in the folder are kept and move back to the unfoldered list (API nulls the reference).
  • Map: CARTO light/dark basemaps (need an API key) replaced by keyless Esri World Light/Dark Gray Canvas. maxNativeZoom: 16 lets Leaflet upscale past z16.
  • Dials (aperture / shutter speed):
    • Per-dial precision toggle (crosshair button, not persisted): zooms the ruler 4x with an animated --zoom CSS property, drag/wheel stay 1:1 with the ruler, arrow keys step 0.1 stop.
    • Precision shutter values land on the closer of a fine step (0.1-stop grid under 1s, half seconds from 1s up) or a canonical 1/3-stop mark.
    • Regular mode only lands on marked 1/3 stops.
    • Wheel deltas accumulate so small trackpad scrolls reach the next value; arrow keys always advance to the next distinct value (fixes arrows stuck on Bulb).

Version bumped to 0.9.0, matching the v0.9.0 changelog entry in rollnote-api (chore/changelog-v0.9.0).

Testing

ng test: 801 passed. Typecheck, eslint and prettier are clean. Verified manually in the browser.

## Changes - **Folders**: the folder header menu gets a Delete item behind the standard confirmation. Shoots in the folder are kept and move back to the unfoldered list (API nulls the reference). - **Map**: CARTO light/dark basemaps (need an API key) replaced by keyless Esri World Light/Dark Gray Canvas. `maxNativeZoom: 16` lets Leaflet upscale past z16. - **Dials (aperture / shutter speed)**: - Per-dial precision toggle (crosshair button, not persisted): zooms the ruler 4x with an animated `--zoom` CSS property, drag/wheel stay 1:1 with the ruler, arrow keys step 0.1 stop. - Precision shutter values land on the closer of a fine step (0.1-stop grid under 1s, half seconds from 1s up) or a canonical 1/3-stop mark. - Regular mode only lands on marked 1/3 stops. - Wheel deltas accumulate so small trackpad scrolls reach the next value; arrow keys always advance to the next distinct value (fixes arrows stuck on Bulb). Version bumped to 0.9.0, matching the v0.9.0 changelog entry in rollnote-api (chore/changelog-v0.9.0). ## Testing `ng test`: 801 passed. Typecheck, eslint and prettier are clean. Verified manually in the browser.
The folder header menu now has a Delete item behind the standard confirmation dialog. Shoots in the folder are kept: the API nulls their folder reference, so a reload moves them back to the unfoldered list.
CARTO basemaps require an API key. Use Esri World Light/Dark Gray Canvas instead (same provider as the satellite layer). They are native up to z16, so maxNativeZoom lets Leaflet upscale beyond that instead of showing blank tiles.
feat(rings): add precision mode and strict 1/3-stop snapping to aperture/shutter dials
All checks were successful
tests / test (pull_request) Successful in 2m49s
e5409be6f3
Each dial gets a per-instance, non-persisted precision toggle that zooms the ruler 4x (animated via a registered --zoom CSS property), keeps drag/wheel tracking 1:1, and uses 0.1-stop key steps. In precision mode shutter values land on the closer of a fine step (0.1-stop grid under 1s, half seconds from 1s up) or a canonical mark.

Regular mode now only lands on marked 1/3 stops. Wheel deltas accumulate so small trackpad scrolls reach the next value, and arrow keys always advance to the next distinct value (also fixes arrows being stuck on Bulb).

Bump version to 0.9.0.
eliott merged commit 00efd62d72 into develop 2026-09-28 19:48:12 +02:00
eliott deleted branch feat/folder-delete-precision-dials 2026-09-28 19:48:13 +02:00
Sign in to join this conversation.
No reviewers
No labels
run-ci
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
RollNote/rollnote-front!70
No description provided.