kaggle-environments 1.17.3__tar.gz → 1.17.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of kaggle-environments might be problematic. Click here for more details.

Files changed (240) hide show
  1. {kaggle_environments-1.17.3/kaggle_environments.egg-info → kaggle_environments-1.17.5}/PKG-INFO +2 -2
  2. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/__init__.py +2 -2
  3. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/chess/chess.js +294 -0
  4. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/go/go.js +481 -0
  5. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/go/go_proxy.py +105 -0
  6. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/tic_tac_toe/__init__.py +0 -0
  7. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/tic_tac_toe/tic_tac_toe.js +345 -0
  8. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/tic_tac_toe/tic_tac_toe_proxy.py +101 -0
  9. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/universal_poker/__init__.py +0 -0
  10. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/universal_poker/universal_poker.js +431 -0
  11. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/universal_poker/universal_poker_proxy.py +159 -0
  12. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/universal_poker/universal_poker_proxy_test.py +49 -0
  13. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/html_playthrough_generator.py +30 -0
  14. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/open_spiel.py +455 -0
  15. kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/test_open_spiel.py +33 -0
  16. kaggle_environments-1.17.5/kaggle_environments/envs/rps/__init__.py +0 -0
  17. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5/kaggle_environments.egg-info}/PKG-INFO +2 -2
  18. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments.egg-info/SOURCES.txt +12 -0
  19. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments.egg-info/requires.txt +1 -1
  20. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/setup.py +1 -1
  21. kaggle_environments-1.17.3/kaggle_environments/envs/open_spiel/open_spiel.py +0 -416
  22. kaggle_environments-1.17.3/kaggle_environments/envs/open_spiel/test_open_spiel.py +0 -18
  23. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/LICENSE +0 -0
  24. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/MANIFEST.in +0 -0
  25. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/README.md +0 -0
  26. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/agent.py +0 -0
  27. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/api.py +0 -0
  28. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/core.py +0 -0
  29. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/chess/chess.js +0 -0
  30. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/chess/chess.json +0 -0
  31. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/chess/chess.py +0 -0
  32. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/chess/test_chess.py +0 -0
  33. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/connectx/connectx.js +0 -0
  34. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/connectx/connectx.json +0 -0
  35. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/connectx/connectx.py +0 -0
  36. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/connectx/test_connectx.py +0 -0
  37. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/football/football.json +0 -0
  38. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/football/football.py +0 -0
  39. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/football/helpers.py +0 -0
  40. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/football/test_football.py +0 -0
  41. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/halite/__init__.py +0 -0
  42. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/halite/halite.js +0 -0
  43. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/halite/halite.json +0 -0
  44. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/halite/halite.py +0 -0
  45. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/halite/helpers.py +0 -0
  46. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/halite/test_halite.py +0 -0
  47. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/hungry_geese/__init__.py +0 -0
  48. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/hungry_geese/hungry_geese.js +0 -0
  49. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/hungry_geese/hungry_geese.json +0 -0
  50. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/hungry_geese/hungry_geese.py +0 -0
  51. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/hungry_geese/test_hungry_geese.py +0 -0
  52. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/identity/identity.json +0 -0
  53. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/identity/identity.py +0 -0
  54. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/__init__.py +0 -0
  55. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/helpers.py +0 -0
  56. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/kore_fleets.js +0 -0
  57. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/kore_fleets.json +0 -0
  58. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/kore_fleets.py +0 -0
  59. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/java/main.py +0 -0
  60. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/configuration.json +0 -0
  61. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/fullob.json +0 -0
  62. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/observation.json +0 -0
  63. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/python/__init__.py +0 -0
  64. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/python/main.py +0 -0
  65. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/Bot.ts +0 -0
  66. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/DoNothingBot.ts +0 -0
  67. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/MinerBot.ts +0 -0
  68. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/interpreter.ts +0 -0
  69. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Board.ts +0 -0
  70. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Cell.ts +0 -0
  71. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Configuration.ts +0 -0
  72. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Direction.ts +0 -0
  73. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Fleet.ts +0 -0
  74. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/KoreIO.ts +0 -0
  75. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Observation.ts +0 -0
  76. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Pair.ts +0 -0
  77. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Player.ts +0 -0
  78. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Point.ts +0 -0
  79. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Shipyard.ts +0 -0
  80. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/ShipyardAction.ts +0 -0
  81. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/main.py +0 -0
  82. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/miner.py +0 -0
  83. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/package.json +0 -0
  84. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/BoardTest.ts +0 -0
  85. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ConfigurationTest.ts +0 -0
  86. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ObservationTest.ts +0 -0
  87. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/PointTest.ts +0 -0
  88. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ShipyardTest.ts +0 -0
  89. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/configuration.json +0 -0
  90. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/fullob.json +0 -0
  91. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/observation.json +0 -0
  92. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/starter_bots/ts/tsconfig.json +0 -0
  93. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/kore_fleets/test_kore_fleets.py +0 -0
  94. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/llm_20_questions/keywords.py +0 -0
  95. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/llm_20_questions/llm_20_questions.js +0 -0
  96. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/llm_20_questions/llm_20_questions.json +0 -0
  97. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/llm_20_questions/llm_20_questions.py +0 -0
  98. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/llm_20_questions/test_llm_20_questions.py +0 -0
  99. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/__init__.py +0 -0
  100. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/agents.py +0 -0
  101. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/dimensions/754.js +0 -0
  102. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/dimensions/main.js +0 -0
  103. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/index.html +0 -0
  104. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/lux_ai_2021.json +0 -0
  105. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/lux_ai_2021.py +0 -0
  106. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/__init__.py +0 -0
  107. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_constants.js +0 -0
  108. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_constants.json +0 -0
  109. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_objects.js +0 -0
  110. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/io.js +0 -0
  111. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/kit.js +0 -0
  112. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/map.js +0 -0
  113. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/parser.js +0 -0
  114. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/main.js +0 -0
  115. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/main.py +0 -0
  116. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/__init__.py +0 -0
  117. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/annotate.py +0 -0
  118. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/constants.py +0 -0
  119. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game.py +0 -0
  120. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_constants.json +0 -0
  121. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_constants.py +0 -0
  122. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_map.py +0 -0
  123. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_objects.py +0 -0
  124. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/python/random_agent.py +0 -0
  125. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_agents/python/simple_agent.py +0 -0
  126. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_2021/test_lux.py +0 -0
  127. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/__init__.py +0 -0
  128. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/agents.py +0 -0
  129. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/index.html +0 -0
  130. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/lux_ai_s2.json +0 -0
  131. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/lux_ai_s2.py +0 -0
  132. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/__init__.py +0 -0
  133. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/actions.py +0 -0
  134. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/config.py +0 -0
  135. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/env.py +0 -0
  136. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/factory.py +0 -0
  137. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/globals.py +0 -0
  138. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map/__init__.py +0 -0
  139. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map/bfs_deltas_gen.py +0 -0
  140. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map/board.py +0 -0
  141. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map/position.py +0 -0
  142. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/__init__.py +0 -0
  143. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/generator.py +0 -0
  144. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/symnoise.py +0 -0
  145. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/timing.py +0 -0
  146. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/visualize.py +0 -0
  147. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/visualize_samples.py +0 -0
  148. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/pyvisual/__init__.py +0 -0
  149. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/pyvisual/visualizer.py +0 -0
  150. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/replay/__init__.py +0 -0
  151. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/replay/replay.py +0 -0
  152. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/spaces/__init__.py +0 -0
  153. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/spaces/act_space.py +0 -0
  154. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/spaces/obs_space.py +0 -0
  155. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/state/__init__.py +0 -0
  156. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/state/state.py +0 -0
  157. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/state/stats.py +0 -0
  158. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/state/typing.py +0 -0
  159. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/team.py +0 -0
  160. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/tools/__init__.py +0 -0
  161. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/tools/replay.py +0 -0
  162. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/unit.py +0 -0
  163. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/__init__.py +0 -0
  164. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/animate.py +0 -0
  165. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/heuristics/__init__.py +0 -0
  166. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/heuristics/bidding.py +0 -0
  167. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/heuristics/factory.py +0 -0
  168. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/heuristics/factory_placement.py +0 -0
  169. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/utils.py +0 -0
  170. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/version.py +0 -0
  171. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/wrappers/__init__.py +0 -0
  172. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/wrappers/controllers.py +0 -0
  173. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/luxai_s2/wrappers/sb3.py +0 -0
  174. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/test_agents/python/agent.py +0 -0
  175. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/cargo.py +0 -0
  176. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/config.py +0 -0
  177. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/factory.py +0 -0
  178. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/kit.py +0 -0
  179. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/team.py +0 -0
  180. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/unit.py +0 -0
  181. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/utils.py +0 -0
  182. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/test_agents/python/main.py +0 -0
  183. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s2/test_lux.py +0 -0
  184. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/agents.py +0 -0
  185. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/index.html +0 -0
  186. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/lux_ai_s3.json +0 -0
  187. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/lux_ai_s3.py +0 -0
  188. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/luxai_s3/__init__.py +0 -0
  189. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/luxai_s3/env.py +0 -0
  190. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/luxai_s3/globals.py +0 -0
  191. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/luxai_s3/params.py +0 -0
  192. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/luxai_s3/profiler.py +0 -0
  193. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/luxai_s3/pygame_render.py +0 -0
  194. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/luxai_s3/spaces.py +0 -0
  195. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/luxai_s3/state.py +0 -0
  196. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/luxai_s3/utils.py +0 -0
  197. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/luxai_s3/wrappers.py +0 -0
  198. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/test_agents/python/agent.py +0 -0
  199. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/__init__.py +0 -0
  200. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/kit.py +0 -0
  201. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/utils.py +0 -0
  202. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/test_agents/python/main.py +0 -0
  203. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/lux_ai_s3/test_lux.py +0 -0
  204. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/mab/__init__.py +0 -0
  205. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/mab/agents.py +0 -0
  206. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/mab/mab.js +0 -0
  207. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/mab/mab.json +0 -0
  208. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/mab/mab.py +0 -0
  209. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/open_spiel/__init__.py +0 -0
  210. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/open_spiel/games/__init__.py +0 -0
  211. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/open_spiel/games/connect_four/__init__.py +0 -0
  212. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/open_spiel/games/connect_four/connect_four.js +0 -0
  213. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/open_spiel/games/connect_four/connect_four_proxy.py +0 -0
  214. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/open_spiel/games/connect_four/connect_four_proxy_test.py +0 -0
  215. {kaggle_environments-1.17.3/kaggle_environments/envs/rps → kaggle_environments-1.17.5/kaggle_environments/envs/open_spiel/games/go}/__init__.py +0 -0
  216. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/open_spiel/observation.py +0 -0
  217. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/open_spiel/proxy.py +0 -0
  218. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/open_spiel/proxy_test.py +0 -0
  219. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/rps/agents.py +0 -0
  220. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/rps/helpers.py +0 -0
  221. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/rps/rps.js +0 -0
  222. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/rps/rps.json +0 -0
  223. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/rps/rps.py +0 -0
  224. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/rps/test_rps.py +0 -0
  225. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/rps/utils.py +0 -0
  226. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/tictactoe/test_tictactoe.py +0 -0
  227. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/tictactoe/tictactoe.js +0 -0
  228. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/tictactoe/tictactoe.json +0 -0
  229. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/envs/tictactoe/tictactoe.py +0 -0
  230. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/errors.py +0 -0
  231. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/helpers.py +0 -0
  232. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/main.py +0 -0
  233. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/schemas.json +0 -0
  234. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/static/player.html +0 -0
  235. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/status_codes.json +0 -0
  236. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments/utils.py +0 -0
  237. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments.egg-info/dependency_links.txt +0 -0
  238. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments.egg-info/entry_points.txt +0 -0
  239. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/kaggle_environments.egg-info/top_level.txt +0 -0
  240. {kaggle_environments-1.17.3 → kaggle_environments-1.17.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kaggle-environments
3
- Version: 1.17.3
3
+ Version: 1.17.5
4
4
  Summary: Kaggle Environments
5
5
  Home-page: https://github.com/Kaggle/kaggle-environments
6
6
  Author: Kaggle
@@ -21,7 +21,7 @@ Requires-Dist: transformers>=4.33.1
21
21
  Requires-Dist: scipy>=1.11.2
22
22
  Requires-Dist: shimmy>=1.2.1
23
23
  Requires-Dist: Chessnut>=0.4.1
24
- Requires-Dist: open_spiel>=1.5.0
24
+ Requires-Dist: open_spiel>=1.6.0
25
25
  Dynamic: author
26
26
  Dynamic: author-email
27
27
  Dynamic: description
@@ -20,7 +20,7 @@ from .core import *
20
20
  from .main import http_request
21
21
  from . import errors
22
22
 
23
- __version__ = "1.17.3"
23
+ __version__ = "1.17.5"
24
24
 
25
25
  __all__ = ["Agent", "environments", "errors", "evaluate", "http_request",
26
26
  "make", "register", "utils", "__version__",
@@ -32,7 +32,7 @@ for name in listdir(utils.envs_path):
32
32
  try:
33
33
  env = import_module(f".envs.{name}.{name}", __name__)
34
34
  if name == "open_spiel":
35
- for env_name, env_dict in env.registered_open_spiel_envs.items():
35
+ for env_name, env_dict in env.ENV_REGISTRY.items():
36
36
  register(env_name, {
37
37
  "agents": env_dict.get("agents"),
38
38
  "html_renderer": env_dict.get("html_renderer"),
@@ -0,0 +1,294 @@
1
+ function renderer(options) {
2
+ const { environment, step, parent, interactive, isInteractive } = options;
3
+
4
+ // Chess-specific constants
5
+ const DEFAULT_NUM_ROWS = 8;
6
+ const DEFAULT_NUM_COLS = 8;
7
+ const PIECE_SVG_URLS = {
8
+ 'p': 'https://upload.wikimedia.org/wikipedia/commons/c/c7/Chess_pdt45.svg', // Black Pawn
9
+ 'r': 'https://upload.wikimedia.org/wikipedia/commons/f/ff/Chess_rdt45.svg', // Black Rook
10
+ 'n': 'https://upload.wikimedia.org/wikipedia/commons/e/ef/Chess_ndt45.svg', // Black Knight
11
+ 'b': 'https://upload.wikimedia.org/wikipedia/commons/9/98/Chess_bdt45.svg', // Black Bishop
12
+ 'q': 'https://upload.wikimedia.org/wikipedia/commons/4/47/Chess_qdt45.svg', // Black Queen
13
+ 'k': 'https://upload.wikimedia.org/wikipedia/commons/f/f0/Chess_kdt45.svg', // Black King
14
+ 'P': 'https://upload.wikimedia.org/wikipedia/commons/4/45/Chess_plt45.svg', // White Pawn
15
+ 'R': 'https://upload.wikimedia.org/wikipedia/commons/7/72/Chess_rlt45.svg', // White Rook
16
+ 'N': 'https://upload.wikimedia.org/wikipedia/commons/7/70/Chess_nlt45.svg', // White Knight
17
+ 'B': 'https://upload.wikimedia.org/wikipedia/commons/b/b1/Chess_blt45.svg', // White Bishop
18
+ 'Q': 'https://upload.wikimedia.org/wikipedia/commons/1/15/Chess_qlt45.svg', // White Queen
19
+ 'K': 'https://upload.wikimedia.org/wikipedia/commons/4/42/Chess_klt45.svg' // White King
20
+ };
21
+ const LIGHT_SQUARE_COLOR = '#f0d9b5';
22
+ const DARK_SQUARE_COLOR = '#b58863';
23
+
24
+ // Renderer state variables
25
+ let currentBoardElement = null;
26
+ let currentStatusTextElement = null;
27
+ let currentWinnerTextElement = null;
28
+ let currentMessageBoxElement = typeof document !== 'undefined' ? document.getElementById('messageBox') : null;
29
+ let currentRendererContainer = null;
30
+ let currentTitleElement = null;
31
+
32
+ function _showMessage(message, type = 'info', duration = 3000) {
33
+ if (typeof document === 'undefined' || !document.body) return;
34
+ if (!currentMessageBoxElement) {
35
+ currentMessageBoxElement = document.createElement('div');
36
+ currentMessageBoxElement.id = 'messageBox';
37
+ // Identical styling to the Connect Four renderer's message box
38
+ Object.assign(currentMessageBoxElement.style, {
39
+ position: 'fixed',
40
+ top: '10px',
41
+ left: '50%',
42
+ transform: 'translateX(-50%)',
43
+ padding: '0.75rem 1rem',
44
+ borderRadius: '0.375rem',
45
+ boxShadow: '0 2px 4px rgba(0,0,0,0.1)',
46
+ zIndex: '1000',
47
+ opacity: '0',
48
+ transition: 'opacity 0.3s ease-in-out, background-color 0.3s',
49
+ fontSize: '0.875rem',
50
+ fontFamily: "'Inter', sans-serif",
51
+ color: 'white'
52
+ });
53
+ document.body.appendChild(currentMessageBoxElement);
54
+ }
55
+ currentMessageBoxElement.textContent = message;
56
+ currentMessageBoxElement.style.backgroundColor = type === 'error' ? '#ef4444' : '#10b981';
57
+ currentMessageBoxElement.style.opacity = '1';
58
+ setTimeout(() => { if (currentMessageBoxElement) currentMessageBoxElement.style.opacity = '0'; }, duration);
59
+ }
60
+
61
+ function _ensureRendererElements(parentElementToClear, rows, cols) {
62
+ if (!parentElementToClear) return false;
63
+ parentElementToClear.innerHTML = '';
64
+
65
+ currentRendererContainer = document.createElement('div');
66
+ Object.assign(currentRendererContainer.style, {
67
+ display: 'flex',
68
+ flexDirection: 'column',
69
+ alignItems: 'center',
70
+ padding: '20px',
71
+ boxSizing: 'border-box',
72
+ width: '100%',
73
+ height: '100%',
74
+ fontFamily: "'Inter', sans-serif"
75
+ });
76
+
77
+ currentTitleElement = document.createElement('h1');
78
+ currentTitleElement.textContent = 'Chess';
79
+ // Identical styling to the Connect Four renderer's title
80
+ Object.assign(currentTitleElement.style, {
81
+ fontSize: '1.875rem',
82
+ fontWeight: 'bold',
83
+ marginBottom: '1rem',
84
+ textAlign: 'center',
85
+ color: '#2563eb'
86
+ });
87
+ currentRendererContainer.appendChild(currentTitleElement);
88
+
89
+ currentBoardElement = document.createElement('div');
90
+ Object.assign(currentBoardElement.style, {
91
+ display: 'grid',
92
+ gridTemplateColumns: `repeat(${cols}, 50px)`,
93
+ gridTemplateRows: `repeat(${rows}, 50px)`,
94
+ width: `${cols * 50}px`,
95
+ height: `${rows * 50}px`,
96
+ border: '2px solid #333'
97
+ });
98
+
99
+ for (let r = 0; r < rows; r++) {
100
+ for (let c = 0; c < cols; c++) {
101
+ const square = document.createElement('div');
102
+ square.id = `cell-${r}-${c}`;
103
+ Object.assign(square.style, {
104
+ width: '50px',
105
+ height: '50px',
106
+ backgroundColor: (r + c) % 2 === 0 ? LIGHT_SQUARE_COLOR : DARK_SQUARE_COLOR,
107
+ display: 'flex',
108
+ alignItems: 'center',
109
+ justifyContent: 'center',
110
+ });
111
+ currentBoardElement.appendChild(square);
112
+ }
113
+ }
114
+ currentRendererContainer.appendChild(currentBoardElement);
115
+
116
+ const statusContainer = document.createElement('div');
117
+ // Identical styling to the Connect Four renderer's status container
118
+ Object.assign(statusContainer.style, {
119
+ padding: '10px 15px',
120
+ backgroundColor: 'white',
121
+ borderRadius: '8px',
122
+ boxShadow: '0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06)',
123
+ textAlign: 'center',
124
+ width: 'auto',
125
+ minWidth: '200px',
126
+ maxWidth: '90vw',
127
+ marginTop: '20px'
128
+ });
129
+ currentRendererContainer.appendChild(statusContainer);
130
+
131
+ currentStatusTextElement = document.createElement('p');
132
+ Object.assign(currentStatusTextElement.style, {
133
+ fontSize: '1.1rem',
134
+ fontWeight: '600',
135
+ margin: '0 0 5px 0'
136
+ });
137
+ statusContainer.appendChild(currentStatusTextElement);
138
+
139
+ currentWinnerTextElement = document.createElement('p');
140
+ Object.assign(currentWinnerTextElement.style, {
141
+ fontSize: '1.25rem',
142
+ fontWeight: '700',
143
+ margin: '5px 0 0 0'
144
+ });
145
+ statusContainer.appendChild(currentWinnerTextElement);
146
+
147
+ parentElementToClear.appendChild(currentRendererContainer);
148
+
149
+ if (typeof document !== 'undefined' && !document.body.hasAttribute('data-renderer-initialized')) {
150
+ document.body.setAttribute('data-renderer-initialized', 'true');
151
+ }
152
+ return true;
153
+ }
154
+
155
+ function _parseFen(fen) {
156
+ if (!fen || typeof fen !== 'string') return null;
157
+
158
+ const [piecePlacement, activeColor, castling, enPassant, halfmoveClock, fullmoveNumber] = fen.split(' ');
159
+ const board = [];
160
+ const rows = piecePlacement.split('/');
161
+
162
+ for (const row of rows) {
163
+ const boardRow = [];
164
+ for (const char of row) {
165
+ if (isNaN(parseInt(char))) {
166
+ boardRow.push(char);
167
+ } else {
168
+ for (let i = 0; i < parseInt(char); i++) {
169
+ boardRow.push(null);
170
+ }
171
+ }
172
+ }
173
+ board.push(boardRow);
174
+ }
175
+
176
+ return {
177
+ board,
178
+ activeColor,
179
+ castling,
180
+ enPassant,
181
+ halfmoveClock,
182
+ fullmoveNumber
183
+ };
184
+ }
185
+
186
+
187
+ function _renderBoardDisplay(gameStateToDisplay, displayRows, displayCols) {
188
+ if (!currentBoardElement || !currentStatusTextElement || !currentWinnerTextElement) return;
189
+
190
+ // Clear board
191
+ for (let r = 0; r < displayRows; r++) {
192
+ for (let c = 0; c < displayCols; c++) {
193
+ const squareElement = currentBoardElement.querySelector(`#cell-${r}-${c}`);
194
+ if (squareElement) {
195
+ squareElement.innerHTML = '';
196
+ }
197
+ }
198
+ }
199
+
200
+ if (!gameStateToDisplay || !gameStateToDisplay.board) {
201
+ currentStatusTextElement.textContent = "Waiting for game data...";
202
+ currentWinnerTextElement.textContent = "";
203
+ return;
204
+ }
205
+
206
+
207
+ const { board, activeColor, is_terminal, winner } = gameStateToDisplay;
208
+
209
+ for (let r_data = 0; r_data < displayRows; r_data++) {
210
+ for (let c_data = 0; c_data < displayCols; c_data++) {
211
+ const piece = board[r_data][c_data];
212
+ const squareElement = currentBoardElement.querySelector(`#cell-${r_data}-${c_data}`);
213
+ if (squareElement && piece) {
214
+ const pieceImg = document.createElement('img');
215
+ pieceImg.src = PIECE_SVG_URLS[piece];
216
+ pieceImg.style.width = '45px';
217
+ pieceImg.style.height = '45px';
218
+ squareElement.appendChild(pieceImg);
219
+ }
220
+ }
221
+ }
222
+
223
+ currentStatusTextElement.innerHTML = '';
224
+ currentWinnerTextElement.innerHTML = '';
225
+ if (is_terminal) {
226
+ currentStatusTextElement.textContent = "Game Over!";
227
+ if (winner) {
228
+ if (String(winner).toLowerCase() === 'draw') {
229
+ currentWinnerTextElement.textContent = "It's a Draw!";
230
+ } else {
231
+ const winnerColor = String(winner).toLowerCase() === 'white' ? 'White' : 'Black';
232
+ currentWinnerTextElement.innerHTML = `Winner: <span style="font-weight: bold;">${winnerColor}</span>`;
233
+ }
234
+ } else {
235
+ currentWinnerTextElement.textContent = "Game ended.";
236
+ }
237
+ } else {
238
+ const playerColor = String(activeColor).toLowerCase() === 'w' ? 'White' : 'Black';
239
+ currentStatusTextElement.innerHTML = `Current Player: <span style="font-weight: bold;">${playerColor}</span>`;
240
+ }
241
+ }
242
+
243
+ // --- Main execution logic ---
244
+ if (!_ensureRendererElements(parent, DEFAULT_NUM_ROWS, DEFAULT_NUM_COLS)) {
245
+ if (parent && typeof parent.innerHTML !== 'undefined') {
246
+ parent.innerHTML = "<p style='color:red; font-family: sans-serif;'>Critical Error: Renderer element setup failed.</p>";
247
+ }
248
+ return;
249
+ }
250
+
251
+ if (!environment || !environment.steps || !environment.steps[step]) {
252
+ _renderBoardDisplay(null, DEFAULT_NUM_ROWS, DEFAULT_NUM_COLS);
253
+ if (currentStatusTextElement) currentStatusTextElement.textContent = "Initializing environment...";
254
+ return;
255
+ }
256
+
257
+ const currentStepAgents = environment.steps[step];
258
+ if (!currentStepAgents || !Array.isArray(currentStepAgents) || currentStepAgents.length === 0) {
259
+ _renderBoardDisplay(null, DEFAULT_NUM_ROWS, DEFAULT_NUM_COLS);
260
+ if (currentStatusTextElement) currentStatusTextElement.textContent = "Waiting for agent data...";
261
+ return;
262
+ }
263
+
264
+ // In chess, observation is the same for both agents. We can take it from the first.
265
+ const agent = currentStepAgents[0];
266
+
267
+ if (!agent || typeof agent.observation === 'undefined') {
268
+ _renderBoardDisplay(null, DEFAULT_NUM_ROWS, DEFAULT_NUM_COLS);
269
+ if (currentStatusTextElement) currentStatusTextElement.textContent = "Waiting for observation data...";
270
+ return;
271
+ }
272
+ const observationForRenderer = agent.observation;
273
+
274
+ let gameSpecificState = null;
275
+
276
+ if (observationForRenderer && typeof observationForRenderer.observation_string === 'string' && observationForRenderer.observation_string.trim() !== '') {
277
+ try {
278
+ const fen = observationForRenderer.observation_string;
279
+ const parsedFen = _parseFen(fen);
280
+ if (parsedFen) {
281
+ // Assuming `is_terminal` and `winner` are provided in the top-level observation
282
+ gameSpecificState = {
283
+ ...parsedFen,
284
+ is_terminal: observationForRenderer.is_terminal,
285
+ winner: observationForRenderer.winner
286
+ };
287
+ }
288
+ } catch (e) {
289
+ _showMessage("Error: Corrupted game state (obs_string).", 'error');
290
+ }
291
+ }
292
+
293
+ _renderBoardDisplay(gameSpecificState, DEFAULT_NUM_ROWS, DEFAULT_NUM_COLS);
294
+ }