.bumpversion.cfg
.gitignore
.readthedocs.yml
CHANGELOG.md
CMakeLists.txt
CMakePresets.json
INSTALL.md
LICENSE
MANIFEST.in
README.libsokoengine.md
README.md
pyproject.toml
setup.cfg
setup.py
bin/mover_benchmarks.py
bin/mover_profiling.py
cmake/libsokoengineConfig.cmake.in
cmake/modules/libsokoengine_backwardlib.cmake
cmake/modules/libsokoengine_configure.cmake
cmake/modules/libsokoengine_cppitertools.cmake
cmake/modules/libsokoengine_doxygen.cmake
cmake/modules/libsokoengine_local_cache_dir.cmake
cmake/modules/libsokoengine_pybind11.cmake
cmake/modules/utilities_valgrind.cmake
docs/Makefile
docs/api.rst
docs/changelog.rst
docs/conf.py
docs/index.rst
docs/install.rst
docs/license.rst
docs/tutorial.rst
docs/_api/sokoenginepy.board.rst
docs/_api/sokoenginepy.game.rst
docs/_api/sokoenginepy.graph.rst
docs/_api/sokoenginepy.input_output.rst
docs/_api/sokoenginepy.manager.rst
docs/_api/sokoenginepy.snapshot.rst
docs/_api/sokoenginepy.tessellation.rst
docs/_api/sokoenginepy.utilities.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/.clang-format
src/libsokoengine/CMakeLists.txt
src/libsokoengine/sokoengine.hpp
src/libsokoengine/sokoengine_config.hpp
src/libsokoengine/board/board_cell.cpp
src/libsokoengine/board/board_cell.hpp
src/libsokoengine/board/hexoban_board.cpp
src/libsokoengine/board/hexoban_board.hpp
src/libsokoengine/board/octoban_board.cpp
src/libsokoengine/board/octoban_board.hpp
src/libsokoengine/board/sokoban_board.cpp
src/libsokoengine/board/sokoban_board.hpp
src/libsokoengine/board/trioban_board.cpp
src/libsokoengine/board/trioban_board.hpp
src/libsokoengine/board/variant_board.cpp
src/libsokoengine/board/variant_board.hpp
src/libsokoengine/game/mover.cpp
src/libsokoengine/game/mover.hpp
src/libsokoengine/graph/board_graph.cpp
src/libsokoengine/graph/board_graph.hpp
src/libsokoengine/manager/board_manager.cpp
src/libsokoengine/manager/board_manager.hpp
src/libsokoengine/manager/board_state.cpp
src/libsokoengine/manager/board_state.hpp
src/libsokoengine/manager/hashed_board_manager.cpp
src/libsokoengine/manager/hashed_board_manager.hpp
src/libsokoengine/manager/sokoban_plus.cpp
src/libsokoengine/manager/sokoban_plus.hpp
src/libsokoengine/snapshot/atomic_move.cpp
src/libsokoengine/snapshot/atomic_move.hpp
src/libsokoengine/tessellation/direction.cpp
src/libsokoengine/tessellation/direction.hpp
src/libsokoengine/tessellation/hexoban_tessellation.cpp
src/libsokoengine/tessellation/hexoban_tessellation.hpp
src/libsokoengine/tessellation/octoban_tessellation.cpp
src/libsokoengine/tessellation/octoban_tessellation.hpp
src/libsokoengine/tessellation/sokoban_tessellation.cpp
src/libsokoengine/tessellation/sokoban_tessellation.hpp
src/libsokoengine/tessellation/tessellation.cpp
src/libsokoengine/tessellation/tessellation.hpp
src/libsokoengine/tessellation/trioban_tessellation.cpp
src/libsokoengine/tessellation/trioban_tessellation.hpp
src/libsokoengine/utilities/CMakeLists.txt
src/libsokoengine/utilities/text_utils.cpp
src/libsokoengine/utilities/text_utils.hpp
src/sokoenginepy/__init__.py
src/sokoenginepy/board/__init__.py
src/sokoenginepy/board/board_cell/__init__.py
src/sokoenginepy/board/board_cell/board_cell.py
src/sokoenginepy/board/hexoban_board/__init__.py
src/sokoenginepy/board/hexoban_board/hexoban_board.py
src/sokoenginepy/board/octoban_board/__init__.py
src/sokoenginepy/board/octoban_board/octoban_board.py
src/sokoenginepy/board/sokoban_board/__init__.py
src/sokoenginepy/board/sokoban_board/sokoban_board.py
src/sokoenginepy/board/trioban_board/__init__.py
src/sokoenginepy/board/trioban_board/trioban_board.py
src/sokoenginepy/board/variant_board/__init__.py
src/sokoenginepy/board/variant_board/variant_board.py
src/sokoenginepy/game/__init__.py
src/sokoenginepy/game/mover_commands.py
src/sokoenginepy/game/mover/__init__.py
src/sokoenginepy/game/mover/mover.py
src/sokoenginepy/graph/__init__.py
src/sokoenginepy/graph/board_graph.py
src/sokoenginepy/input_output/__init__.py
src/sokoenginepy/input_output/puzzle.py
src/sokoenginepy/input_output/puzzles_collection.py
src/sokoenginepy/input_output/sok_file_format.py
src/sokoenginepy/manager/__init__.py
src/sokoenginepy/manager/piece.py
src/sokoenginepy/manager/sokoban_plus.py
src/sokoenginepy/manager/board_manager/__init__.py
src/sokoenginepy/manager/board_manager/board_manager.py
src/sokoenginepy/manager/board_state/__init__.py
src/sokoenginepy/manager/board_state/board_state.py
src/sokoenginepy/manager/hashed_board_manager/__init__.py
src/sokoenginepy/manager/hashed_board_manager/hashed_board_manager.py
src/sokoenginepy/res/SOK_format_specification.txt
src/sokoenginepy/snapshot/__init__.py
src/sokoenginepy/snapshot/snapshot.py
src/sokoenginepy/snapshot/snapshot_string_parser.py
src/sokoenginepy/snapshot/atomic_move/__init__.py
src/sokoenginepy/snapshot/atomic_move/atomic_move.py
src/sokoenginepy/tessellation/__init__.py
src/sokoenginepy/tessellation/tessellation.py
src/sokoenginepy/tessellation/tessellation_base.py
src/sokoenginepy/tessellation/cell_orientation/__init__.py
src/sokoenginepy/tessellation/cell_orientation/cell_orientation.py
src/sokoenginepy/tessellation/direction/__init__.py
src/sokoenginepy/tessellation/direction/direction.py
src/sokoenginepy/tessellation/hexoban_tessellation/__init__.py
src/sokoenginepy/tessellation/hexoban_tessellation/hexoban_tessellation.py
src/sokoenginepy/tessellation/octoban_tessellation/__init__.py
src/sokoenginepy/tessellation/octoban_tessellation/octoban_tessellation.py
src/sokoenginepy/tessellation/sokoban_tessellation/__init__.py
src/sokoenginepy/tessellation/sokoban_tessellation/sokoban_tessellation.py
src/sokoenginepy/tessellation/trioban_tessellation/__init__.py
src/sokoenginepy/tessellation/trioban_tessellation/trioban_tessellation.py
src/sokoenginepy/utilities/__init__.py
src/sokoenginepy/utilities/coordinate_helpers.py
src/sokoenginepy/utilities/dict_helpers.py
src/sokoenginepy/utilities/flip_dict.py
src/sokoenginepy/utilities/helpers.py
src/sokoenginepy/utilities/rle.py
src/sokoenginepy/utilities/text_utils.py
src/sokoenginepyext/CMakeLists.txt
src/sokoenginepyext/export_atomic_move.cpp
src/sokoenginepyext/export_board_cell.cpp
src/sokoenginepyext/export_board_graph.cpp
src/sokoenginepyext/export_board_manager.cpp
src/sokoenginepyext/export_boards.cpp
src/sokoenginepyext/export_direction.cpp
src/sokoenginepyext/export_mover.cpp
src/sokoenginepyext/export_tessellations.cpp
src/sokoenginepyext/sokoenginepyext.cpp
src/sokoenginepyext/sokoenginepyext.hpp
src/utilities/CMakeLists.txt
src/utilities/benchmarks.cpp
src/utilities/playground.cpp
tests/__init__.py
tests/conftest.py
tests/native_extension_built_spec.py
tests/board/__init__.py
tests/board/autogenerated_board.py
tests/board/board_cell_spec.py
tests/board/hexoban_board_spec.py
tests/board/octoban_board_spec.py
tests/board/sokoban_board_spec.py
tests/board/sokoban_plus_spec.py
tests/board/trioban_board_spec.py
tests/board/variant_board_spec.py
tests/fixtures/__init__.py
tests/fixtures/atomic_move_factories.py
tests/fixtures/board_cell_factories.py
tests/fixtures/board_factories.py
tests/fixtures/misc.py
tests/fixtures/mover_factories.py
tests/fixtures/snapshot_factories.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/100_puzzles.sok
tests/fixtures/test_data/5000_puzzles.sok
tests/fixtures/test_data/500_puzzles.sok
tests/fixtures/test_data/Hexocet.sok
tests/fixtures/test_data/Hexocet5000.sok
tests/fixtures/test_data/Original_and_Extra.sok
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/mover_commands_spec.py
tests/game/mover_spec.py
tests/graph/__init__.py
tests/graph/board_graph_spec.py
tests/input_output/__init__.py
tests/input_output/sok_file_format_spec.py
tests/manager/__init__.py
tests/manager/board_manager_spec.py
tests/manager/hashed_board_manager_spec.py
tests/snapshot/__init__.py
tests/snapshot/atomic_move_spec.py
tests/snapshot/snapshot_spec.py
tests/snapshot/snapshot_string_parser_spec.py
tests/tessellation/__init__.py
tests/tessellation/autogenerated_tessellation.py
tests/tessellation/direction_spec.py
tests/tessellation/hexoban_tessellation_spec.py
tests/tessellation/octoban_tessellation_spec.py
tests/tessellation/sokoban_tessellation_spec.py
tests/tessellation/tessellation_spec_mixin.py
tests/tessellation/trioban_tessellation_spec.py
tests/utilities/__init__.py
tests/utilities/coordinate_helpers_spec.py
tests/utilities/rle_spec.py