Let the fill show the model an open void: mirror depth 0 means no ring and nothing known beyond the band

This commit is contained in:
2026-09-20 10:56:38 +02:00
parent 3de109fbd1
commit b1c99b5796
8 changed files with 155 additions and 31 deletions
+5 -1
View File
@@ -181,7 +181,11 @@ impl FillSettings {
params: dr_pano::FillParams {
coarse: self.params.coarse,
band: px(self.params.band).max(8),
mirror_depth: px(self.params.mirror_depth),
mirror_depth: if self.params.mirror_depth == 0 {
0
} else {
px(self.params.mirror_depth)
},
feather: if self.params.feather == 0 {
0
} else {
+1 -1
View File
@@ -339,7 +339,7 @@ pub fn wire<S, C, F>(
"erosion" => f.erosion = v,
"coarse" => f.params.coarse = v.max(1),
"band" => f.params.band = v.max(8),
"mirror" => f.params.mirror_depth = v.max(1),
"mirror" => f.params.mirror_depth = v,
"feather" => f.params.feather = v,
_ => return,
}
+10 -10
View File
@@ -63,9 +63,9 @@ export component MergePage inherits Rectangle {
/// seam. Working pixels, at the merge's working scale.
in property <float> fill-scale: 2;
in property <float> fill-erosion: 4;
in property <float> fill-coarse: 4;
in property <float> fill-band: 96;
in property <float> fill-mirror: 48;
in property <float> fill-coarse: 1;
in property <float> fill-band: 192;
in property <float> fill-mirror: 0;
in property <float> fill-feather: 48;
/// The composite, once written: its name for the status line, and
@@ -240,26 +240,26 @@ export component MergePage inherits Rectangle {
SliderRow {
label: "Coarse pass";
hint: "reduction of the structure pass; 1 skips it";
value: root.fill-coarse; default-value: 4; minimum: 1; maximum: 8;
value: root.fill-coarse; default-value: 1; minimum: 1; maximum: 8;
enabled: !root.running && !root.done;
changed(v) => { root.fill-knob("coarse", v); }
reset => { root.fill-knob("coarse", 4); }
reset => { root.fill-knob("coarse", 1); }
}
SliderRow {
label: "Band width";
hint: "the fine passes' bands from the edge outward, working pixels";
value: root.fill-band; default-value: 96; minimum: 16; maximum: 384;
value: root.fill-band; default-value: 192; minimum: 16; maximum: 384;
enabled: !root.running && !root.done;
changed(v) => { root.fill-knob("band", v); }
reset => { root.fill-knob("band", 96); }
reset => { root.fill-knob("band", 192); }
}
SliderRow {
label: "Mirror depth";
hint: "how far into the picture the mirrored context reaches";
value: root.fill-mirror; default-value: 48; minimum: 4; maximum: 512;
hint: "0: the void as it is, what the model was trained on; otherwise how far into the picture a mirrored context reaches";
value: root.fill-mirror; default-value: 0; minimum: 0; maximum: 512;
enabled: !root.running && !root.done;
changed(v) => { root.fill-knob("mirror", v); }
reset => { root.fill-knob("mirror", 48); }
reset => { root.fill-knob("mirror", 0); }
}
SliderRow {
label: "Seam feather";