Raise the editor floor to 1190x680, derived from the deck's declared width budget, and make row membership a property of the group
This commit is contained in:
@@ -23,8 +23,9 @@
|
||||
namespace reasampler::instrument::ui {
|
||||
|
||||
// Fixed deck metrics, exposed so the shell and tests agree. The cell/knob/label sizes were
|
||||
// raised together for legibility at high pixel densities; the editor's floor width
|
||||
// (sample_bands) is what absorbs the wider cells, so the two move as a pair.
|
||||
// raised together for legibility at high pixel densities. The deck's cell metrics AND its
|
||||
// group/row composition BOTH drive sample_bands' kEditorMinWidth; none of the three may move
|
||||
// alone.
|
||||
inline constexpr int kDeckCellW = 60; // one knob cell
|
||||
inline constexpr int kDeckCellH = 74;
|
||||
inline constexpr int kDeckKnobSize = 40; // knob diameter inside the cell
|
||||
@@ -46,6 +47,19 @@ inline constexpr int kDeckInnerDialSize = 20;
|
||||
inline constexpr int kDeckGroupH =
|
||||
kDeckGroupPadY + kDeckCaptionH + kDeckCaptionGap + kDeckCellH + kDeckGroupPadY;
|
||||
|
||||
// --- The deck's width budget at the editor's floor ------------------------------------
|
||||
// DECLARATIONS of budget, not measurements: nothing here is computed from a descriptor, and a
|
||||
// group inventory that overruns one is what fails. sample_bands' kEditorMinWidth is derived
|
||||
// from the first two — kDeckRowBlockW + kDeckGroupGap + kDeckSpanningW + 2*kPad — and the
|
||||
// identity is asserted in test_deck_groups.cpp rather than coded, so the allocator keeps no
|
||||
// include edge to this header.
|
||||
inline constexpr int kDeckRowBlockW = 1020; // the block both categorical rows justify inside
|
||||
inline constexpr int kDeckSpanningW = 142; // the right-anchored spanning deck, outside the block
|
||||
// The hard ceiling the FLOOR may not exceed; the window itself still grows freely above it.
|
||||
// The gap between it and kEditorMinWidth is the whole width budget for the life of this
|
||||
// layout — see instrument-control-surface.md §1.6 before spending any of it.
|
||||
inline constexpr int kEditorCeilingWidth = 1280;
|
||||
|
||||
// A two-segment compact toggle (always 2 segments — the Mono/Stereo grammar). id -1 = absent.
|
||||
struct DeckToggleDesc {
|
||||
int id = -1; // shell control id returned by the hit-test; -1 = no toggle
|
||||
|
||||
Reference in New Issue
Block a user