로스트 시티 클래식 코어 이식

맥락:
- 새 레포의 첫 범위를 RL 없는 Lost Cities classic 게임 구현으로 잡았다.
- 기존 tier0-3 실험 축은 제거하고 classic 5-expedition 룰을 기본값으로 둔다.

변경:
- games/classic 아래에 Cython 게임 엔진, env, bots, backend 경계, Rust core와 proto schema를 이식했다.
- setuptools/Cython 빌드 설정과 package data, README, classic port notes를 추가했다.
- 룰, 점수, 마스크, env, canonical state, bot, Rust parity 테스트를 새 경로로 가져왔다.

확인:
- uv run pytest tests/games/classic
- uv run lost-cities-classic
This commit is contained in:
2026-05-06 19:07:46 +09:00
commit 7df6e42904
46 changed files with 7531 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
from __future__ import annotations
from setuptools import Extension, setup
try:
from Cython.Build import cythonize
except ImportError: # pragma: no cover
cythonize = None
extensions: list[Extension] = []
if cythonize is not None:
extensions = cythonize(
[
Extension(
"coolrl_lost_cities.games.classic.game",
["src/coolrl_lost_cities/games/classic/game.pyx"],
)
],
language_level=3,
compiler_directives={
"boundscheck": False,
"wraparound": False,
"cdivision": True,
"initializedcheck": False,
},
)
setup(ext_modules=extensions)