Clear the clippy warnings that were failing CI before this branch
🐳 Android image / Build and push (push) Successful in 1s
Build and test / android-image (push) Successful in 1s
Build and test / Desktop (Linux) (push) Failing after 9m6s
Build and test / Layer separation (push) Successful in 26s
Traceability / Requirement traces (push) Failing after 23s
Build and test / Android (aarch64) (push) Failing after 22m38s
🐳 Android image / Build and push (push) Successful in 1s
Build and test / android-image (push) Successful in 1s
Build and test / Desktop (Linux) (push) Failing after 9m6s
Build and test / Layer separation (push) Successful in 26s
Traceability / Requirement traces (push) Failing after 23s
Build and test / Android (aarch64) (push) Failing after 22m38s
Nothing here is film simulation. These are lints that fail master today,
under the -D warnings CI runs with, mostly from a toolchain that learned
new ones rather than from anybody's code -- `is_multiple_of` and the
derivable `Default` did not exist as lints when this was written.
They are fixed rather than allowed, and by hand rather than by trusting
`cargo clippy --fix` wholesale: its automatic pass split a derive in two
and left a stray blank line, which is the sort of thing that is correct
and still wrong to commit.
The four that needed a decision rather than a rewrite:
- The distance transform's inner loop writes through its iterator now.
`q` stays, because it is the position the parabola is evaluated at as
well as the index it is written to -- the lint is about the write.
- `to_source` and `to_proto` take `self` by value. Their receiver is
`Copy`, so this is the same machine code and the honest signature.
- The export path's return type is five levels deep and now has a name,
plus a line saying why the `Option` wraps the `Result`: `None` is
cancellation, which is not a failure and has no error to report.
- A test fills a range instead of looping over one.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -56,13 +56,14 @@ const DETECTION_STRIDE: usize = 6 + PROTOTYPES;
|
||||
const PROTO_STRIDE: usize = 4;
|
||||
|
||||
/// How the image is presented to a fixed-shape graph.
|
||||
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Default)]
|
||||
pub enum Tiling {
|
||||
/// One inference over the whole frame, letterboxed into the square input.
|
||||
///
|
||||
/// The default, and the right default: a photographic subject is usually
|
||||
/// *large* in frame, which is the case whole-image inference handles best
|
||||
/// and the case tiling helps least.
|
||||
#[default]
|
||||
Whole,
|
||||
/// Cover the frame with overlapping fixed-size windows.
|
||||
///
|
||||
@@ -77,12 +78,6 @@ pub enum Tiling {
|
||||
Grid { overlap: f32 },
|
||||
}
|
||||
|
||||
impl Default for Tiling {
|
||||
fn default() -> Self {
|
||||
Self::Whole
|
||||
}
|
||||
}
|
||||
|
||||
/// How the semantic pass is tuned.
|
||||
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||
pub struct SemanticOptions {
|
||||
@@ -515,7 +510,7 @@ impl Letterbox {
|
||||
}
|
||||
|
||||
/// Input-space box back to source pixels.
|
||||
fn to_source(&self, x0: f32, y0: f32, x1: f32, y1: f32, w: &Window) -> (f32, f32, f32, f32) {
|
||||
fn to_source(self, x0: f32, y0: f32, x1: f32, y1: f32, w: &Window) -> (f32, f32, f32, f32) {
|
||||
(
|
||||
(x0 - self.pad_x) / self.scale + w.x,
|
||||
(y0 - self.pad_y) / self.scale + w.y,
|
||||
@@ -525,7 +520,7 @@ impl Letterbox {
|
||||
}
|
||||
|
||||
/// Source pixel to prototype-grid coordinates.
|
||||
fn to_proto(&self, sx: f32, sy: f32, w: &Window) -> (f32, f32) {
|
||||
fn to_proto(self, sx: f32, sy: f32, w: &Window) -> (f32, f32) {
|
||||
(
|
||||
((sx - w.x) * self.scale + self.pad_x) / PROTO_STRIDE as f32,
|
||||
((sy - w.y) * self.scale + self.pad_y) / PROTO_STRIDE as f32,
|
||||
|
||||
Reference in New Issue
Block a user