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)] #[arg(long)]
adaptive_t: Option<f64>, 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))] #[arg(long, value_parser = clap::value_parser!(u32))]
watershed_detail: Option<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` | `False` | bw: BradleyRoth adaptive thresholding |
| `adaptive_window` | `0` | bw adaptive: window px (`0` = auto) | | `adaptive_window` | `0` | bw adaptive: window px (`0` = auto) |
| `adaptive_t` | `15.0` | bw adaptive: % below local mean | | `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`, Each `Config` has `convert_file(input, output)`, `convert_bytes(data, format=None) -> str`,
and `convert_pixels(rgba, width, height) -> 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: bool = False, # bw: BradleyRoth adaptive
adaptive_window: int = 0, # bw adaptive: window px (0 = auto) adaptive_window: int = 0, # bw adaptive: window px (0 = auto)
adaptive_t: float = 15.0, # bw adaptive: % below local mean 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: ... ) -> None: ...
@staticmethod @staticmethod
+3 -2
View File
@@ -131,8 +131,9 @@ pub struct Config {
pub binary_adaptive_window: u32, pub binary_adaptive_window: u32,
/// Adaptive sensitivity `t`: percent below the local mean (default 15). /// Adaptive sensitivity `t`: percent below the local mean (default 15).
pub binary_adaptive_t: f64, pub binary_adaptive_t: f64,
/// Watershed clustering: where to cut the hierarchy (0..=255). Higher /// Watershed clustering: where to cut the hierarchy. Higher keeps more
/// keeps more regions; 0 collapses the image to a single region. /// regions (each +25.5 roughly doubles the region count); 0 collapses the
/// image to a single region. Uncapped.
pub watershed_detail: u32, 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 simplification tolerance in px, try 12.5), `pathPrecision`, `palette` (list of
`#rrggbb`), `maxColors`, `optimize` (`0 | 1 | 2`), `binaryThreshold` / `#rrggbb`), `maxColors`, `optimize` (`0 | 1 | 2`), `binaryThreshold` /
`adaptive` / `adaptiveWindow` / `adaptiveT` (binary mode), `watershedDetail` `adaptive` / `adaptiveWindow` / `adaptiveT` (binary mode), `watershedDetail`
(0..=255). (default 128; higher = more regions, uncapped).
## Build from source ## Build from source
+1 -1
View File
@@ -30,7 +30,7 @@ export interface Options {
adaptiveWindow?: number; adaptiveWindow?: number;
/** Adaptive sensitivity: percent below the local mean (default 15). */ /** Adaptive sensitivity: percent below the local mean (default 15). */
adaptiveT?: number; 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; watershedDetail?: number;
} }
+3 -2
View File
@@ -40,8 +40,9 @@ struct Options {
adaptive_window: Option<u32>, adaptive_window: Option<u32>,
/// Adaptive sensitivity: percent below the local mean (default 15). /// Adaptive sensitivity: percent below the local mean (default 15).
adaptive_t: Option<f64>, adaptive_t: Option<f64>,
/// Watershed clustering: hierarchy cut level (0..=255). /// Watershed clustering: hierarchy cut level (default 128; higher = more
watershed_detail: Option<u8>, /// regions, uncapped).
watershed_detail: Option<u32>,
/// One of "bw" | "poster" | "photo"; applied before the other fields. /// One of "bw" | "poster" | "photo"; applied before the other fields.
preset: Option<String>, preset: Option<String>,
} }