File size: 2,630 Bytes
eb3a859
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
{
  "schema": "plastique.crystalmix_mlp.v2",
  "observation": {
    "name": "crystal",
    "version": 5,
    "size": 1473,
    "live_size": 1153,
    "segments": {
      "self": 0,
      "opponent": 24,
      "kit": 117,
      "inventory": 577,
      "crosshair": 604,
      "fan": 635,
      "terrain": 710,
      "foe": 1034,
      "crystals": 1087,
      "blasts": 1129
    },
    "item_vocabulary": [
      "empty",
      "sword",
      "mace",
      "obsidian",
      "end_crystal",
      "respawn_anchor",
      "glowstone",
      "totem",
      "golden_apple",
      "firework",
      "elytra",
      "chestplate",
      "ender_pearl",
      "axe",
      "shield",
      "wind_charge",
      "crossbow",
      "arrow",
      "pickaxe",
      "xp_bottle",
      "splash_potion",
      "helmet",
      "leggings",
      "boots",
      "building_block",
      "container",
      "glowstone_dust",
      "spear",
      "bow",
      "cobweb",
      "utility",
      "unknown"
    ],
    "item_count": 32,
    "kit_layout": "item-major, 14 floats per item id: 9 hotbar occupancy, present, hotbar count, selected, offhand, inventory total"
  },
  "actions": {
    "name": "crystal",
    "branches": {
      "move": 9,
      "jump": 2,
      "sprint": 2,
      "attack": 2,
      "yaw": 11,
      "pitch": 9,
      "sneak": 2,
      "use": 2,
      "slot": 9,
      "inventory": 4
    },
    "total_logits": 52,
    "yaw_buckets": [
      -45,
      -20,
      -10,
      -4,
      -1,
      0,
      1,
      4,
      10,
      20,
      45
    ],
    "pitch_buckets": [
      -20,
      -8,
      -3,
      -1,
      0,
      1,
      3,
      8,
      20
    ]
  },
  "model": {
    "trunk": [
      512,
      512
    ],
    "layernorm": true
  },
  "training": {
    "self_examples": "ground_truth",
    "opponent_examples": "visible-state partial",
    "opponent_weight": 0.35
  },
  "compatibility": {
    "breaks": "crystal_obs_v3 / 929",
    "reason": "v3 resolved 32 of 44 recorded item ids to air and encoded the hotbar slot-major; v4 widens the vocabulary to 32 identities and transposes the kit block so item identity is hotbar-order invariant.",
    "recorder_meta_declares": "crystal_obs_v3 / 929 - the telemetry mod still reports the v3 contract and must be updated to match before this policy is served live.",
    "causal_lag": "sneaking, selected_slot and the resulting held item are fed from the previous tick. The recorder snapshots state after the tick's action, so the live server must apply the same one-tick lag on these three fields or the policy sees an input distribution it was never trained on."
  }
}