Go to file
Levi Neuwirth 7f8d1a1f95 editor-core: a meter-derived default grid for click-to-insert
default_grid_at(point) gives the GridResolution the pencil should snap to,
derived from the meter of the region under the cursor instead of a fixed
quarter. region_default_grid resolves the governing time signature the way the
prepass's resolve_measure_units does (a region measure's, else the score's
first), and time_signature_beat reads its beat — 1/denominator from the display
(4/4 -> quarter, 6/8 -> eighth, 2/2 -> half) — defaulting to a quarter when the
meter has no single denominator or none is declared. None only when the click
resolves to no staff.

This is additive: position_at / insert_note_at still take an explicit
GridResolution, so their signatures and tests are untouched. The GUI's pencil
click (and the empty-staff preview) now pick the grid via
default_grid_at(world).unwrap_or_else(GridResolution::quarter).

Tests: the beat is 1/denominator (4/4, 2/2; mixed-denominator -> none); a
declared 6/8 yields an eighth-note grid; a meter-less score defaults to a
quarter and a non-finite click yields no grid.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NAtEiJtt9yKVV1zjKYmZhS
2026-06-30 17:38:58 -04:00
.github/workflows editor-gui: a thin native (egui) editor over the editor-core seam 2026-06-29 11:47:25 -04:00
crates editor-core: a meter-derived default grid for click-to-insert 2026-06-30 17:38:58 -04:00
spec Pass-12 batch: mark the resolved I-series rows done 2026-06-27 12:53:36 -04:00
.gitignore Agent I Phase 2-3: engrave recognizable notation from Score to SVG 2026-06-26 20:46:33 -04:00
Cargo.lock editor-gui: a duration palette over set_selection_duration 2026-06-30 16:32:30 -04:00
Cargo.toml editor-gui: a thin native (egui) editor over the editor-core seam 2026-06-29 11:47:25 -04:00