Maps are editor-built scenes: [Tool] Playground/Crag, headless rebuild for agents
scenes/maps/playground.tscn and crag.tscn are generated by the map scripts' Rebuild (inspector button, or godot-mono --headless --path . tools/rebuild_maps.tscn) and loaded as saved by the game, so hand edits stick. The crag route is saved as Marker3D nodes and crag_spike checks the saved scene. Layout verified identical to the code-built one (tools/map_dump.tscn). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3e300c7f04
commit
df7a2c5a89
17 files changed
+6863
-65
No files matched your search
@@ -1,7 +1,8 @@
|
||||
using Godot;
|
||||
using System.Collections.Generic;
|
||||
|
||||
// Regression for the crag (no player): the route is climbable on paper — consecutive route points
|
||||
// Regression for the crag (no player), checked on the SAVED scenes/maps/crag.tscn (route = its
|
||||
// Route markers; rebuild with tools/rebuild_maps.tscn): the route is climbable on paper — consecutive route points
|
||||
// within human reach, every point in free space, route pieces not buried in each other or the
|
||||
// rock — the summit is high enough, and it's in plain view from spawn. Prints "CRAG: overall PASS".
|
||||
public partial class CragSpike : Node3D
|
||||
@@ -23,8 +24,9 @@ public partial class CragSpike : Node3D
|
||||
floor.AddToGroup(PropGrabber.NoGrabGroup);
|
||||
floor.AddChild(new CollisionShape3D { Shape = new BoxShape3D { Size = new Vector3(80, 0.1f, 80) }, Position = new Vector3(0, -0.05f, 0) });
|
||||
AddChild(floor);
|
||||
AddChild(new Playground());
|
||||
_crag = new Crag();
|
||||
// The SAVED scenes (as the game loads them, hand edits included), not a fresh rebuild.
|
||||
AddChild(GD.Load<PackedScene>("res://scenes/maps/playground.tscn").Instantiate());
|
||||
_crag = GD.Load<PackedScene>("res://scenes/maps/crag.tscn").Instantiate<Crag>();
|
||||
AddChild(_crag);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user