From 4709b40bf2006db8b34fc7917ece956bf7d08d18 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 9 Jul 2021 22:26:19 +0100 Subject: [PATCH] script: Add new check_z_order arrangement Signed-off-by: Ian Jackson --- jstest/jst-lower.rs | 2 -- templates/script.ts | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/jstest/jst-lower.rs b/jstest/jst-lower.rs index 26a24baf..19982753 100644 --- a/jstest/jst-lower.rs +++ b/jstest/jst-lower.rs @@ -2,8 +2,6 @@ // SPDX-License-Identifier: AGPL-3.0-or-later // There is NO WARRANTY. -// (function(){ let s = pieces_marker; let last_z=""; for (;;) { s = s.nextElementSibling; if (s == defs_marker) break; let piece = s.dataset.piece; let z = pieces[piece].z; console.log(piece, z, z >= last_z); last_z = z;} })(); - use otter_nodejs_tests::*; pub type Vpid = VisiblePieceId; diff --git a/templates/script.ts b/templates/script.ts index ccf82d01..8af7e9eb 100644 --- a/templates/script.ts +++ b/templates/script.ts @@ -1853,6 +1853,24 @@ function piece_set_zlevel(piece: PieceId, p: PieceInfo, } if (ins_before != p.uelem) space.insertBefore(p.uelem, ins_before); + + check_z_order(); +} + +function check_z_order() { + if (!otter_debug) return; + let s = pieces_marker; + let last_z = ""; + for (;;) { + s = s.nextElementSibling as SVGGraphicsElement; + if (s == defs_marker) break; + let piece = s.dataset.piece!; + let z = pieces[piece].z; + if (z < last_z) { + json_report_error(['Z ORDER INCONSISTENCY!', piece, z, last_z]); + } + last_z = z; + } } function piece_note_moved(piece: PieceId, p: PieceInfo) { @@ -2121,6 +2139,7 @@ function startup() { e.stopPropagation(); }, true); document.addEventListener('keydown', some_keydown); + check_z_order(); } declare var wasm_input : any; -- 2.30.2