Fog entity cognitive delay rendering (D-059/D-060): sonar-style sound pings (3 concentric rings, 1.5s fade), unrecognized grey blobs with breathing pulse, D-033 color transition at 50% recognition progress, ±0.5 tile position drift. FogEntities node at z:950 between fog shader and InsertOverlay. Protocol v7 bump to match server PR #23 (pending_recognitions field). Wires dialogue box and fog entities into game loop with mock test data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -11,7 +11,7 @@ class_name Protocol
|
||||
|
||||
## Protocol version — must match server PROTOCOL_VERSION in bridge/types.rs.
|
||||
## Reject snapshots where version != this value.
|
||||
const PROTOCOL_VERSION: int = 6
|
||||
const PROTOCOL_VERSION: int = 7
|
||||
|
||||
|
||||
# -- Decode: bytes from server → GDScript types --------------------------------
|
||||
@@ -122,6 +122,21 @@ static func decode_snapshot(bytes: PackedByteArray) -> Variant:
|
||||
"slot": int(raw_item.get("slot", 0)),
|
||||
})
|
||||
|
||||
# v7: pending_recognitions (#431, D-059/D-060) — cognitive delay fog entities
|
||||
var pending_recognitions: Array = []
|
||||
var raw_recognitions: Variant = raw.get("pending_recognitions")
|
||||
if raw_recognitions is Array:
|
||||
for raw_pr in raw_recognitions:
|
||||
if raw_pr is Dictionary and raw_pr.has("entity_id") and raw_pr.has("x") and raw_pr.has("y"):
|
||||
pending_recognitions.append({
|
||||
"entity_id": int(raw_pr["entity_id"]),
|
||||
"x": float(raw_pr["x"]),
|
||||
"y": float(raw_pr["y"]),
|
||||
"z": int(raw_pr.get("z", 0)),
|
||||
"remaining_ticks": int(raw_pr.get("remaining_ticks", 0)),
|
||||
"total_delay_ticks": int(raw_pr.get("total_delay_ticks", 1)),
|
||||
})
|
||||
|
||||
return {
|
||||
"tick": tick,
|
||||
"entities": entities,
|
||||
@@ -134,6 +149,7 @@ static func decode_snapshot(bytes: PackedByteArray) -> Variant:
|
||||
"visible_tiles": visible_tiles,
|
||||
"nearby_interactions": nearby_interactions,
|
||||
"current_monologue": current_monologue,
|
||||
"pending_recognitions": pending_recognitions,
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user