"Getting to the goal is one metric. How much space you took from others on the way there is a second metric most navigation papers still omit."
A Social Navigation Critic
This section assumes familiarity with episode panels, scene splits, and success-rate aggregation from section 12.4, which introduces those conventions in the context of household and long-horizon benchmarks. The leaderboard-reading discipline introduced here is formalized in section 12.6, where protocol audits and fairness criteria are applied across benchmark families. Social navigation recurs in Part 10, specifically section 50.1, alongside human-robot interaction metrics and the design of evaluation protocols for agents operating among people.
A robot reaches the kitchen in 12 seconds. A different robot reaches it in 14 seconds but never once cuts off the humanoid crossing the hallway. Which policy is better? The answer depends entirely on what the benchmark actually measures, and most navigation leaderboards record only the first number. Habitat 3.0 introduced human avatars into household simulation precisely because that second number now matters. ProcTHOR generates tens of thousands of floor plans so a policy cannot win by memorizing layouts. Together, these platforms represent the frontier where navigation meets social constraint. Reading their metrics and tracing the scene-split and seed policies that make results reproducible reveals whether a leaderboard row reflects genuine generalization or a favorable procedural draw.
What This Section Builds
Two robots reach the same kitchen one second apart, yet only the dashboard tells you that the faster one clipped a humanoid's shoulder on the way and the slower one yielded the doorway: this section is about why navigation benchmarks that report only arrival time hide exactly the number that decides whether a robot is welcome in a shared hallway. It distinguishes pure navigation success from efficient navigation, rearrangement progress, and social behavior such as following a humanoid while maintaining safe distance, as Figure 12.5A previews: a navigation score should not hide the route taken, the generated scene seed, or the cost paid in social safety.
The goal is to keep path metrics, scene splits, generated-house seeds, and human-interaction rules attached to the result. Without those fields, a leaderboard row can hide whether a policy learned navigation, memorized layouts, or benefited from easier generated homes.
By the end of this section you should be able to do four concrete things: compute success weighted by path length (SPL) by hand from a small episode table; explain why non-overlapping seed ranges are what let ProcTHOR test generalization rather than memorization; read the audit-fields table to decide which platform (Habitat, Habitat 3.0, AI2-THOR, or ProcTHOR) fits a given claim; and, given two navigation results, name the protocol fields that must match before the numbers can be compared on a single leaderboard row.
Treat the leaderboard as an instrument: it is interpretable only when the benchmark isolates the capability, fixes the protocol, and records rerunnable context.
Theory
This section builds the SPL formula first, then the social-distance constraint, then the seed-split mechanism that makes ProcTHOR results trustworthy; each later piece leans on the one before it, so read them in order rather than jumping to the worked example.
Navigation benchmarks often report success and path efficiency together. If the shortest path length is \(L\) and the agent path length is \(P\), success weighted by path length is \(S \cdot L / \max(P, L)\), where \(S\) is 1 for success and 0 for failure. This prevents a policy from getting full credit for eventually reaching the goal through an inefficient route.
Social navigation adds another constraint: the robot should achieve its goal without crowding, blocking, or colliding with the humanoid (a simulated human-shaped avatar that walks the scene alongside the robot, either scripted or driven by a learned policy) or human collaborator. Habitat 3.0 makes this explicit through collaborative tasks such as social navigation and social rearrangement, while AI2-THOR and ProcTHOR emphasize interactive indoor environments and procedurally generated houses. ProcTHOR's scale illustrates what generalization through procedural generation buys in practice. Train a policy on 10,000 generated houses and test it on a held-out generated panel, and it typically succeeds on unseen layouts far more often than the same policy trained on the 120 fixed AI2-THOR apartments (as of the 2022 ProcTHOR release; Deitke et al., 2022). With only 120 scenes, the agent tends to memorize structural regularities instead of learning to navigate. The gap shows up in training cost too, in the numbers the ProcTHOR authors report: the fixed AI2-THOR apartment set demands roughly 50 million steps to reach competent object-navigation success, whereas ProcTHOR's generated pool crosses the same threshold in around 8 million steps, a difference attributed to its variety forcing genuine layout reasoning rather than route recall.
Figure 12.5B places each platform in the social-safety versus scene-generalization space. Habitat 3.0 adds the social-constraint layer, while ProcTHOR extends generalization through procedural scale. Procedural generation matters for physical deployment: a real building the robot has never seen shares no memorized layout with its training environments. A policy that overfit to 120 fixed floor plans will stall at an unexpected corridor junction or misjudge a room's exit. The robot then spins, times out, or blocks doorways, all dangerous and costly to recover from.
ProcTHOR generates houses by sampling room counts, sizes, and connectivity from a grammar, then placing furniture and objects from a curated asset library according to room-type rules. The generator is seeded and versioned, so a held-out eval panel can be reconstructed exactly. Training and evaluation panels are drawn from non-overlapping seed ranges, which is what prevents the policy from memorizing specific floor plans.
Think of the seed range split like a chef who trains on recipes numbered 1 to 10,000 and is then examined on recipes 10,001 to 11,000. Every recipe comes from the same cookbook grammar (same ingredients, same techniques, same plating rules), but no specific dish ever appeared during practice. A chef who genuinely learned to cook handles the new recipes smoothly. A chef who only memorized plating photographs of the training dishes stalls immediately when the arrangement changes. Non-overlapping seed ranges are the exam proctor's rule that ensures the test dishes were never shown during training, so the score measures cooking skill rather than photograph recall.
The mechanism is a scene-sampled path evaluation. The harness samples a house or generated layout, places the agent and target, runs the policy, measures success, path length, collisions, object-state changes, and social-distance violations, then aggregates by scene split and seed.
Worked Example
Code Fragment 1 computes success weighted by path length for three episodes. The same pass also keeps collisions visible, because a socially unsafe route should not be celebrated as an efficient route.
# Compute navigation efficiency from the same episode table as safety.
# Success weighted by path length rewards reaching the goal efficiently,
# while collision counts keep unsafe routes visible.
episodes = [
{"success": 1, "shortest": 6.0, "actual": 7.5, "collisions": 0},
{"success": 1, "shortest": 5.0, "actual": 12.0, "collisions": 2},
{"success": 0, "shortest": 8.0, "actual": 10.0, "collisions": 1},
]
spl_values = [
ep["success"] * ep["shortest"] / max(ep["actual"], ep["shortest"])
for ep in episodes
]
mean_spl = sum(spl_values) / len(spl_values)
total_collisions = sum(ep["collisions"] for ep in episodes)
print(f"mean_spl={mean_spl:.2f}, total_collisions={total_collisions}")
Step-Through: Success Weighted by Path Length
Trace the SPL calculation with the three episodes above, computing each term by hand. Episode 1: success \(S=1\), shortest \(L=6.0\), actual \(P=7.5\), so \(\text{SPL}_1 = 1 \times 6.0 / \max(7.5, 6.0) = 6.0/7.5 = 0.80\) (a slightly long but successful route). Episode 2: \(S=1\), \(L=5.0\), \(P=12.0\), so \(\text{SPL}_2 = 1 \times 5.0 / \max(12.0, 5.0) = 5.0/12.0 = 0.42\) (it reached the goal but wandered, and it logged 2 collisions). Episode 3: \(S=0\) (failed), so \(\text{SPL}_3 = 0 \times 8.0 / \max(10.0, 8.0) = 0\) regardless of path length. Mean SPL \(= (0.80 + 0.42 + 0.00)/3 = 1.22/3 = 0.41\). Notice that episode 2's respectable arrival is heavily penalized by its inefficient path, and its 2 collisions sit in a separate column the single SPL number never reveals: that is exactly why the collision count travels alongside SPL.
spl_values calculation rewards successful short paths and gives zero to failed episodes. The separate total_collisions count keeps social and physical safety visible when interpreting Habitat, AI2-THOR, or ProcTHOR navigation results.The suite should provide scenes, sensors, navigation graph or physics, and task definitions. Your evaluation layer should still record scene split, generated-house seed, target type, path-length rule, collision rule, social-distance threshold, and whether human or humanoid behavior was scripted, sampled, or interactive.
Practical Recipe
- Choose the construct: point navigation, object navigation, rearrangement, social navigation, or social rearrangement.
- Freeze scene split, generated-house seed list, target sampling, sensor suite, action horizon, and path-length normalization.
- Report success, path efficiency, collisions, timeout rate, and social-distance violations from the same evaluation pass.
- For ProcTHOR-style generation, save generator version and house seeds so the panel can be reconstructed.
- For Habitat 3.0-style social tasks, record humanoid policy, interaction mode, and safety threshold.
Algorithm: Navigation and Social Benchmark Evaluation Protocol
Input: episode panel \(\mathcal{E} = \{(s_i, g_i, L_i, \sigma_i)\}\) where \(s_i\) is start, \(g_i\) is goal, \(L_i\) is geodesic shortest-path length (the shortest walkable distance through the scene's floor plan, not a straight line through walls), \(\sigma_i\) is scene or generated-house seed; policy \(\pi_\theta\) with parameters \(\theta\); social-distance threshold \(d_{\min}\); success radius \(r\); horizon \(T\)
Output: aggregated metrics (SPL = success weighted by path length, collision rate, social-violation rate \(\nu\)) stratified by scene split
- Freeze protocol: fix scene split, sensor suite, action space, success radius \(r\), collision rule, horizon \(T\), and social-distance threshold \(d_{\min}\) before any policy is trained or evaluated.
- For each episode \(i \in \mathcal{E}\): initialize the environment from seed \(\sigma_i\), place agent at \(s_i\), set goal \(g_i\).
- Roll out policy \(\pi_\theta\): at each step \(t\), observe state \(o_t\), sample action \(a_t \sim \pi_\theta(\cdot \mid o_t)\), step environment, record position \(p_t\).
- At episode end, compute success \(S_i = \mathbf{1}[\|p_T - g_i\| \le r]\) and actual path length \(P_i = \sum_{t=1}^{T} \|p_t - p_{t-1}\|\).
- Compute success weighted by path length: \(\text{SPL}_i = S_i \cdot L_i / \max(P_i, L_i)\).
- Count physical collisions \(c_i\) and social-distance violations \(v_i = \sum_t \mathbf{1}[\|p_t - h_t\| < d_{\min}]\) where \(h_t\) is humanoid position at step \(t\) (if present).
- Record per-episode fields: scene ID, seed \(\sigma_i\), \(S_i\), \(P_i\), \(L_i\), \(\text{SPL}_i\), \(c_i\), \(v_i\), timeout flag, and humanoid behavior source.
- Stratify episodes by seen and unseen scene splits. Compute split-level means: \(\overline{\text{SPL}}\), \(\bar{c}\), and social-violation rate \(\nu = \frac{1}{|\mathcal{E}|}\sum_i v_i\).
- Apply the gradient update \(\nabla_\theta \mathcal{L}\) only using training-split episodes; never allow evaluation-split seeds to influence \(\theta\).
- Compare two policies only when both used the same frozen panel \(\mathcal{E}\), the same \(d_{\min}\), and the same humanoid policy; otherwise move the numbers to diagnostics rather than the paper table.
Compare only metrics co-computed in one benchmark pass with the same task panel, wrappers, seed policy, success definition, and logged failure labels.
A strong SPL score does not imply that an agent has also learned socially safe behavior. SPL measures only whether the robot reached the goal and how directly it traveled. It says nothing about whether the route cut through a crowd, violated personal space, or blocked a humanoid mid-corridor. A policy can score near-perfect SPL by taking the geometrically shortest path straight through other agents. SPL and social-violation rate are orthogonal axes. A result is interpretable only when both metrics come from the same episode panel and are reported together.
The common mistake is comparing navigation numbers without checking the path-length rule and scene split. A policy evaluated on familiar houses, easier generated seeds, or a looser collision threshold may outrank a better policy measured under a stricter protocol.
ProcTHOR results collapse when the generated-house seeds used during training overlap with evaluation seeds: the policy memorizes specific floor plans rather than learning to generalize. Always hold out a separate generated panel and report the generator version alongside seeds.
A parallel risk applies to Habitat 3.0 social tasks: if the humanoid behavior model is the same scripted policy during both training and evaluation, the agent learns to exploit that script rather than acquiring generalizable social awareness. When the humanoid policy changes at test time, social-navigation scores often drop sharply even when geometric navigation remains strong.
A navigation team should log scene ID, generated-house seed, start and goal, shortest path length, actual path length, success, collisions, timeout, social-distance violations, humanoid behavior source, and replay path. Those fields reveal whether a method navigates robustly or benefits from familiar layouts and forgiving interaction rules.
Real-World Application: Warehouse and Hospital Service Robots
Fetch Robotics and Diligent Robotics' Moxi deploy mobile bases that must reach goals through corridors shared with human workers, exactly the SPL-plus-social-violation tradeoff Habitat 3.0 formalizes. Diligent reports tuning Moxi's hospital navigation to yield right-of-way and keep a personal-space buffer rather than minimize travel time, accepting a longer path to avoid startling staff. The lesson from these benchmarks, that route quality and social safety are orthogonal axes, is precisely what separates a robot people tolerate in a hallway from one they unplug.
A robot that reaches the goal by walking through the crowd has solved the map but failed the room.
Language-conditioned social navigation. Rather than pre-specified goals, 2024-2025 work conditions the navigation policy on natural-language instructions that include social constraints ("bring coffee to the person in the blue chair without passing in front of the TV"). The NavGPT line of work (Fu et al., 2024, arXiv 2305.16986 follow-up studies; also NAVCOT from Allen Institute for AI) shows that large language model reasoning can translate ambiguous social instructions into sub-goal sequences, but social-distance violations remain high when the large language model (LLM) planner and the low-level motion controller are not jointly fine-tuned.
Reactive humanoid simulation for social benchmarks. Habitat 3.0's scripted straight-line humanoid is being replaced by learned social-force or diffusion-based pedestrian models. The SOCIALGYM 2.0 benchmark (Holtz et al., 2024, IEEE RA-L) and work from the Robot Learning Lab at UT Austin demonstrate that a policy trained against a reactive crowd model transfers to real corridors with substantially smaller sim-to-real social-violation gaps than one trained against scripted avatars. Reactive humanoid generation is now an active sub-field alongside scene generation.
Checkpoint
So far: language-conditioned navigation lets policies parse social constraints from instructions, but the low-level controller must be jointly tuned or violations stay high; reactive humanoid simulation replaces scripted avatars with learned pedestrian models to close the sim-to-real social gap. The next frontier, below, asks whether scale can replace both.
Zero-shot generalization through foundation-model scene understanding. ProcTHOR's scale advantage is being challenged by foundation-model approaches that use vision-language models (OpenFMNav, 2024; also work from Georgia Tech's RAIL lab) to perform object-goal navigation in completely unseen environments without any procedural pre-training. These methods report competitive SPL on the HM3D and MP3D benchmarks but their social-navigation behavior under crowd conditions is undercharacterized, leaving the SPL-vs-social-safety tradeoff unmeasured in zero-shot regimes.
Open problem. No current benchmark jointly evaluates a policy on (1) SPL on procedurally generated unseen layouts, (2) social-violation rate against a reactive (non-scripted) humanoid, and (3) real-world transfer to a physical corridor with actual pedestrians, all reported from a single frozen episode panel. A researcher who constructs that tri-modal panel, runs existing Habitat 3.0 and ProcTHOR baselines through it, and characterizes which axis each method fails on first would produce a benchmark contribution with immediate practical relevance to social robot deployment.
Can you name the scene split, generated-house seeds, target sampling rule, shortest-path definition, collision rule, social-distance threshold, humanoid policy, and aggregation metric? If not, the experiment boundary is still too vague.
Navigation and social benchmarks become useful when they preserve both route quality and interaction quality. A Habitat 3.0 social-navigation result should not report only whether the robot found and followed the person. It should also report whether the robot maintained safe distance, avoided blocking, and completed the task under the same humanoid behavior model as the baseline.
The graduate-level habit is to separate map competence from social competence. AI2-THOR and ProcTHOR stress generalization across interactive scenes and generated homes; Habitat 3.0 stresses collaboration with humanoid or human behavior. A paper-facing comparison must name which competence it measures and which scene or behavior distribution it held out.
Each platform is designed for a specific claim type. Matching the platform to the claim keeps the metric interpretable:
- Habitat navigation tasks: use when the claim is about point or object navigation efficiency. The platform provides geodesic shortest paths and a large photorealistic scene corpus, making SPL directly interpretable.
- Habitat 3.0: use when the claim involves human-aware behavior. It introduces a simulated humanoid that the robot must follow or avoid, so social violations become a first-class metric rather than an afterthought.
- AI2-THOR: use when the claim requires object interaction, state changes (opening drawers, toggling switches), or instruction following in a fixed scene set. The platform models discrete object affordances that Habitat's physics do not cover.
- ProcTHOR: use when the claim is about generalization at scale. Training on tens of thousands of generated houses and evaluating on a held-out panel tests layout generalization rather than scene memorization.
Each platform breaks down outside its design envelope: Habitat 3.0 social tasks become uninterpretable if the humanoid script is too simple to reveal social failures; AI2-THOR results do not transfer when scene count is small enough that policies overfit to the 120 fixed apartments; ProcTHOR efficiency numbers can be inflated if the generated evaluation panel is too similar in structure to the generated training panel.
| Benchmark family | Primary construct | Protocol detail to freeze |
|---|---|---|
| Habitat 3.0 | Social navigation and social rearrangement with humanoid or human interaction | Humanoid behavior model, social-distance threshold, scene split, action horizon, and collaboration metric. |
| Habitat navigation tasks | Point, object, and embodied navigation in 3D scenes | Scene split, sensor suite, start-goal sampling, shortest-path metric, and success radius. |
| AI2-THOR | Interactive indoor navigation, object interaction, and rearrangement | Scene set, object states, interaction actions, horizon, and task predicate definitions. |
| ProcTHOR | Scale through procedurally generated houses | Generator version, house seeds, train/test generated panels, and zero-shot evaluation scenes. |
| Social evaluation overlays | Safety around people or humanoid agents | Collision rule, personal-space threshold, blocking definition, and human-in-the-loop condition. |
Those audit fields describe what a careful evaluation should record; the published record shows how rarely the social half of them actually appears.
Before reading on, guess: of the policies that appear in a top-10 navigation leaderboard slot, what fraction also report social-violation rate from the same episode panel? Across published Habitat and AI2-THOR leaderboard entries through 2024, fewer than 1 in 10 rows include both SPL and social-violation rate co-computed in a single pass, which means the social safety of most "high-performing" navigation policies is simply unknown.
Building the Episode Panel
A robust navigation evaluation starts with the episode panel. The panel should list each scene or generated house, start and target, shortest path length, seed, humanoid behavior if present, and the metric rule. Every method should consume that panel unchanged.
- Write an episode panel with scene ID, generated-house seed, start, target, and shortest path length.
- Freeze sensors, action space, success radius, collision rule, horizon, and social-distance threshold.
- Evaluate every method through one script that computes success, efficiency, collisions, and social violations.
- Save per-episode replays and stratify results by seen versus unseen scenes or generated houses.
- For social tasks, report both task completion and human-aware safety metrics.
Code Fragment 2 records the navigation protocol fields that make a result replayable. The same schema works for a static navigation panel or a ProcTHOR-generated panel.
# Record a navigation result with path and social metrics together.
# Co-computing these fields prevents a method from optimizing route
# efficiency while hiding collisions or personal-space violations.
from dataclasses import dataclass, asdict
@dataclass
class NavigationResult:
suite: str
scene_split: str
generated_seed_panel: str
success_rate: float
mean_spl: float
social_violations_per_episode: float
def as_row(self) -> dict[str, object]:
return asdict(self)
result = NavigationResult(
suite="Habitat 3.0",
scene_split="unseen_homes",
generated_seed_panel="proc_panel_v2",
success_rate=0.74,
mean_spl=0.51,
social_violations_per_episode=0.18,
)
print(result.as_row())
NavigationResult stores success, mean_spl, and social violations under one scene split and generated-seed panel. This prevents path efficiency and human-aware safety from being reported as separate, non-comparable diagnostics.Expected output: the printed result should expose scene split, generated-seed panel, success, path efficiency, and social violations. If one field changes between methods, the comparison should stay in diagnostics rather than the paper table.
Recording those fields is only half the discipline; the other half is knowing what to do with them once a run comes back wrong.
When a navigation or social experiment fails, replay the path and tag the first failure mode: wrong target, inefficient route, collision, timeout, blocked humanoid, social-distance violation, object-state miss, or generated-scene mismatch. The tag tells you whether to fix mapping, planning, interaction policy, or the evaluation panel.
Navigation and social benchmarks are useful when success, path efficiency, collisions, generated-scene splits, and human-aware safety metrics are co-computed from one episode panel.
Design a Habitat, AI2-THOR, or ProcTHOR comparison. Specify scene split, generated-house seeds if any, start-target sampling, success radius, path metric, collision rule, social-distance threshold, and one failure label.
Project Ideas
Beginner (weekend): Build a point-navigation agent in AI2-THOR using Gymnasium wrappers that logs SPL and collision count to a CSV after each episode; the key challenge is wiring the AI2-THOR event loop into a standard Gymnasium step/reset interface so that existing RL libraries work without modification. Intermediate (1-2 weeks): Train a social-navigation policy in Habitat 3.0 with PyBullet or the built-in physics backend and evaluate it under two humanoid behavior models (scripted straight-line vs. sampled waypoints) on a held-out ProcTHOR generated panel; the key challenge is preventing the policy from overfitting to the scripted humanoid so that SPL and social-violation rate both transfer to the second behavior model. Intermediate (1-2 weeks): Use ROS2 and LeRobot to replay a Habitat navigation episode on a physical robot by streaming waypoints from a trained Habitat policy over a ROS2 topic and recording real depth-sensor SPL approximations alongside sim SPL; the key challenge is aligning the simulator coordinate frame with the physical odometry frame so that geodesic path lengths remain comparable across sim and real runs.
Lab: Measuring the Scene-Memorization Gap in AI2-THOR
Goal: show empirically that a navigation policy evaluated on familiar scenes scores higher than the same policy on unseen scenes, the core reason ProcTHOR exists. Tools needed: ai2thor (pip install), Python 3.10+, and a small object-goal navigation policy (even a greedy frontier or shortest-path-toward-target heuristic using the built-in get_shortest_path_to_object helper is enough; no GPU training required). What to do: pick 20 of the iTHOR FloorPlan scenes as "seen" and 20 different ones as "unseen". Run 10 randomized start-goal episodes per scene, logging success, SPL (\(S \cdot L / \max(P, L)\)), and collision count per episode into a CSV. What to vary: (1) the seen-vs-unseen split, and (2) the success radius (try 0.5 m vs 1.5 m). What to observe: mean SPL should drop and collisions should rise on unseen scenes, and a looser success radius should silently inflate success without improving path quality, demonstrating firsthand why the success radius and scene split must be frozen and reported before any leaderboard comparison. Budget: about 20-30 minutes including install.
Section 12.6 → brings the chapter together by showing how to read leaderboards without mixing incompatible panels, splits, seeds, metrics, or wrappers.
James, S. et al. (2019). "RLBench: The Robot Learning Benchmark and Learning Environment." arXiv.
RLBench frames a large set of vision-guided manipulation tasks with demonstrations and task variation. It is useful for readers studying few-shot, multi-task, and manipulation benchmark design. Readers should connect this source to navigation and social: habitat 3.0, ai2-thor / procthor when deciding what is reusable, what is benchmark-specific, and what must be remeasured.
ManiSkill Contributors. "ManiSkill Documentation."
ManiSkill provides manipulation tasks, demonstrations, GPU-parallel workflows, and documentation for robot-learning experiments. It is relevant when this section asks how benchmark design turns simulator capability into comparable evidence. Readers should connect this source to navigation and social: habitat 3.0, ai2-thor / procthor when deciding what is reusable, what is benchmark-specific, and what must be remeasured.
RoboCasa Team. "RoboCasa Documentation."
RoboCasa documents everyday manipulation tasks and simulation assets, including the 2024 release lineage and later RoboCasa365 expansion. Readers should use it to study how task diversity and environment generation affect benchmark claims. Readers should connect this source to navigation and social: habitat 3.0, ai2-thor / procthor when deciding what is reusable, what is benchmark-specific, and what must be remeasured.
Mandlekar, A. et al. "robomimic Documentation."
robomimic provides datasets and algorithms for learning from demonstrations. It matters here because benchmark evaluation often depends as much on dataset format and split discipline as on simulator physics. Readers should connect this source to navigation and social: habitat 3.0, ai2-thor / procthor when deciding what is reusable, what is benchmark-specific, and what must be remeasured.
Stanford Vision and Learning Lab. "BEHAVIOR-1K."
BEHAVIOR-1K grounds household embodied AI tasks in human needs and long-horizon mobile manipulation. It gives benchmark designers a concrete example of task suites that go beyond isolated tabletop success rates. Readers should connect this source to navigation and social: habitat 3.0, ai2-thor / procthor when deciding what is reusable, what is benchmark-specific, and what must be remeasured.