feat: smaller cells (10x10px) for higher detail

Cells reduced from 16x16 to 10x10 pixels. Same window size now
shows more of the world — finer detail, more cells visible.
Adaptive viewport recalculates grid_w/grid_h from new cell size.

109 tests, 0 failures
This commit is contained in:
Emil
2026-06-21 10:04:21 +03:00
parent 8b055ac37f
commit 285688bcad
70 changed files with 22764 additions and 624 deletions
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
@@ -0,0 +1 @@
{"nodes": [{"id": "home_emil_desktop_verbatim_src_entity_mod_rs", "label": "mod.rs", "file_type": "code", "source_file": "src/entity/mod.rs", "source_location": "L1"}], "edges": [{"source": "home_emil_desktop_verbatim_src_entity_mod_rs", "target": "entity", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/entity/mod.rs", "source_location": "L4", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_entity_mod_rs", "target": "player", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/entity/mod.rs", "source_location": "L5", "weight": 1.0, "context": "import"}], "raw_calls": []}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "home_emil_desktop_verbatim_src_lib_rs", "label": "lib.rs", "file_type": "code", "source_file": "src/lib.rs", "source_location": "L1"}], "edges": [], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "home_emil_desktop_verbatim_src_physics_mod_rs", "label": "mod.rs", "file_type": "code", "source_file": "src/physics/mod.rs", "source_location": "L1"}], "edges": [], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "home_emil_desktop_verbatim_src_world_material_rs", "label": "material.rs", "file_type": "code", "source_file": "src/world/material.rs", "source_location": "L1"}, {"id": "world_material_material", "label": "Material", "file_type": "code", "source_file": "src/world/material.rs", "source_location": "L4"}, {"id": "materialid", "label": "MaterialId", "file_type": "code", "source_file": "src/world/material.rs", "source_location": "L5"}, {"id": "world_material_materialregistry", "label": "MaterialRegistry", "file_type": "code", "source_file": "src/world/material.rs", "source_location": "L24"}, {"id": "world_material_materialregistry_new", "label": ".new()", "file_type": "code", "source_file": "src/world/material.rs", "source_location": "L29"}, {"id": "self", "label": "Self", "file_type": "code", "source_file": "src/world/material.rs", "source_location": "L29"}, {"id": "world_material_materialregistry_get", "label": ".get()", "file_type": "code", "source_file": "src/world/material.rs", "source_location": "L260"}, {"id": "world_material_materialregistry_instance", "label": ".instance()", "file_type": "code", "source_file": "src/world/material.rs", "source_location": "L264"}], "edges": [{"source": "home_emil_desktop_verbatim_src_world_material_rs", "target": "materialid", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L1", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_world_material_rs", "target": "world_material_material", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L4", "weight": 1.0}, {"source": "world_material_material", "target": "materialid", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L5", "weight": 1.0, "context": "field"}, {"source": "home_emil_desktop_verbatim_src_world_material_rs", "target": "world_material_materialregistry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L24", "weight": 1.0}, {"source": "world_material_materialregistry", "target": "world_material_material", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L25", "weight": 1.0, "context": "field"}, {"source": "world_material_materialregistry", "target": "world_material_materialregistry_new", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L29", "weight": 1.0}, {"source": "world_material_materialregistry_new", "target": "self", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L29", "weight": 1.0, "context": "return_type"}, {"source": "world_material_materialregistry", "target": "world_material_materialregistry_get", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L260", "weight": 1.0}, {"source": "world_material_materialregistry_get", "target": "materialid", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L260", "weight": 1.0, "context": "parameter_type"}, {"source": "world_material_materialregistry_get", "target": "world_material_material", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L260", "weight": 1.0, "context": "return_type"}, {"source": "world_material_materialregistry", "target": "world_material_materialregistry_instance", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L264", "weight": 1.0}, {"source": "world_material_materialregistry_instance", "target": "world_material_materialregistry", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L264", "weight": 1.0, "context": "return_type"}, {"source": "world_material_materialregistry_instance", "target": "world_material_materialregistry_new", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/world/material.rs", "source_location": "L265", "weight": 1.0}], "raw_calls": [{"caller_nid": "world_material_materialregistry_instance", "callee": "get_or_init", "is_member_call": true, "source_file": "/home/emil/Desktop/Verbatim/src/world/material.rs", "source_location": "L266"}]}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "home_emil_desktop_verbatim_src_world_mod_rs", "label": "mod.rs", "file_type": "code", "source_file": "src/world/mod.rs", "source_location": "L1"}], "edges": [], "raw_calls": []}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
@@ -0,0 +1 @@
{"nodes": [{"id": "home_emil_desktop_verbatim_src_render_window_input_rs", "label": "window_input.rs", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L1"}, {"id": "render_window_input_windowinput", "label": "WindowInput", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L4"}, {"id": "option", "label": "Option", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L13"}, {"id": "hashset", "label": "HashSet", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L15"}, {"id": "keycode", "label": "KeyCode", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L15"}, {"id": "render_window_input_windowinput_new", "label": ".new()", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L19"}, {"id": "self", "label": "Self", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L19"}, {"id": "render_window_input_windowinput_on_key_event", "label": ".on_key_event()", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L29"}, {"id": "physicalkey", "label": "PhysicalKey", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L29"}, {"id": "elementstate", "label": "ElementState", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L29"}, {"id": "render_window_input_windowinput_update", "label": ".update()", "file_type": "code", "source_file": "src/render/window_input.rs", "source_location": "L45"}], "edges": [{"source": "home_emil_desktop_verbatim_src_render_window_input_rs", "target": "hashset", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L1", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_render_window_input_rs", "target": "keyboard", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L2", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_render_window_input_rs", "target": "render_window_input_windowinput", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L4", "weight": 1.0}, {"source": "render_window_input_windowinput", "target": "option", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L13", "weight": 1.0, "context": "field"}, {"source": "render_window_input_windowinput", "target": "hashset", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L15", "weight": 1.0, "context": "field"}, {"source": "render_window_input_windowinput", "target": "keycode", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L15", "weight": 1.0, "context": "generic_arg"}, {"source": "render_window_input_windowinput", "target": "render_window_input_windowinput_new", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L19", "weight": 1.0}, {"source": "render_window_input_windowinput_new", "target": "self", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L19", "weight": 1.0, "context": "return_type"}, {"source": "render_window_input_windowinput", "target": "render_window_input_windowinput_on_key_event", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L29", "weight": 1.0}, {"source": "render_window_input_windowinput_on_key_event", "target": "physicalkey", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L29", "weight": 1.0, "context": "parameter_type"}, {"source": "render_window_input_windowinput_on_key_event", "target": "elementstate", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L29", "weight": 1.0, "context": "parameter_type"}, {"source": "render_window_input_windowinput", "target": "render_window_input_windowinput_update", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/render/window_input.rs", "source_location": "L45", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "home_emil_desktop_verbatim_src_render_mod_rs", "label": "mod.rs", "file_type": "code", "source_file": "src/render/mod.rs", "source_location": "L1"}, {"id": "render_mod_renderer", "label": "Renderer", "file_type": "code", "source_file": "src/render/mod.rs", "source_location": "L9"}], "edges": [{"source": "home_emil_desktop_verbatim_src_render_mod_rs", "target": "entitymanager", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/render/mod.rs", "source_location": "L6", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_render_mod_rs", "target": "grid", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/render/mod.rs", "source_location": "L7", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_render_mod_rs", "target": "render_mod_renderer", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/render/mod.rs", "source_location": "L9", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "home_emil_desktop_verbatim_src_ai_mod_rs", "label": "mod.rs", "file_type": "code", "source_file": "src/ai/mod.rs", "source_location": "L1"}], "edges": [{"source": "home_emil_desktop_verbatim_src_ai_mod_rs", "target": "state", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/ai/mod.rs", "source_location": "L8", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_ai_mod_rs", "target": "aiaction", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/ai/mod.rs", "source_location": "L9", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_ai_mod_rs", "target": "gamesession", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/ai/mod.rs", "source_location": "L10", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_ai_mod_rs", "target": "replay", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/ai/mod.rs", "source_location": "L11", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_ai_mod_rs", "target": "scenario", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/ai/mod.rs", "source_location": "L12", "weight": 1.0, "context": "import"}, {"source": "home_emil_desktop_verbatim_src_ai_mod_rs", "target": "run_pipe_protocol", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "src/ai/mod.rs", "source_location": "L13", "weight": 1.0, "context": "import"}], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
@@ -0,0 +1 @@
{"nodes": [{"id": "headless_dump_headless_dump", "label": "headless_dump.txt", "file_type": "document", "source_file": "headless_dump.txt", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "headless_dump_player", "label": "Player entity (headless dump)", "file_type": "concept", "source_file": "headless_dump.txt", "source_location": "line 33", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "headless_dump_goblin", "label": "Goblin entity (headless dump)", "file_type": "concept", "source_file": "headless_dump.txt", "source_location": "line 184", "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "headless_dump_grid_render", "label": "Grid ASCII rendering (headless dump)", "file_type": "concept", "source_file": "headless_dump.txt", "source_location": "line 7", "source_url": null, "captured_at": null, "author": null, "contributor": null}], "edges": [{"source": "headless_dump_headless_dump", "target": "headless_dump_player", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "headless_dump.txt", "source_location": "line 33", "weight": 1.0}, {"source": "headless_dump_headless_dump", "target": "headless_dump_goblin", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "headless_dump.txt", "source_location": "line 184", "weight": 1.0}, {"source": "headless_dump_headless_dump", "target": "headless_dump_grid_render", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "headless_dump.txt", "source_location": "line 7", "weight": 1.0}, {"source": "headless_dump_player", "target": "headless_dump_goblin", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "headless_dump.txt", "source_location": "line 184", "weight": 1.0}, {"source": "headless_dump_grid_render", "target": "agents_render_terminal", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "headless_dump.txt", "source_location": "line 7", "weight": 1.0}, {"source": "headless_dump_goblin", "target": "plan_phase1_combat", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.75, "source_file": "headless_dump.txt", "source_location": "line 184", "weight": 1.0}], "hyperedges": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long