Skip to content

Commit c249fd2

Browse files
committed
Prepare release-ready Mini Viewer with DINOv2 feature querying
1 parent a4a713f commit c249fd2

22 files changed

Lines changed: 1182 additions & 429 deletions

.gitattributes

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
* text=auto eol=lf
2+
3+
*.py text eol=lf
4+
*.sh text eol=lf
5+
*.md text eol=lf
6+
*.toml text eol=lf
7+
*.yml text eol=lf
8+
*.yaml text eol=lf
9+
*.txt text eol=lf
10+
11+
*.png binary
12+
*.jpg binary
13+
*.jpeg binary
14+
*.webp binary
15+
*.mp4 binary
16+
*.ply binary
17+
*.npy binary
18+
*.npz binary
19+
*.pth binary
20+
*.pt binary

.github/workflows/ci.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: ci
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
static-release-checks:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- uses: actions/setup-python@v5
13+
with:
14+
python-version: "3.10"
15+
- name: Install lightweight dev tools
16+
run: |
17+
python -m pip install --upgrade pip
18+
python -m pip install tomli pyyaml ruff pytest
19+
- name: Validate release metadata and syntax
20+
run: |
21+
python scripts/validate_release.py
22+
- name: Ruff syntax-focused check
23+
run: |
24+
ruff check . --select E9,F63,F7,F82
25+
- name: Static tests
26+
run: |
27+
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 pytest -q

.gitignore

Lines changed: 46 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,52 @@
1+
# Python
2+
__pycache__/
3+
*/__pycache__/
4+
*.py[cod]
5+
*$py.class
6+
.pytest_cache/
7+
.ruff_cache/
8+
.mypy_cache/
9+
.ipynb_checkpoints/
10+
11+
# Local environments
12+
.venv/
13+
venv/
14+
.env
15+
.env.*
16+
17+
# Mini Viewer runtime outputs
18+
.tmp/
19+
outputs/
120
output_logs/
2-
*.pth
3-
*.ply
4-
*.error
21+
snapshot*.png
522
*.log
6-
checkpoints/
23+
*.error
724

8-
__pycache__/
9-
*/__pycache__/
10-
*.pyc
11-
teaser/
12-
datastats/
13-
results/
25+
# Large local data/artifacts
26+
checkpoints/
1427
data/
28+
results/
1529
figs/
16-
figs/*
30+
teaser/
31+
datastats/
32+
*.ply
1733
*.npy
18-
.tmp/
19-
data/
20-
data/*
34+
*.npz
35+
*.pth
36+
*.pt
37+
*.mp4
38+
39+
# Patch/apply backups
40+
.mini_viewer_*_backup_*/
41+
mini_viewer_patch/
42+
mini_viewer_runtime_hotfix_*/
43+
mini_viewer_clean_runtime_*/
44+
mini_viewer_project_cleanup_*/
45+
mini_viewer_metadata_cleanup_*/
46+
mini_viewer_unified_project_files_*/
47+
mini_viewer_release_*/
48+
49+
# OS/editor
50+
.DS_Store
51+
.vscode/
52+
.idea/

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Changelog
2+
3+
## 0.3.0 - 2026-04-24
4+
5+
### Added
6+
7+
- DINOv2 aligned-feature support via `--feature-type dinov2` / `--feature-type dino`.
8+
- `--dino-feature` alias for visual feature tensors.
9+
- `--query-image` for DINOv2 image-prompt querying.
10+
- `--dino-model`, defaulting to `facebook/dinov2-base`.
11+
- `scripts/download_dino.py` for offline/cache preparation.
12+
- Generic `--feature-file` option that works for SigLIP2, CLIP, DINOv2, and custom features.
13+
- Release-ready static validation, CI, changelog, release checklist, `.gitattributes`, and normalized `.gitignore`.
14+
15+
### Changed
16+
17+
- Reframed the GUI folder as **Feature Query** because it now supports text, image, and vector queries.
18+
- Query encoders are lazy-loaded only when a model-backed query is used.
19+
- Feature loader now recognizes DINO/DINOv2/visual feature keys in `.npz`, `.pt`, and `.pth` files.
20+
- Consolidated CPU/CUDA/hotfix behavior into normal source files.
21+
22+
### Notes
23+
24+
- DINOv2 is visual-only. Use an image path or `--query-feature`; it does not encode text prompts.
25+
- Add an explicit `LICENSE` before publishing a public GitHub release.
26+
27+
## 0.2.0 - 2026-04-24
28+
29+
### Added
30+
31+
- Unified CUDA/CPU environment via `env.yml` and `requirements.txt`.
32+
- CPU render fallback controls for interactive rerendering.
33+
- SigLIP2 default query encoder: `google/siglip2-so400m-patch16-512`.
34+
- Feature-map visualization, query recoloring, queried-feature bbox export.
35+
- Camera keyframe placement, Nerfstudio-style camera-path JSON export, and video rendering.

0 commit comments

Comments
 (0)