From f6ba94a5fc66302171801c197143dbd6fa8ab0b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Jusevi=C4=8Dius?= Date: Fri, 4 Sep 2026 15:10:46 +0200 Subject: [PATCH 1/2] The editor adopts the SaxonJS 3 result-document methods, retiring the DOM workarounds they emulate Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01DfCWF1dExp6zyLrdfrAsZ4 --- src/blocks.xsl | 33 +++++++++++++++++++++------------ src/edit.xsl | 26 +++++++++++--------------- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/src/blocks.xsl b/src/blocks.xsl index c4f3e16..acfca21 100644 --- a/src/blocks.xsl +++ b/src/blocks.xsl @@ -99,18 +99,27 @@ version="3.0"> - - - - - - - - - - + +
+ +
+
+ + + + + + + + + + + + + + + +
diff --git a/src/edit.xsl b/src/edit.xsl index 9954b63..4fdf2a4 100644 --- a/src/edit.xsl +++ b/src/edit.xsl @@ -390,8 +390,11 @@ version="3.0"> - + + + + + @@ -1651,19 +1654,12 @@ version="3.0"> - - - - - - - - - - - - + + + + + + From 379ca1019d03c680a0d88565a6f38d425f701b54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Jusevi=C4=8Dius?= Date: Fri, 4 Sep 2026 15:10:59 +0200 Subject: [PATCH 2/2] Clicking the canvas between blocks moves the caret instead of leaving the editor Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01DfCWF1dExp6zyLrdfrAsZ4 --- src/edit.xsl | 10 ++++++++++ src/select.xsl | 40 ++++++++++++++++++++++++++++++++++------ 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/src/edit.xsl b/src/edit.xsl index 4fdf2a4..d4c9019 100644 --- a/src/edit.xsl +++ b/src/edit.xsl @@ -379,6 +379,16 @@ version="3.0"> + + diff --git a/src/select.xsl b/src/select.xsl index 0b5e102..da59b5c 100644 --- a/src/select.xsl +++ b/src/select.xsl @@ -247,12 +247,14 @@ version="3.0"> + native caret placement that would collapse it), a press on non-editable + canvas places the caret at the point itself (no native placement exists + there), and a plain primary press on a host arms a sweep anchor for the + mousemove takeover (no preventDefault: native caret placement and + in-host drags proceed untouched). SaxonJS dispatches an event at the + innermost matching template only, so a press on the drag handle never + reaches this (the handle owns its gesture) and chrome is guarded out + explicitly --> @@ -282,6 +284,32 @@ version="3.0"> + + + + + + + + + + + + + + +