#!/usr/bin/env bash set -euo pipefail REPO=${REPO:-/mnt/zsn/zsn_workspace/3DEditFormer} BENCH=${BENCH:-/mnt/zsn/zsn_workspace/VoxHammer/Edit3D-Bench} GT=${GT:-$BENCH/data} WORK=${WORK:-$REPO/work_dirs/edit3d_bench} PRE=${PRE:-$WORK/trellis_preprocess} PRED=${PRED:-$WORK/pred_results} LOGS=${LOGS:-$WORK/logs} PY=${PY:-/mnt/zsn/miniconda3/envs/vinedresser3d/bin/python} BLENDER=${BLENDER:-/opt/blender-4.2.19-linux-x64/blender} TRELLIS=${TRELLIS:-/mnt/zsn/ckpts/TRELLIS-image-large} NUM_VIEWS=${NUM_VIEWS:-16} RESOLUTION=${RESOLUTION:-256} ENGINE=${ENGINE:-CYCLES} CUDA_DEVICE=${CUDA_DEVICE:-0} mkdir -p "$PRE" "$PRED" "$LOGS" cd "$REPO" echo "[1/7] Prepare renders and voxels: views=$NUM_VIEWS resolution=$RESOLUTION engine=$ENGINE" "$PY" scripts/edit3d_bench_prepare_latent_inputs.py \ --bench_data_root "$GT" \ --output_dir "$PRE" \ --blender_path "$BLENDER" \ --num_views "$NUM_VIEWS" \ --resolution "$RESOLUTION" \ --engine "$ENGINE" \ --max_workers 1 echo "[2/7] Refresh metadata" "$PY" scripts/edit3d_bench_refresh_metadata_status.py --output_dir "$PRE" echo "[3/7] Extract DINO features" CUDA_VISIBLE_DEVICES="$CUDA_DEVICE" "$PY" dataset_toolkits/extract_feature.py \ --output_dir "$PRE" \ --model dinov2_vitl14_reg \ --rank 0 \ --world_size 1 echo "[4/7] Refresh metadata" "$PY" scripts/edit3d_bench_refresh_metadata_status.py --output_dir "$PRE" echo "[5/7] Encode sparse-structure latents" CUDA_VISIBLE_DEVICES="$CUDA_DEVICE" "$PY" dataset_toolkits/encode_ss_latent.py \ --output_dir "$PRE" \ --enc_pretrained "$TRELLIS/ckpts/ss_enc_conv3d_16l8_fp16" \ --rank 0 \ --world_size 1 echo "[6/7] Refresh metadata" "$PY" scripts/edit3d_bench_refresh_metadata_status.py --output_dir "$PRE" echo "[7/7] Encode SLAT latents" CUDA_VISIBLE_DEVICES="$CUDA_DEVICE" "$PY" dataset_toolkits/encode_latent.py \ --output_dir "$PRE" \ --feat_model dinov2_vitl14_reg \ --enc_pretrained "$TRELLIS/ckpts/slat_enc_swin8_B_64l8_fp16" \ --rank 0 \ --world_size 1 "$PY" scripts/edit3d_bench_refresh_metadata_status.py --output_dir "$PRE" echo "Done. Latents are under $PRE"