Uncap watershed detail in the Node binding + sync docs

`6f163fc` widened watershed_detail from u8 to u32 in the core, CLI, and
Python binding but not the Node/wasm binding, which still assigned a u8 to
config.watershed_detail — a wasm build error (E0308). Widen the Node
Options field to u32 and refresh every "0..=255" watershed doc (CLI help,
Config field, .pyi, index.d.ts, and all three READMEs) to reflect that the
level is now uncapped (default 128; higher = more regions).
This commit is contained in:
Chris Tsang
2026-08-08 21:50:55 +01:00
parent 0d77ecf6f9
commit 74da0efb84
7 changed files with 11 additions and 9 deletions
+1 -1
View File
@@ -120,7 +120,7 @@ struct Args {
#[arg(long)]
adaptive_t: Option<f64>,
/// Watershed clustering: hierarchy cut level (0..=255, higher = more regions).
/// Watershed clustering: hierarchy cut level (default 128; higher = more regions, uncapped).
#[arg(long, value_parser = clap::value_parser!(u32))]
watershed_detail: Option<u32>,
}
+1 -1
View File
@@ -88,7 +88,7 @@ properties, plus the presets `Config.bw()`, `Config.poster()`, `Config.photo()`:
| `adaptive` | `False` | bw: BradleyRoth adaptive thresholding |
| `adaptive_window` | `0` | bw adaptive: window px (`0` = auto) |
| `adaptive_t` | `15.0` | bw adaptive: % below local mean |
| `watershed_detail` | `128` | watershed: hierarchy cut level 0..=255 |
| `watershed_detail` | `128` | watershed: hierarchy cut level (higher = more regions, uncapped) |
Each `Config` has `convert_file(input, output)`, `convert_bytes(data, format=None) -> str`,
and `convert_pixels(rgba, width, height) -> str`.
+1 -1
View File
@@ -27,7 +27,7 @@ class Config:
adaptive: bool = False, # bw: BradleyRoth adaptive
adaptive_window: int = 0, # bw adaptive: window px (0 = auto)
adaptive_t: float = 15.0, # bw adaptive: % below local mean
watershed_detail: int = 128, # watershed: cut level 0..=255
watershed_detail: int = 128, # watershed: cut level (higher = more regions, uncapped)
) -> None: ...
@staticmethod
+3 -2
View File
@@ -131,8 +131,9 @@ pub struct Config {
pub binary_adaptive_window: u32,
/// Adaptive sensitivity `t`: percent below the local mean (default 15).
pub binary_adaptive_t: f64,
/// Watershed clustering: where to cut the hierarchy (0..=255). Higher
/// keeps more regions; 0 collapses the image to a single region.
/// Watershed clustering: where to cut the hierarchy. Higher keeps more
/// regions (each +25.5 roughly doubles the region count); 0 collapses the
/// image to a single region. Uncapped.
pub watershed_detail: u32,
}
+1 -1
View File
@@ -74,7 +74,7 @@ for the seam-free mosaic), `mode` (`"pixel" | "polygon" | "spline"`),
simplification tolerance in px, try 12.5), `pathPrecision`, `palette` (list of
`#rrggbb`), `maxColors`, `optimize` (`0 | 1 | 2`), `binaryThreshold` /
`adaptive` / `adaptiveWindow` / `adaptiveT` (binary mode), `watershedDetail`
(0..=255).
(default 128; higher = more regions, uncapped).
## Build from source
+1 -1
View File
@@ -30,7 +30,7 @@ export interface Options {
adaptiveWindow?: number;
/** Adaptive sensitivity: percent below the local mean (default 15). */
adaptiveT?: number;
/** Watershed clustering: hierarchy cut level 0..=255 (higher = more regions, default 128). */
/** Watershed clustering: hierarchy cut level (default 128; higher = more regions, uncapped). */
watershedDetail?: number;
}
+3 -2
View File
@@ -40,8 +40,9 @@ struct Options {
adaptive_window: Option<u32>,
/// Adaptive sensitivity: percent below the local mean (default 15).
adaptive_t: Option<f64>,
/// Watershed clustering: hierarchy cut level (0..=255).
watershed_detail: Option<u8>,
/// Watershed clustering: hierarchy cut level (default 128; higher = more
/// regions, uncapped).
watershed_detail: Option<u32>,
/// One of "bw" | "poster" | "photo"; applied before the other fields.
preset: Option<String>,
}