Skip to content

Repository files navigation

SceneRepair_v2

Constraint-guided, set-valued terminal repair for generated 3D indoor scenes.

SceneRepair_v2 combines stage-specific neural proposal models, deterministic fallbacks, hard geometric verification, and transactionally isolated execution. It repairs terminal scene states while preserving a strict fail-closed boundary: an invalid candidate is rejected and rolled back rather than committed.

Research status: this repository is a research prototype. The current SceneExpert integration runs in read-only Shadow mode and Active scene mutation remains disabled. See Current status for the latest evidence and blockers.

SceneRepair ideal repair showcase

The screenshot is a deterministic expected-output showcase. It demonstrates the intended five-stage interaction and is not presented as a measured SceneExpert result. Measured results are reported separately below.

Overview

SceneRepair operates after scene generation. It inspects the current scene, routes each stage to KEEP, bounded local repair, or ESCALATE, generates a set of candidate repairs, executes each candidate in isolation, and accepts only states that pass the release verifier and stage policy.

Stage Repair scope Current implementation
Floor Plan House topology and room routing FloorPlanRouter; routes to keep or regeneration without mutating topology in-process
Furniture Object identity and bounded x/y/yaw edits FurnitureRepairModel plus verifier-guided local search
Wall Wall-mounted object placement Independent SurfaceCandidateRanker
Ceiling Ceiling-mounted object placement Independent SurfaceCandidateRanker
Manipuland Support-local placement of small objects ManipulandCandidateRanker with deterministic fallback
flowchart LR
    A[Scene state and task] --> B[Typed scene graph]
    B --> C[Stage router]
    C --> D[Neural candidate set]
    C --> E[Deterministic fallback]
    D --> F[Transactional executor]
    E --> F
    F --> G[Release verifier]
    G -->|valid| H[Stage policy and selection]
    G -->|invalid| I[Exact rollback]
    H --> J[KEEP or bounded repair]
    I --> K[Next candidate or ESCALATE]
Loading

Key design properties:

  • Set-valued supervision: multiple verifier-valid repair strategies can be correct; training and evaluation do not force one arbitrary target.
  • Verifier-owned acceptance: model scores never bypass identity checks, action budgets, hard constraints, robustness checks, or rollback.
  • Stage isolation: checkpoint families and feature schemas are stage-specific; cross-stage loading and mismatched runtime contracts are rejected.
  • Evidence provenance: datasets, checkpoints, calibration files, Shadow reports, and source states are bound by versioned schemas and hashes.
  • Fail-closed data gates: missing source coverage or provenance stops dataset materialization instead of silently fabricating supervision.
Furniture checkpoint computation graph

FurnitureRepairModel actual checkpoint computation graph

The diagram shows the branches actually consumed by the current Shadow checkpoint. Verifier-guided search, candidate execution, rule fallbacks, and physical validation are deliberately outside the neural network.

Current Research Status

The latest frozen research snapshot is dated 2026-07-26. The compact HSSD82 Furniture test split passes its offline gates, but this does not establish real-domain readiness.

Frozen Furniture offline test

Metric Result
Route accuracy 1.0000
Target-set F1 / exact-set accuracy 1.0000 / 1.0000
Translation error 0.1330 m
Hard-valid calibration error 0.0686
OOD AUROC / F1 1.0000 / 1.0000

Read-only SceneExpert Shadow evidence

Component Frozen evidence Readiness
Semantic join 79/79 HSSD instances resolved exactly shadow_join_ready
Floor Plan 24/24 controlled routes correct route_only_shadow_ready
Furniture Real held-out raw-neural route 1/2; hard-valid controlled repair 0/1 not_ready
Wall Neural top-1 4/4; hybrid 4/4 bbox_shadow_neural_plus_verifier
Ceiling Neural top-1 7/7; hybrid 7/7 bbox_shadow_neural_plus_verifier
Manipuland Neural 6/7; hybrid 7/7 bbox_shadow_rule_fallback_required

For Furniture, the deterministic fallback repaired 1/1 controlled held-out fault and the guarded system routed 2/2 states correctly, while the raw neural model did not pass. Therefore guarded_system_pass=true and raw_neural_model_pass=false are intentionally reported as separate claims.

The next data release is gated on independent real SceneExpert sources across four room types, three splits, and native KEEP/ESCALATE routes. Collection, provenance binding, and V6 materialization tooling are implemented; the V6 corpus must pass the full 24-cell source audit before training begins. Details:

Quick Start

Requirements

  • Python 3.11
  • PyTorch 2.5
  • Windows, Linux, or macOS for CPU development
  • CUDA-capable hardware only for model training and GPU evaluation

Create an environment and install the package in editable mode:

git clone https://github.com/Hex671/SceneRepair_v2.git
cd SceneRepair_v2
python -m venv .venv
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"

Activate .venv using the command for your shell, then run the tests:

python -m pytest -q

Browser demo

Start the deterministic five-stage showcase without loading live checkpoints:

python -m scene_repair.demo --no-live

Open http://127.0.0.1:8791/. Select the living room, studio, or bedroom scenario and run the complete repair sequence. Add ?autorun=1 to the URL to start automatically.

Windows users can also run:

.\start_demo.ps1

Command-line interface

List the available data, training, evaluation, calibration, and Shadow commands:

scene-repair-v2 --help

A minimal synthetic workflow is:

scene-repair-v2 build-synthetic-episodes artifacts/example_episodes \
  --scenes 20 --corruptions-per-scene 4

scene-repair-v2 train-episodes \
  artifacts/example_episodes/repair_episode_manifest.jsonl \
  artifacts/example_model.pt --epochs 2 --device cpu

scene-repair-v2 evaluate-episodes \
  artifacts/example_episodes/repair_episode_manifest.jsonl \
  artifacts/example_model.pt --split test --device cpu

Use small synthetic runs only to validate the software path. They do not replace the frozen HSSD/SceneSmith datasets, calibration, or independent Shadow evidence.

Data and Artifacts

Raw ProcTHOR, HSSD, and SceneSmith assets are not redistributed by this repository. Large databases, model checkpoints, generated states, and logs are also excluded from Git. The repository tracks source code, versioned configuration, tests, compact frozen reports, hashes, and selected visual summaries.

See artifacts/README.md for the artifact policy and data/README.md for local data layout. Most commands accept explicit paths, so no contributor-specific server directory is required.

Repository Layout

Path Purpose
scene_repair/ Models, graph construction, repair engine, verifiers, datasets, evaluation, and demo server
configs/ Versioned data, training, runtime, and release configurations
tools/ Reproducible builders, audits, evaluators, collection runners, and visualization utilities
tests/ Unit, contract, integration, transaction, and regression tests
docs/ Design notes, data contracts, deployment guides, and experiment reports
current_work/ Current status, decisions, update log, and ordered next steps
artifacts/ Small frozen reports and selected visual evidence; large outputs stay local

Documentation

Start with these documents:

Interactive local visualizations are available in docs/visualizations/network_architecture.html and docs/visualizations/training_data_explorer.html.

Safety and Claim Boundaries

  • Active mutation is disabled by default and is not certified by the current evidence.
  • A bbox/relation verifier result is not a mesh, MuJoCo, Drake, or real-world physics result.
  • Controlled corruptions and repeated runs are reported separately from independent natural failures.
  • Guarded-system performance is never presented as raw-neural performance.
  • Historical Critic scores are baselines, not post-repair scores; a new live Critic session is required for causal comparison.
  • Unknown evidence remains unknown. Candidate-search failure is not relabeled as proof that a scene is unrepairable.

License

This repository does not currently publish an open-source license. Source availability does not imply permission to reuse or redistribute the code or artifacts. Contact the repository owner before external reuse.

About

Constraint-guided, set-valued terminal 3D scene repair research system

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages