From 2ac2c05e5b29f6ebb4e2cdb04c1fe160e7f002f9 Mon Sep 17 00:00:00 2001 From: Yves Biener Date: Wed, 28 May 2025 14:44:51 +0200 Subject: [PATCH] mod: roadmap; details for testing --- Roadmap.md | 26 +++++++++++++++++--------- Testing.md | 4 ++-- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Roadmap.md b/Roadmap.md index 316153f..9d94782 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -4,9 +4,13 @@ The following list contains goals for certain features the library supports or i - [ ] Input handling - [x] basic input handling - - [ ] support modifiers with other control characters (i.e. `SHIFT + TAB`, `SHIFT + ENTER`) + - [x] support modifiers with other control characters (i.e. `SHIFT + TAB`) - [ ] support input's (i.e. `Esc x`, `Esc 0 x` or SS3, `Esc [ ..` or Csi, Osc, Dcs) see [src/vt.rs:156] and [src/input.rs:324] for the actual parsing implementation - - [ ] Clipboard support (reading and writing) + - [x] SS3 + - [-] CSI (not everything yet - i.e. clipboard support) + - [ ] OSC + - [ ] DCS + - [ ] Clipboard support (reading and writing) (**later**) - [ ] Container rendering - [x] Layout @@ -53,6 +57,7 @@ The following list contains goals for certain features the library supports or i - [x] grid - [x] mixed (some sort of form) - [ ] Elements + - [x] `Container` Alignment - [x] Button - [x] Text Input field - [ ] overflow handling, i.e. where to draw the elipse `..` - left, center or right (**later**) @@ -90,13 +95,16 @@ The following list contains goals for certain features the library supports or i - [x] try to integrate them into the library itself such that they also serve as examples on how to test - [x] `Layout`, `Border` and `Rectangle` contain the test cases for rendering of `Container`s - [x] `Scrollable` test cases containing inclusion of test creation containing user interaction (i.e. mouse scrolling) -- [ ] Debugging - - [ ] render correpsonding contents with debug information (the following points are just brain dump of potential information the developer want to see): - - *origin* of `Container`s - - *size* of `Container` (i.e. the four corners?) - - *padding* of `Container` - - *gap* of `Container` - - *separator* of `Container` +- [x] Debugging + - [x] render correpsonding contents with debug information (the following points are just brain dump of potential information the developer want to see): + + Top left corner indicates type of contents (if any) while general information is located in the three remaining corners: + - [x] *anchor* of `Container`s (top-left corner -> meaning that is the actual `Cell` used for displaying the debug information) + - [x] *size* of `Container` + - [x] *element* of `Container` + - [x] *separator* of `Container` + - [ ] *padding* of `Container` (i.e. by coloring the background? **later**) + - [ ] *gap* of `Container` (i.e. by coloring the background? **later**) - [ ] `Element` extensions: - provide a reference to the parent `Container` of a given `Element` diff --git a/Testing.md b/Testing.md index d7391e1..fd0aed8 100644 --- a/Testing.md +++ b/Testing.md @@ -61,8 +61,8 @@ test "test container against zon file" { defer container.deinit(); try testing.expectContainerScreen(.{ - .rows = 20, - .cols = 30, + .x = 30, + .y = 20, }, &container, @import("test/.zon")); } ```