From 03907da8c943bd347aab5fbc43d590e9d298e89f Mon Sep 17 00:00:00 2001 From: Andy Kopra Date: Wed, 14 Oct 2026 14:00:47 +0200 Subject: [PATCH] The Shape tool, implied rectangles, and the palette floating again A Shapes button right of Text draws a rectangle, an ellipse, a line of taps or an arrow in the pen's colour and width, with a fill colour of its own; a hold, a secondary press or two quick clicks open its menu. Text and Hide rectangles draw nothing on the page and show blue corners while the pointer hovers over them; free text's red corner mark is gone. Arrange moves and resizes shapes. The colour palette floats below "+" again instead of reflowing the toolbar. Co-Authored-By: Claude Fable 5.1 --- client/index.html | 21 +- client/js/main.js | 471 ++++++++++++++++++++++++++++++++++----- client/js/manual.js | 6 +- client/js/page_file.js | 71 +++--- client/js/page_model.js | 72 +++++- client/js/pen_input.js | 33 ++- client/js/renderer.js | 260 +++++++++++---------- client/js/session.js | 89 +++++++- client/js/shapes.js | 269 ++++++++++++++++++++++ client/js/text_editor.js | 31 +-- client/kokkoja.css | 68 ++++-- tests/test_end_to_end.py | 408 +++++++++++++++++++++++++++++++-- 12 files changed, 1502 insertions(+), 297 deletions(-) create mode 100644 client/js/shapes.js diff --git a/client/index.html b/client/index.html index bacbde6..29a0912 100644 --- a/client/index.html +++ b/client/index.html @@ -45,14 +45,29 @@ + data-help="Type on the page. Tap where the text should begin, or drag open a rectangle in which the text wraps and which grows downward as you type; its corners are marked in blue on the screen only. Tap your own text to change it; rest the pen on it to move it, or near a corner of a rectangle to resize it, or use Arrange.">Text + +
- +