From 250c326c92559e7adb8bbb1bc74b85ff12b080fb Mon Sep 17 00:00:00 2001 From: Simonas Kareiva Date: Thu, 21 May 2026 23:36:25 +0300 Subject: [PATCH] Add all levels --- src/levels/l07_complex.rs | 14 ++++++++------ src/levels/mod.rs | 6 ++++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/levels/l07_complex.rs b/src/levels/l07_complex.rs index 5bb7280..03fcafa 100644 --- a/src/levels/l07_complex.rs +++ b/src/levels/l07_complex.rs @@ -112,14 +112,16 @@ impl Level for Complex { serde_yaml::to_string(&Value::Mapping(top)).expect("serialise mapping"); let mut d = Describer::new(); + // No tab characters: ratatui's Paragraph renders tabs unevenly, + // which combined with the typewriter's progressive reveal can + // produce overlapping characters. Use plain spaces for indents. d.register( "l07", - "Floor {{ floor }}.\n\ - {% for r in rooms %}\n\ - {{ r.name }} — a {{ r.kind }} (locked: {{ r.locked }})\n\ - \texits: {% for e in r.exits %}{{ e }}{% if not loop.last %}, {% endif %}{% endfor %}\n\ - \tcontents: {% for c in r.contents %}{{ c }}{% if not loop.last %}, {% endif %}{% endfor %}\n\ - {% endfor %}\n\ + "Floor {{ floor }}.\n\n\ + {% for r in rooms %}{{ r.name }} — a {{ r.kind }} (locked: {{ r.locked }})\n\ + exits: {% for e in r.exits %}{{ e }}{% if not loop.last %}, {% endif %}{% endfor %}\n\ + contents: {% for c in r.contents %}{{ c }}{% if not loop.last %}, {% endif %}{% endfor %}\n\n\ + {% endfor %}\ 💡 Combine maps, lists, and scalars — `floor:` is an int, each room is a dict with two lists.", ) .expect("register template"); diff --git a/src/levels/mod.rs b/src/levels/mod.rs index f1365ec..e9027b7 100644 --- a/src/levels/mod.rs +++ b/src/levels/mod.rs @@ -93,5 +93,11 @@ pub fn registry() -> Vec> { Box::new(l03_dict::Dict), Box::new(l04_list::List), Box::new(l05_dict_list::DictList), + Box::new(l06_anchors::Anchors), + Box::new(l07_complex::Complex), + Box::new(l08_tags::Tags), + Box::new(l09_operators::Operators), + Box::new(l10_dynamic::Dynamic), + Box::new(l11_adv_anchors::AdvAnchors), ] }