EQA Support Status
Frank inventory β HM-EQA/OpenEQA envs, reasoner nodesets, gaps
This page does two jobs. Part I β Support answers which EQA methods AgentCanvas runs or wants to run: a single support matrix (verified Β· in-progress Β· planned), then the env / reasoner / method machinery underneath. Part II β Landscape places those methods in the wider EQA field β representative & most-cited reasoners and the 2024β26 frontier (Β§9) β condensed from the EQA β Methods survey. Companion to VLN Support Status and VLA Support Status.
Part I β Methods we support
1. Support matrix
Every EQA graph AgentCanvas ships, is building, or has planned (Β§8). This is the single source of truth for "what we support" β the env / reasoner / method backing is in Β§2βΒ§4, planned adoptions in Β§8, the wider field is Part II. Verified graphs live under eqa/verified/, the rest under eqa/unverified/.
| Graph | Status | Headline result (HM3D, n=100, gpt-4o) |
|---|---|---|
openeqa_em_blind_llm.json |
β verified working | LLM-Match 0.4175 (paper baseline 0.355, +6 pp) β run_id=10864f2c |
openeqa_em_single_frame.json |
β verified working | LLM-Match 0.330 β single-arbitrary-frame ablation (paper has no entry for this archetype) β run_id=3aa974ba |
openeqa_em_multiframe.json |
β verified working | LLM-Match 0.7025 (paper baseline 0.466 GPT-4V K=50, +24 pp) β run_id=1f2e327b |
openeqa_aeqa_* (A-EQA) |
π§ TODO β blocked on data | Active-EQA mode not yet shipped. Blocker is data, not method: the original OpenEQA Meta-Dropbox tarballs (full-fidelity scene frames + states re-render artefacts) are permanently expired (verified 2026-05-04, see scripts/data/fetch_dataset_openeqa.sh); the HF mirror we use for EM-EQA caps each episode at 32 frames and doesn't carry the artefacts an active-explorer needs |
explore_eqa_hmeqa.json |
β verified working | Author-verified 2026-06-01 β runs end-to-end on a real HM-EQA episode (HM3D meshes installed, install_ac_hmeqa.sh done). Closes the E6 "validate end-to-end on a real episode" remaining item. |
explore_eqa_hmeqa.json + dataset=mt_hm3d |
π§ 30-ep run 2026-08-14 | Same verified graph on the MT-HM3D corpus (MemoryEQA, 1,587 multi-choice questions) via the env panel's dataset spec. Smoke 20260813_155648 verified the success/norm_step machinery; 30-episode run 20260814_183047 (6 workers): SR 40.0% (12/30), norm_step 1.0. First-30 head subset β not comparable to the paper's full-set 30.22% (ExploreEQA/Prismatic). Beware 67.4%-"A" answer skew; report per-category. |
express_probe.json |
π§ smoked 2026-08-13 | EXPRESS-Bench wiring probe (built-ins-only loop + benchmark-native gpt-4o-mini judge band) β run 20260813_151848: full 40-step budget, judge parsed, C*=40 / d_T 7.01 m on one val episode. Score not meaningful by design. |
express_re.json |
π§ 30-ep run 2026-08-14 (faithful loop) | Paper's Random Exploration baseline, reworked step-for-step faithful to upstream main.py (per-step gpt-4o-mini stop check, stop/trunc answer branches with upstream prompts verbatim, record start_rotation init). 30-episode run 20260814_220732: C 42.3 / C* 63.3 / E_path 25.5 / d_T 3.20 m (13 early-stop / 17 truncated). Paper full-set: C 36.95 / C* 62.75 / E_path 12.06 β C* tracks; head-subset skew inflates C/E_path. |
express_fbe.json |
π§ 30-ep run 2026-08-14 (faithful loop) | Paper's Frontier-Based Exploration baseline β vendored upstream TSDF planner (env_express/_tsdf.py) behind env_express__sample_frontier, same faithful stop/answer band as RE. 30-episode run 20260814_220734: C 47.7 / C* 67.3 / E_path 24.6 / d_T 6.60 m (12 early-stop / 18 truncated). Paper full-set: FBE C 38.60 / C* 63.03 / E_path 12.20. |
tooleqa_hmeqa.json |
π redone 2026-06-08 (monolith) β runs e2e, SR tuning | Rebuilt monolith-first: backend ReAct reasoner (tooleqa__step) + fused tooleqa_explore__go_next (full Explore-EQA TSDF frontier step + teleport β the first port's bug was treating go_next as discrete dead-reckoning). Qwen2.5-VL-3B serves the LLM/VQA; DetAny3D serves 2D/3D detect; all over server-mode HTTP. End-to-end smoke works (first correct answer: ep0 β 'B' == GT). SR aggregate + 3B convergence still being tuned β see roadmap #63. Scope still HM-EQA only; reuses the explore_eqa_hmeqa.json TSDF substrate. |
All three OpenEQA EM-EQA graphs reproduced on 2026-05-04. Frozen artefacts (summary + graph + log.jsonl.gz with raw VLM and judge text) live under outputs/archive/openeqa_em_baselines_2026-05-04/ β the README in that folder is the canonical reproduction record. Headline ordering matches paper expectation: multi-frame β« blind > single-arbitrary-frame.
We outperform paper baselines because the reasoner + judge are gpt-4o (2025); the paper used gpt-4 / gpt-4-vision-preview (2024). The +24 pp gap on multi-frame is dominated by the model upgrade.
VLN graphs are out of scope (see VLN Support Status); VLA graphs are out of scope (see VLA Support Status).
workspace/graphs/ is organised by domain Γ verification status. The EQA verified set is eqa/verified/{openeqa_em_multiframe, openeqa_em_single_frame, openeqa_em_blind_llm, explore_eqa_hmeqa}.json; eqa/unverified/ currently holds the EXPRESS-Bench trio {express_probe, express_re, express_fbe}.json (baselines faithful-loop reworked + 30-episode runs 2026-08-14); A-EQA graphs are still not shipped β data-blocked, see Β§2.3. Graphs stay addressable by bare name β the execution resolver and architect overlay fall back to a recursive graphs/**/{name}.json search.2. Environment Nodesets
EQA environments wrapped as BaseNodeSets under server mode. The HM3D-based ones (HM-EQA, EXPRESS-Bench) share the ac-hmeqa conda env in server mode (parallelism="replicated").
2.1 HM-EQA (E6, in progress)
- Files:
workspace/nodesets/env/env_hmeqa/__init__.py+hmeqa_renderer.py+hmeqa_replay.py - Source: House-Mesh EQA over HM3D β multi-choice questions on semantic scenes
- Capabilities: 5 tools incl. free-pose teleport
- Method side: paired with
explore_eqa.py+explore_eqa_tsdf.py(see Β§3) - Doc: HM-EQA nodeset
- Constraint discovered during integration (TODO #17): live
TSDFPlannerobjects don't cross the server-mode JSON IPC boundary (numba-JIT'd volumes aren't pickle-friendly). The explore-eqa nodeset works around this with subprocess-local module globals keyed byepisode_id, not state containers β load-bearing design constraint for future container work
2.2 OpenEQA (E9, shipped 2026-05-04)
- File:
workspace/nodesets/env/env_openeqa_em.py - Source: OpenEQA EM-EQA (24.06) β free-form Embodied QA with LLM-as-judge (1β5 β LLM-Match)
- 5 tools:
reset/episode_info/sample_frames/parse_score/emit_metricsβ judge LLM call uses framework builtinllmCall; OpenEQA-specific score parsing + metric naming live in two thin nodeset nodes - Dataset path (the install actually works today): HuggingFace mirror
Embodied1/open-eqa(32 frames/episode parquet) β installer rewritten to use this since the upstream Meta Dropbox tarballs are permanently expired (scripts/data/fetch_dataset_openeqa.sh) - Critical config β
image_size(default 512):sample_frameslong-side resize. Mirrors paper baseline (openai_utils.py:30); the default keeps a 32-frame batch under provider single-request size caps (OpenAI rejects >50 MB; raw 1920Γ1080 PNGs total ~70 MB and silently fail otherwise β that bug was the reason early multi-frame smokes scored 1/5 across the board) - Doc: OpenEQA nodeset
2.3 OpenEQA A-EQA (E10, deferred β blocked on data)
Active-EQA mode would reuse HM-EQA's Habitat manager + an explore-eqa-style termination policy on top of the E9 nodeset, plus a free-text answer-emit action. Not yet shipped β and the blocker is data, not method:
- The original OpenEQA Meta-Dropbox tarballs (full-fidelity HM3D / ScanNet frames + the
statesarchive used for Habitat re-rendering) are permanently expired β verified 2026-05-04 (Link ExpiredHTML response, see the rationale comment block at the top ofscripts/data/fetch_dataset_openeqa.sh). - The HuggingFace mirror
Embodied1/open-eqais enough for EM-EQA (32 frames per episode, parquet) but does not carry the scene meshes / state artefacts an active explorer needs. - Method-side dependencies (answer-emit verb on a unified action contract β TODO #46) are real but secondary; even if those landed today, A-EQA would still be blocked until we either (a) re-render via Habitat from a fresh path-fix patch + recovered
states, or (b) find a community mirror of the original tarballs.
2.4 EXPRESS-Bench (shipped 2026-08-13)
- Files:
workspace/nodesets/env/env_express/__init__.py+ vendoredprompts/evaluation.txt - Source: EXPRESS-Bench (25.03, ICCV 2025) β exploration-aware open-vocab EQA, 2,044 questionβtrajectory pairs / 174 HM3D scenes
- 9 nodes:
reset/step_pose(free-pose teleport, geodesicpath_len) /sample_waypoint(paper RE action source) /sample_frontier(paper FBE action source, vendored upstream TSDF planner, 2026-08-14) /stop_gate+answer_router(faithful per-step early-stop loop + stop/trunc answer branch, 2026-08-14) /observe_egocentric/judge_prompt/evaluate(Ξ΄,Ο β C / C* / E_path / d_T) - Judge: benchmark-native gpt-4o-mini via built-in
llmCall(profile resolved at run time) - Doc: EXPRESS-Bench nodeset
Note on Β§2.1: env_hmeqa also serves the MT-HM3D corpus (MemoryEQA, 1,587 questions / 828 scenes) via its _DATASET_SPECS extension β dataset β split β episode_index panel cascade, steps_taken + norm_step metrics.
3. Reasoner / Method Nodesets
EQA-shaped graphs are reasoner fragments, not full agents β pure (frames, question) β (answer, score) functions. They wrap as composite graph_nodes; default to no iter_in / iter_out (per project memory eqa_reasoner_shape).
3.1 Explore-EQA (paper port)
- File:
workspace/nodesets/explore_eqa.py - Source: Explore-EQA β agent that explores HM3D scenes, scores VLM token-likelihoods over frontier choices, and decides when to answer
- Pairs with: HM-EQA env nodeset (Β§2.1) β example graph
explore_eqa_hmeqa.json - Backend lock-in (v1): Prismatic-locked.
ExploreEQANodeSet.initialize()loads Prismatic;vlm.get_loss()is called directly fromVLMScoreStep.forward()β same pattern as the retiredpolicy_cmaport. Decoupling tracked as TODO #50 - Doc: ExploreEQA nodeset
3.2 Explore-EQA TSDF utilities
- File:
workspace/nodesets/explore_eqa_tsdf.py - Source: vendored
TSDFPlanner+ geom utilities from explore-eqa, kept verbatim with minor tweaks - Why a separate file: TSDFPlanner state is what hits the pickle/JSON-IPC wall mentioned in Β§2.1 β keeping it in its own module makes the subprocess-local-globals pattern easier to reason about
3.3 OpenEQA reasoner nodes
- File: same
workspace/nodesets/env/env_openeqa_em.pyas the env (the OpenEQA nodeset bundles both env-side reset/sample/info and judge-side parse/emit). The judge LLM call itself is the framework built-inllmCallβ by design, so users can swap providers without touching this nodeset (project memory:llmCall.profile = ""so the active profile resolves at run time) - Judge model is
gpt-4ofor all variants βgpt-4-1106-previewreferenced in the paper has been retired by OpenAI (per project memoryfeedback_openeqa_reasoner_model); don't pin the older model in new graphs.
3.4 ToolEQA (redone 2026-06-08 β monolith, runs e2e)
- Status: rebuilt monolith-first after the unverified first port was removed.
tooleqa__step(backend,transformers.agentsReAct in-process) dispatches over server-mode HTTP to Qwen2.5-VL-3B (vlm_qwen2_5_vl, LLM + VQA), DetAny3D (model_detany3d, 2D/3D detect), and a new fusedtooleqa_explore__go_nextthat runs the full Explore-EQA TSDF frontier step + teleport (reusing_explore_eqa_tsdf.TSDFPlanner; the first port wrongly treatedgo_nextas discrete dead-reckoning). Graphworkspace/graphs/eqa/unverified/tooleqa_hmeqa.jsonis a Design-B loop βenv_hmeqa__stepis not a loop node (go_next steps it internally), and the step self-evaluates to graphOut. Housekeeping 2026-07-04: the monolith had been shadowed by a same-named root-level copy while the organized slot held the removed first-port remnant β root copy deleted, monolith now lives at the standard path. End-to-end smoke worked pre-refactor (ep0 β correct 'B'), but the graph currently starves at iteration 0 (iterIn loop-carry never seeded β post 2026-06-11 two-sided-iterOut semantics) and is in the unverified re-eval wave (roadmap #63, #64); SR aggregate + 3B convergence also still being tuned. Then decompose into a clean multi-node graph (voxposer monolithic β decomposed path). - Retained for the redo:
model_detany3dserver nodeset +data/detany3d/weights +ac-detany3dconda env +install_ac_detany3d.sh; thetooleqa-hmeqaeval profile; the upstream fetch stubworkspace/nodesets/_upstream/tooleqa/fetch_upstream.sh; the 2026-05-10 port plan (.claude/plan/) as porting reference. - PortBench v1 scope (unchanged): HM-EQA only β reuses the
explore_eqa_hmeqa.jsonsubstrate; OpenEQA-A-EQA (data-blocked, see Β§2.3) and EXPRESS-Bench (high integration cost) are explicitly out of scope for v1. Decision recorded in project memoryproject_tooleqa_hmeqa_only.
4. Ready-to-Run Graphs
| Graph | Env | Reasoner / shape | Verified status (HM3D, n=100, 2026-05-04) |
|---|---|---|---|
openeqa_em_blind_llm.json |
OpenEQA EM | blind-LLM (no frames) baseline | β
LLM-Match 0.4175 β run_id=10864f2c |
openeqa_em_single_frame.json |
OpenEQA EM | single-frame VLM + LLM judge | β
LLM-Match 0.330 β run_id=3aa974ba |
openeqa_em_multiframe.json |
OpenEQA EM | multi-frame VLM (K=32) + LLM judge | β
LLM-Match 0.7025 β run_id=1f2e327b |
explore_eqa_hmeqa.json |
HM-EQA | Explore-EQA (Prismatic-locked) | β verified working β author-verified 2026-06-01 |
tooleqa_hmeqa.json was redone monolith-first on 2026-06-08 and runs end-to-end again β see Β§3.4.
When forking a new EQA experiment, start from openeqa_em_multiframe.json β it's the strongest baseline and the configuration most closely matching the OpenEQA paper. For language-only (text-baseline) ablations, start from openeqa_em_blind_llm.json. The single-frame graph is an ablation slot, useful only as a sanity check that single-arbitrary-frame β blind (it does β single-frame underperforms blind, in line with paper expectations that one random frame adds noise rather than signal).
Frozen reproduction package: outputs/archive/openeqa_em_baselines_2026-05-04/ β contains the three summary.json + graph.json + log.jsonl.gz (raw VLM answers + judge "Your mark: N" text), plus a README with reproduction commands.
5. Datasets, Question Format, and Metrics
5.1 HM-EQA
- Dataset: HM3D semantic scenes; HF mirror
bingCS/hm3dβ 264/266 scenes downloaded as of 2026-04-30; 24 missing only navmesh (env auto-recomputes); 454/500 questions full-fidelity - Question format: multi-choice
- Scoring: Prismatic VLM token-likelihood over choice tokens (
vlm.get_loss)
5.2 OpenEQA EM-EQA
- Dataset: HF mirror
Embodied1/open-eqaβ 32 frames per episode in parquet form. HM3D filter: 557 questions / 63 scenes; ScanNet filter: 1079 questions (untested in our pipeline). Full benchmark in the original paper is 1636 questions. - Question format: free-form (open-ended)
- Scoring: LLM-as-judge β judge returns 1β5; the 1β5 β LLM-Match conversion is the canonical OpenEQA metric. The judge LLM is configurable via the framework's
llmCallprofile, not pinned to a specific provider - Frame size: long-side 512 px PNG base64 (matches paper
openai_utils.py:30). Configurable viasample_frames.image_size; don't disable unless you've verified your VLM provider accepts >50 MB per request.
5.3 Why two scoring paths matter architecturally
EQA is the first benchmark family in the repo that requires two distinct scoring shapes:
- Multi-choice / VLM token-likelihood (HM-EQA, Prismatic) β one library call, deterministic
- Free-form / external judge (OpenEQA, any LLM) β separate inference call, prompt-engineered
Both are wired through the same canvas pattern: env nodeset emits frames + question; reasoner emits answer + per-choice or free-text payload; a thin "scoring" subgraph emits the metric. This is what made OpenEQA E9 a useful generalisation exercise.
6. Eval Infrastructure
6.1 BatchEvalRunner + EnvWorkerPool (ADR-eval-002)
Same shared pipeline VLN and VLA use (agentcanvas/backend/app/agent_loop/eval_batch.py + env_worker_pool.py):
- One fresh
LoopRunnerper episode worker_count > 1spawns N tagged env subprocesses; per-workerenv_panel_overrides+server_url_overrides- Per-episode timeout:
max_steps Γ per_step_budget_secβ for EQA you typically want a generous budget because of judge-LLM latency
6.2 Parallelism posture (ADR-server-003)
- HM-EQA and OpenEQA env nodesets stay
parallelism="replicated"β they're stateful and thread-affine; N tagged copies underworker_count > 1 - The judge LLM uses the framework's
llmCalland inherits whatever profile / batching the runtime is configured for
6.3 Reasoner-shape consequence
Because EQA reasoners are pure (frames, question) β (answer, score) functions (no iter_in / iter_out by default β project memory eqa_reasoner_shape), they fit naturally into a per-episode one-shot evaluation rather than per-step VLN-style streaming. Plan eval graphs accordingly: one or a few reasoning steps per episode, terminating cleanly so BatchEvalRunner can advance.
7. Known Gaps
EQA-relevant items in roadmap.md:
| Item | What's missing |
|---|---|
| #17 | Find a VLN/EQA method that needs states to verify the state-container system. HM-EQA was the strong candidate; design constraint discovered: state containers need an in-subprocess addressing mode (no JSON round-trip) before they can hold things like live TSDFPlanner objects |
| #50 | Decouple VLM backend from explore-eqa β v1 ships Prismatic-locked. Triggered by either a second EQA method needing token-prob scoring or a request to run with GPT-4V / Claude / Gemini |
| E6 | HM-EQA end-to-end validation on a real episode (env + method shipped, smoke not yet recorded) |
| E10 β OpenEQA A-EQA | Blocked on data, not method. The Active-EQA mode needs the original full-fidelity scene + states artefacts; both Dropbox tarballs are permanently expired (verified 2026-05-04). HF mirror is EM-EQA-only. Method-side bits (decide-to-stop policy + answer-emit verb on TODO #46 unified action contract) are listed as secondary because data has to land first |
| OpenEQA original full-fidelity dataset (TODO) | The HF mirror Embodied1/open-eqa is what works today β 32 frames per episode in parquet form. The original Meta-released tarballs (open-eqa-hm3d-frames-v0.tgz, states-v0.tar.gz, ScanNet-frames-v0) have permanently expired Dropbox links (scripts/data/fetch_dataset_openeqa.sh documents the 2026-05-04 verification). Recovering them unlocks: (1) true K=50 multi-frame, (2) full ScanNet split (1079 questions, currently untested), (3) A-EQA active exploration. Two paths: re-render via Habitat with a community path-fix patch, or find a community mirror of the originals β currently unattempted |
| HM3D semantic data missing | data/hm3d/hm3dsem/ lacks .semantic.glb / .semantic.txt / .scn β fine for explore-eqa, gap for SpatialNav-class methods that want HM3D semantics |
| Multi-frame K=32 vs paper K=50 | Symptom of the entry above β the HF mirror caps episode length at 32 frames; multi-frame graph's K=50 is effectively K=32 |
| ScanNet portion of OpenEQA untested | Symptom of the entry above β installer has --filter scannet but our pipeline has only run the HM3D 557-question subset. The full 1636 benchmark (HM3D + ScanNet) hasn't been validated end-to-end |
No seed plumbing in llmCall |
Paper sets seed=1234 for OpenAI calls; our runs are non-deterministic. Mean LLM-Match across β₯30 episodes is the right comparison, not single-episode scores |
8. Planned Adoptions β Method & Benchmark Tracks
A frank survey of EQA papers from the last ~12 months, scored for AgentCanvas integration. Two tracks: Method (agent / reasoning approaches we'd port as graph + nodeset) and Benchmark (datasets / metrics we'd add to eval infrastructure). Citations are 2026-05-05 snapshots (Google Scholar primary, Semantic Scholar fallback; numbers <5 are noisy and labelled as such).
8.1 Track A β Method
| Tier | Paper | Year / Venue | Cites | Architecture fit | Data feasibility | Paper-strategy value | Effort | Verdict |
|---|---|---|---|---|---|---|---|---|
| 1 | ToolEQA (arXiv 2510.20310) | 2025-10 β ICLR 2026 (in review) | <5 | β β β β β tool-call agent β‘ graph-as-config | π first port removed 2026-06-08 β redo monolith-first (HM-EQA only) | paper #2 flagship case β ToolEQA in upstream is multi-thousand-line Python; in AgentCanvas it should be a few-node graph. That compression ratio is the core narrative of paper #2 | ~1 wk | β adopt next |
| 2 | GraphPad (arXiv 2506.01174) | 2025-06 / arXiv | 2 | β β β β β mutable scene-graph = state container; scratchpad = string buffer; both are stock node types | β OpenEQA spatial subset | High β pairs with ToolEQA to unify archetype 4 (scene-graph) + 5 (tool-call) under the same canvas idiom | ~1 wk | β adopt round 2 |
| 2 | GraphEQA (arXiv 2412.14480, CoRL 2025) | 2024 β CoRL 2025 | 28 | β β β Hydra 3DSG is stateful + sim-tight, hits the same JSON-IPC wall as TSDFPlanner (TODO #17) | β οΈ needs Habitat-Sim RGBD streaming + Hydra integration | Medium β paper #1 self-evolve anchor baseline; cost is real but value too | ~2-3 wk | β adopt round 3 |
| 3 | MemoryEQA (2505.13948) / Mind Palace (2507.12846) | 2025-05 / 2025-07 | <5 / 8 | β β β overlaps GraphPad / GraphEQA design space | β | Low β memory thread should land after the scene-graph thread to avoid parallel designs | β | βΈ defer |
| 3 | FAST-EQA (2602.15813) / EfficientEQA (2410.20263) | 2026-02 / 2024-10 | <5 / 11 | β β incremental over Explore-EQA | β | Low β same archetype as already-shipped Explore-EQA | β | βΈ defer |
| 3 | CityEQA (2502.12532, EMNLP 2025) | 2025-02 | 25 | β different env (city), task shape divergent | β οΈ new dataset | Low | β | β skip |
| 3 | EQA-RM (2506.10389, EMNLP 2025) | 2025-06 | 1 | β reward-model training, not an agent | β | Medium (revisit when self-evolve loop needs a learned reward) | β | βΈ defer |
| 3 | ConEQsA (2509.11663) | 2025-09 | 0 | β concurrent / async niche | β | Low | β | β skip |
8.2 Track B β Benchmark / Eval Infrastructure
| Tier | Dataset / Metric | Year / Venue | Cites | What it adds | Data feasibility | Paper-strategy value | Effort | Verdict |
|---|---|---|---|---|---|---|---|---|
| 1 | EXPRESS-Bench + EAC (arXiv 2503.11117, GitHub) | 2025-03 β ICCV 2025 | 24 | Exploration-Answer Consistency (EAC) metric β scores grounding Γ exploration alignment, fills the blind spot of LLM-Match-only eval. 2044 Q-T pairs on HM3D | β self-contained dataset; HM3D in place | Critical β paper #1's self-evolve loop uses EAC as reward signal; far more informative than LLM-Match alone | ~3 d | β adopt first |
| 2 | OpenEQA EM-EQA (already shipped) | 2024 / CVPR | 312 | Free-form QA + LLM-Match | β HF mirror | Anchor baseline | β | already shipped |
| 2 | HM-EQA (already shipped via Explore-EQA) | 2024 / R:SS | 79 | Multi-choice + active explore | β | Anchor baseline | β | already shipped |
| 3 | ExploraQA (OpenReview) | 2025-10 / OpenReview | <5 | 12,436 long-horizon open-ended questions | β οΈ venue not yet finalised | Medium β wait for ICLR 2026 decision | β | βΈ observe |
| 3 | EQARewardBench (EQA-RM bench) | 2025-06 | 1 | Reward-model evaluation | β | Low β not an agent benchmark | β | βΈ defer |
| 3 | DarkEQA | 2025-12 | <5 | Low-light robustness | β οΈ requires re-render | Low | β | β skip |
| β | SpatialVLM (page) / SpatialRGPT (NeurIPS 2024) | 2024 / CVPR / NeurIPS | 792 / 397 | Model-level spatial-reasoning VLMs | β | Switch in via llmCall profile β no integration work needed |
β | config-layer only |
8.3 Landing order
Two tracks are interleaved so the benchmark upgrade lands first; every subsequent method port consumes the new metric.
| # | Item | Track | Window | Output |
|---|---|---|---|---|
| 1 | EXPRESS-Bench dataset + EAC metric node | B | ~3 d | Eval-substrate upgrade β every downstream method port scores against EAC, not just LLM-Match |
| 2 | ToolEQA graph + tool-node set | A | ~1 wk | Paper #2 case #1 β flagship "coding-agent porting" story |
| 3 | GraphPad graph + scene-graph state container | A | ~1 wk | Paper #2 case #2 β graph-as-config isomorphism on scene-graph mutation |
| 4 | GraphEQA full port (Hydra + Habitat RGBD streaming) | A | ~2-3 wk | Paper #1 self-evolve anchor baseline |
After items 1-4 land, paper #2 has N=3+ case studies (existing OpenEQA three + ToolEQA + GraphPad), the cross-framework-porting benchmark is structurally complete; paper #1 has both an EAC reward signal and a strong scene-graph baseline to evolve against.
Part II β Field landscape
9. Landscape β representative methods & frontier
Where the supported EQA subset sits in the wider field, condensed from the research survey EQA β Methods (cite counts are that page's Semantic Scholar snapshot). Ours maps each method to our port status: β shipped Β· π in-progress Β· π Ό planned (Β§8) Β· β not ported.
9.1 Representative & most-cited
| Method | Time | Cites | Type | Ours |
|---|---|---|---|---|
| PACMAN | 17.11 Β· CVPR'18 | 753 | end-to-end LSTM (EQA seed) | β |
| IQA / HIMN | 17.12 Β· CVPR'18 | 426 | interactive VQA | β |
| OpenEQA (baselines) | 24.04 Β· CVPR'24 | 312 | FM-era EM-EQA + LLM-Match judge | β shipped (Β§1) |
| ESC | 23.01 Β· ICML'23 | 222 | zero-shot frontier exploration | β |
| NMC | 18.10 Β· CoRL'18 | 145 | hierarchical modular control | β |
| MT-EQA | 19.04 Β· CVPR'19 | 131 | multi-target modular EQA | β |
| Explore-EQA | 24.03 Β· RSS'24 | 79 | FM-era active exploration (confidence) | β shipped (Β§1) |
| K-EQA | 21.09 Β· TPAMI'23 | 45 | knowledge + 3D scene graph | β |
| GraphEQA | 24.12 Β· CoRL'25 | 28 | Hydra 3D scene-graph, real-time | π Ό planned (Β§8) |
| Fine-EQA / EXPRESS-Bench | 25.03 Β· ICCV'25 | 20 | dual-policy active EQA + EAC metric | π Ό planned (Β§8) |
9.2 Frontier (2024β2026)
| Method | Time | Cites | Type | Ours |
|---|---|---|---|---|
| Mind Palace | 25.07 Β· preprint | 11 | long-term active EQA (LA-EQA) | β |
| MemoryEQA | 25.05 Β· preprint | 9 | memory-centric EQA | β |
| CoV | 26.01 Β· preprint | 4 | chain-of-view EM-EQA reasoner | β |
| Multi-LLM EQA | 24.06 Β· preprint | 3 | multi-agent LLM EQA | β |
| GraphPad | 25.06 Β· preprint | 2 | inference-time mutable 3D scene graph | π Ό planned (Β§8) |
| ToolEQA | 25.10 Β· ICLR'26 (review) | 1 | tool-call ReAct EQA | π in-progress (Β§1) |
| FAST-EQA | 26.02 Β· WACV'26 | 0 | global + local region relevancy | β |
| DIVRR | 26.03 Β· preprint | 0 | dynamic human-in-loop view refinement | β |
| ConEQsA | 25.09 Β· preprint | 0 | concurrent / async EQ scheduling | β |
| HIMM | 26.02 Β· preprint | 0 | human-inspired long-term memory | β |
| GSMem | 26.03 Β· preprint | 0 | 3D-Gaussian-splat persistent memory | β |
Our supported set spans the field's two live archetypes: EM-EQA reasoners (OpenEQA baselines β episodic-memory VLM judging) and active exploration (Explore-EQA), with tool-call (ToolEQA) in progress and the scene-graph line (GraphEQA / GraphPad) planned (Β§8). The 2025β26 frontier is dominated by memory-centric and Gaussian-splat spatial-memory variants β none ported yet.