.bumpversion.cfg
.clang-format
.gitignore
.readthedocs.yml
CHANGELOG.md
CMakeLists.txt
CMakePresets.json
INSTALL.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
setup.cfg
setup.py
bin/encode_SOK_format_specification.py
bin/mover_profiling.py
cmake/libsokoengineConfig.cmake.in
cmake/modules/libsokoengine_configure.cmake
cmake/modules/libsokoengine_cppitertools.cmake
cmake/modules/libsokoengine_local_cache_dir.cmake
cmake/modules/libsokoengine_pybind11.cmake
cmake/modules/utilities_valgrind.cmake
docs/Doxyfile
docs/Makefile
docs/api_py.rst
docs/changelog.rst
docs/conf.py
docs/index.rst
docs/install.rst
docs/license.rst
docs/tutorial.rst
docs/tutorial_.md
docs/_api_py/board_graph.rst
docs/_api_py/board_manager.rst
docs/_api_py/collection.rst
docs/_api_py/game_config.rst
docs/_api_py/mover.rst
docs/_api_py/puzzle.rst
docs/_api_py/snapshot.rst
docs/_api_py/tessellation.rst
docs/images/assigning_ids.png
docs/images/hexoban_coordinates.png
docs/images/hexoban_scheme1.png
docs/images/hexoban_scheme2.png
docs/images/movement_vs_transfer1.png
docs/images/movement_vs_transfer2.png
docs/images/movement_vs_transfer3.png
docs/images/pusher_on_box.png
docs/images/trioban_am.png
docs/internal/mover_test_cases.ods
docs/internal/hexoban/board_resizing.svgz
docs/internal/hexoban/board_transformations.svgz
docs/internal/hexoban/hexoban_tesselation.svgz
docs/internal/hexoban/textual_encoding_schemes.svgz
docs/internal/trioban/trioban_atomic_move.svgz
src/libsokoengine/CMakeLists.txt
src/libsokoengine/benchmarks.cpp
src/libsokoengine/benchmarks.hpp
src/libsokoengine/config.hpp
src/libsokoengine/sokoengine.hpp
src/libsokoengine/game/board_cell.cpp
src/libsokoengine/game/board_cell.hpp
src/libsokoengine/game/board_graph.cpp
src/libsokoengine/game/board_graph.hpp
src/libsokoengine/game/board_manager.cpp
src/libsokoengine/game/board_manager.hpp
src/libsokoengine/game/board_state.cpp
src/libsokoengine/game/board_state.hpp
src/libsokoengine/game/hashed_board_manager.cpp
src/libsokoengine/game/hashed_board_manager.hpp
src/libsokoengine/game/hexoban_tessellation.cpp
src/libsokoengine/game/hexoban_tessellation.hpp
src/libsokoengine/game/mover.cpp
src/libsokoengine/game/mover.hpp
src/libsokoengine/game/octoban_tessellation.cpp
src/libsokoengine/game/octoban_tessellation.hpp
src/libsokoengine/game/pusher_step.cpp
src/libsokoengine/game/pusher_step.hpp
src/libsokoengine/game/sokoban_plus.cpp
src/libsokoengine/game/sokoban_plus.hpp
src/libsokoengine/game/sokoban_tessellation.cpp
src/libsokoengine/game/sokoban_tessellation.hpp
src/libsokoengine/game/tessellation.cpp
src/libsokoengine/game/tessellation.hpp
src/libsokoengine/game/trioban_tessellation.cpp
src/libsokoengine/game/trioban_tessellation.hpp
src/libsokoengine/io/collection.hpp
src/libsokoengine/io/hexoban.cpp
src/libsokoengine/io/hexoban.hpp
src/libsokoengine/io/octoban.cpp
src/libsokoengine/io/octoban.hpp
src/libsokoengine/io/puzzle.cpp
src/libsokoengine/io/puzzle.hpp
src/libsokoengine/io/rle.hpp
src/libsokoengine/io/snapshot.hpp
src/libsokoengine/io/sokoban.cpp
src/libsokoengine/io/sokoban.hpp
src/libsokoengine/io/trioban.cpp
src/libsokoengine/io/trioban.hpp
src/libsokoengine/io/collection/SOK_format_specification.h
src/libsokoengine/io/collection/collection.cpp
src/libsokoengine/io/collection/sok_file_format.cpp
src/libsokoengine/io/collection/sok_file_format.hpp
src/libsokoengine/io/rle/ast.hpp
src/libsokoengine/io/rle/ast_adapted.hpp
src/libsokoengine/io/rle/error_handler.hpp
src/libsokoengine/io/rle/evaluator.hpp
src/libsokoengine/io/rle/grammar.hpp
src/libsokoengine/io/rle/json_printer.hpp
src/libsokoengine/io/rle/rle.cpp
src/libsokoengine/io/rle/rle_config.hpp
src/libsokoengine/io/snapshot/ast.cpp
src/libsokoengine/io/snapshot/ast.hpp
src/libsokoengine/io/snapshot/ast_adapted.hpp
src/libsokoengine/io/snapshot/error_handler.hpp
src/libsokoengine/io/snapshot/evaluator.hpp
src/libsokoengine/io/snapshot/grammar.hpp
src/libsokoengine/io/snapshot/json_printer.hpp
src/libsokoengine/io/snapshot/parser.cpp
src/libsokoengine/io/snapshot/parser.hpp
src/libsokoengine/io/snapshot/snapshot.cpp
src/libsokoengine/io/snapshot/snapshot_config.hpp
src/sokoenginepy/__init__.py
src/sokoenginepy/__main__.py
src/sokoenginepy/game/__init__.py
src/sokoenginepy/game/base_tessellation.py
src/sokoenginepy/game/board_cell.py
src/sokoenginepy/game/board_graph.py
src/sokoenginepy/game/board_manager.py
src/sokoenginepy/game/board_state.py
src/sokoenginepy/game/config.py
src/sokoenginepy/game/hashed_board_manager.py
src/sokoenginepy/game/hexoban_tessellation.py
src/sokoenginepy/game/mover.py
src/sokoenginepy/game/mover_commands.py
src/sokoenginepy/game/octoban_tessellation.py
src/sokoenginepy/game/pusher_step.py
src/sokoenginepy/game/sokoban_plus.py
src/sokoenginepy/game/sokoban_tessellation.py
src/sokoenginepy/game/trioban_tessellation.py
src/sokoenginepy/game/utilities/__init__.py
src/sokoenginepy/game/utilities/dict_helpers.py
src/sokoenginepy/game/utilities/flip_dict.py
src/sokoenginepy/game/utilities/mover_benchmarks.py
src/sokoenginepy/io/SOK_format_specification.txt
src/sokoenginepy/io/__init__.py
src/sokoenginepy/io/collection.py
src/sokoenginepy/io/hexoban.py
src/sokoenginepy/io/octoban.py
src/sokoenginepy/io/puzzle.py
src/sokoenginepy/io/puzzle_parsing.py
src/sokoenginepy/io/rle.py
src/sokoenginepy/io/snapshot.py
src/sokoenginepy/io/snapshot_parsing.py
src/sokoenginepy/io/sok_file_format.py
src/sokoenginepy/io/sokoban.py
src/sokoenginepy/io/trioban.py
src/sokoenginepy/io/utilities.py
src/sokoenginepyext/CMakeLists.txt
src/sokoenginepyext/export_board_cell.cpp
src/sokoenginepyext/export_board_graph.cpp
src/sokoenginepyext/export_board_manager.cpp
src/sokoenginepyext/export_io_collection.cpp
src/sokoenginepyext/export_io_puzzle.cpp
src/sokoenginepyext/export_io_rle.cpp
src/sokoenginepyext/export_io_snapshot.cpp
src/sokoenginepyext/export_mover.cpp
src/sokoenginepyext/export_pusher_step.cpp
src/sokoenginepyext/export_sokoban_plus.cpp
src/sokoenginepyext/export_tessellations.cpp
src/sokoenginepyext/playground.cpp
src/sokoenginepyext/sokoenginepyext.cpp
src/sokoenginepyext/sokoenginepyext.hpp
tests/__init__.py
tests/conftest.py
tests/native_extension_built_spec.py
tests/fixtures/__init__.py
tests/fixtures/misc.py
tests/fixtures/pusher_step_factory.py
tests/fixtures/test_cases/generate_tests.py
tests/fixtures/test_cases/hexoban_test_cases.ods
tests/fixtures/test_cases/octoban_test_cases.ods
tests/fixtures/test_cases/sokoban_test_cases.ods
tests/fixtures/test_cases/trioban_test_cases.ods
tests/fixtures/test_data/Original_and_Extra.sok
tests/fixtures/test_data/hexoban_parser_tests.json
tests/fixtures/test_data/hexoban_parser_tests.sok
tests/fixtures/test_data/mixed_collection.sok
tests/fixtures/test_data/parser_test_last_snapshot_notes.sok
tests/fixtures/test_data/parser_test_multiple_snapshots.sok
tests/fixtures/test_data/parser_test_puzzle_no_title.sok
tests/fixtures/test_data/parser_test_variant_type_not_specified.sok
tests/fixtures/test_data/parser_test_variant_type_specified_global.sok
tests/fixtures/test_data/parser_test_variant_type_specified_puzzle1.sok
tests/fixtures/test_data/parser_test_variant_type_specified_puzzle2.sok
tests/game/__init__.py
tests/game/autogenerated_tessellation.py
tests/game/board_cell_spec.py
tests/game/board_graph_spec.py
tests/game/board_manager_spec.py
tests/game/coordinate_helpers_spec.py
tests/game/direction_spec.py
tests/game/hashed_board_manager_spec.py
tests/game/hexoban_tessellation_spec.py
tests/game/mover_commands_spec.py
tests/game/mover_spec.py
tests/game/octoban_tessellation_spec.py
tests/game/pusher_step_spec.py
tests/game/sokoban_plus_spec.py
tests/game/sokoban_tessellation_spec.py
tests/game/tessellation_spec_mixin.py
tests/game/trioban_tessellation_spec.py
tests/io/__init__.py
tests/io/collection_spec.py
tests/io/hexoban_puzzle_spec.py
tests/io/puzzle_spec.py
tests/io/rle_spec.py
tests/io/snapshot_spec.py
tests/io/sokoban_puzzle_spec.py