File size: 2,342 Bytes
b4b7ca9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
---

license: apache-2.0
library_name: pytorch
pipeline_tag: other
tags:
  - world-model
  - diffusion
  - mining
  - video
  - causal
  - game
---


# Diffusion Miner

An action-conditioned world model that learned a falling-sand mining sandbox. You hold **A / D** to walk, **W** or Space to jump, and the arrows to dig; it invents the next frame.

![demo](demo.gif)

256×256 at 12 FPS. The attention prefix is 12 latent frames; a ConvGRU world memory scans 48. About 220M parameters. The codec is a frozen Tile VAE trained on this game, not SDXL. Needs a CUDA GPU with BF16.

This release is the teacher-stage instantaneous flow checkpoint. One step is the right setting — there is no distilled student.

## Play it

```bash

pip install torch numpy pillow safetensors huggingface_hub



hf download kerzgrr/diffusionminer --local-dir checkpoints/diffusionminer

python checkpoints/diffusionminer/live_infer.py \

  --local-dir checkpoints/diffusionminer \

  --steps 1

```

If the weights are already in the current directory:

```bash

python live_infer.py --steps 1 --window-scale 3 --seed 2026

```

Click the window once so it has focus. Esc quits. Clicking the canvas drops a miner into the latent history if you want to poke it.

Write a short gameplay GIF with the scripted training miner:

```bash

python live_infer.py \

  --local-dir checkpoints/diffusionminer \

  --steps 1 \

  --seed-play \

  --autoplay \

  --frames 144 \

  --output diffusionminer.gif

```

## Controls

| key | action |
|---|---|
| `A` | move left |
| `D` | move right |
| `W` / Space | jump |
| ← ↑ → ↓ | dig that way |

Action vector is `[left, right, jump, dig_left, dig_right, dig_up, dig_down]` as floats in `{0,1}`. Opposite move keys cancel. Only one dig direction is active at a time.

## What's in the files

| file | what |
|---|---|
| `ema.safetensors` | playable teacher weights |
| `codec.pt` | frozen Tile VAE |
| `config.json` | video / model / codec settings used at train time |
| `livediffusion/` | inference package used by `live_infer.py` |
| `live_infer.py` | live play launcher |
| `demo.gif` | scripted gameplay clip |

If something breaks, it is probably a GPU that cannot do BF16, or running `live_infer.py` without the rest of this snapshot on `sys.path`.