Skip to content

Commit 3189576

Browse files
authored
Merge pull request #466 from Kaggle/repeated-poker-to-static-assets
Migrate Repeated Poker to use the new Vite builder strategy
2 parents dfc4643 + 1fff818 commit 3189576

File tree

14 files changed

+946
-38
lines changed

14 files changed

+946
-38
lines changed

kaggle_environments/envs/connectx/visualizer/default/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"type": "module",
66
"scripts": {
77
"dev": "cross-env VITE_REPLAY_FILE=./replays/test-replay.json vite",
8+
"dev:iframe": "vite",
89
"build": "tsc && vite build",
910
"preview": "vite preview"
1011
},
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>Repeated Poker Visualizer</title>
8+
</head>
9+
<body>
10+
<div id="app"></div>
11+
<script type="module" src="/src/main.ts"></script>
12+
</body>
13+
</html>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "@kaggle-environments/repeated-poker-visualizer",
3+
"private": true,
4+
"version": "0.0.0",
5+
"type": "module",
6+
"scripts": {
7+
"dev": "vite",
8+
"dev-with-replay": "cross-env VITE_REPLAY_FILE=./replays/test-replay.json vite",
9+
"build": "tsc && vite build",
10+
"preview": "vite preview"
11+
},
12+
"devDependencies": {
13+
"cross-env": "^10.1.0",
14+
"typescript": "^5.0.0",
15+
"vite": "^5.0.0"
16+
},
17+
"dependencies": {
18+
"@kaggle-environments/core": "workspace:*",
19+
"htm": "^3.1.1",
20+
"preact": "^10.13.2"
21+
}
22+
}

kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/replays/test-replay.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { Player, GameAdapter, ReplayData } from '@kaggle-environments/core';
2+
import { renderer } from './repeated_poker_renderer.js';
3+
import { render } from 'preact';
4+
5+
class LegacyAdapter implements GameAdapter {
6+
private container: HTMLElement | null = null;
7+
8+
mount(container: HTMLElement): void {
9+
this.container = container;
10+
}
11+
12+
render(step: number, replay: ReplayData, agents: any[]): void {
13+
if (!this.container) return;
14+
this.container.innerHTML = ''; // Clear container before rendering
15+
renderer({
16+
parent: this.container,
17+
environment: replay,
18+
step: step,
19+
agents: agents,
20+
// These are probably not used by poker but good to have
21+
width: this.container.clientWidth,
22+
height: this.container.clientHeight
23+
});
24+
}
25+
26+
unmount(): void {
27+
if (this.container) {
28+
render(null, this.container);
29+
}
30+
this.container = null;
31+
}
32+
}
33+
34+
const app = document.getElementById('app');
35+
if (app) {
36+
new Player(app, new LegacyAdapter());
37+
}

kaggle_environments/envs/open_spiel_env/games/repeated_poker/visualizer/default/src/repeated_poker_renderer.js

Lines changed: 754 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"extends": "../../../../../../../web/tsconfig.base.json",
3+
"compilerOptions": {
4+
"allowJs": true
5+
},
6+
"include": ["src"]
7+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { defineConfig, mergeConfig } from 'vite';
2+
import baseConfig from '../../../../../../../web/vite.config.base';
3+
4+
// https://vitejs.dev/config/
5+
export default mergeConfig(baseConfig, defineConfig({
6+
}));

pnpm-lock.yaml

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
packages:
22
- "web/*"
33
- "kaggle_environments/envs/*/visualizer/*"
4+
- "kaggle_environments/envs/open_spiel_env/games/*/visualizer/*"

0 commit comments

Comments
 (0)