implement editor-above-Claude split in workspace
Editor opens above Claude via Ctrl+E with a draggable divider at 35% height (clamped 15-70%). Ctrl+W or Escape closes it. The workspace no longer renders a tab bar — Claude is the always-visible primary surface per D-047/D-048; the editor is a split overlay per D-049, not a tab. The _WorkspaceSlot separates editor from primary content tabs and renders them as a vertical split when the editor is open. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -100,5 +100,42 @@ void main() {
|
||||
a.applyPreset(classicPreset());
|
||||
expect(a.isInFocusMode, false);
|
||||
});
|
||||
|
||||
test('openEditor sets editorOpen', () {
|
||||
final a = LayoutArrangement()..applyPreset(classicPreset());
|
||||
expect(a.editorOpen, false);
|
||||
a.openEditor();
|
||||
expect(a.editorOpen, true);
|
||||
});
|
||||
|
||||
test('closeEditor clears editorOpen', () {
|
||||
final a = LayoutArrangement()..applyPreset(classicPreset());
|
||||
a.openEditor();
|
||||
a.closeEditor();
|
||||
expect(a.editorOpen, false);
|
||||
});
|
||||
|
||||
test('toggleEditor flips editorOpen', () {
|
||||
final a = LayoutArrangement()..applyPreset(classicPreset());
|
||||
a.toggleEditor();
|
||||
expect(a.editorOpen, true);
|
||||
a.toggleEditor();
|
||||
expect(a.editorOpen, false);
|
||||
});
|
||||
|
||||
test('setEditorRatio clamps to 0.15–0.70', () {
|
||||
final a = LayoutArrangement()..applyPreset(classicPreset());
|
||||
a.setEditorRatio(0.05);
|
||||
expect(a.editorRatio, 0.15);
|
||||
a.setEditorRatio(0.90);
|
||||
expect(a.editorRatio, 0.70);
|
||||
a.setEditorRatio(0.40);
|
||||
expect(a.editorRatio, 0.40);
|
||||
});
|
||||
|
||||
test('editorRatio defaults to 0.35', () {
|
||||
final a = LayoutArrangement()..applyPreset(classicPreset());
|
||||
expect(a.editorRatio, 0.35);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user