Skip to content

Commit 7f5e17f

Browse files
committed
refactoring and fmt
1 parent 0e7bfcb commit 7f5e17f

74 files changed

Lines changed: 3334 additions & 3972 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/app.rs

Lines changed: 55 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,16 @@ use std::f64::consts::TAU;
44
#[cfg(not(target_arch = "wasm32"))]
55
use std::path::{Path, PathBuf};
66
use std::sync::Arc;
7+
#[cfg(not(target_arch = "wasm32"))]
8+
use std::sync::atomic::{AtomicBool, Ordering};
9+
#[cfg(not(target_arch = "wasm32"))]
10+
use std::sync::mpsc::{self, Receiver, TryRecvError};
711
use std::time::Duration;
812
#[cfg(not(target_arch = "wasm32"))]
913
use std::time::Instant;
14+
#[cfg(target_arch = "wasm32")]
15+
use std::{cell::RefCell, rc::Rc};
16+
1017
#[cfg(target_arch = "wasm32")]
1118
use web_time::Instant;
1219

@@ -18,32 +25,26 @@ use egui_plot::{
1825
Points as PlotPointsItem, VLine,
1926
};
2027

21-
mod bootstrap;
22-
mod layout;
23-
mod model_catalog;
24-
mod panel_state;
25-
mod point_layers;
26-
mod state;
27-
mod status;
28-
mod style;
29-
mod types;
30-
31-
mod clipboard_import;
32-
mod diagnostics;
33-
mod file_import;
34-
mod fit_worker;
35-
mod formula;
36-
mod i18n;
37-
mod input_parse;
38-
mod normalization;
39-
mod optimizer;
40-
mod param_init;
41-
mod plot_utils;
42-
mod points_state;
43-
mod points_text;
44-
mod replay;
45-
mod result_export;
46-
mod ui;
28+
use crate::domain::{
29+
AdamConfig, CurveFamily, CurveParams, DEFAULT_SATURATING_TREND_TAUS_YEARS, FitResult,
30+
LbfgsConfig, MAX_RATIONAL_DEGREE, MAX_SATURATING_TREND_TAU_COUNT, MIN_RATIONAL_DEGREE,
31+
MIN_SATURATING_TREND_TAU_COUNT, NelderMeadConfig, NewtonCgConfig, OptimizerConfig,
32+
OptimizerMethod, Point, Points, SaturatingTrendTauGrid, SgdConfig, SteepestDescentConfig,
33+
};
34+
#[cfg(not(target_arch = "wasm32"))]
35+
use crate::fit::FitError;
36+
use crate::fit::IterationMetricSnapshot;
37+
use crate::fit::OptimizationLossMetric;
38+
use crate::fit::{
39+
DEFAULT_METRIC_QUANTIZATION_DECIMAL_PLACES, MetricQuantization,
40+
MetricQuantizationDecimalPlaces, SplineConfig, SplineDuplicateXPolicy, SplineExtrapolation,
41+
SplineFamilyKind, SplineKnotStrategy, SplineResult, build_spline_initial_curve_from_knot_y,
42+
calculate_iteration_metrics_with_quantization, calculate_metrics_with_quantization,
43+
default_spline_initial_knot_y, sample_curve,
44+
};
45+
use crate::fit::{
46+
IncrementalFitRunner, IncrementalFitStep, IncrementalSplineFitRunner, IncrementalSplineFitStep,
47+
};
4748

4849
use self::diagnostics::{IterationDiagnostics, diagnostics_plot_y_axis_width};
4950
use self::formula::model_formula_info;
@@ -92,7 +93,6 @@ use self::replay::ReplayState;
9293
#[cfg(test)]
9394
use self::replay::{ReplayFrame, ReplayFramePayload};
9495
use self::result_export::FitExportRecord;
95-
pub use self::state::CurveFitApp;
9696
#[cfg(not(target_arch = "wasm32"))]
9797
use self::state::FitWorkerMessage;
9898
use self::state::{FitRunUiSeed, ParametricIterationTraceEntry, SplineIterationTraceEntry};
@@ -106,33 +106,35 @@ use self::types::{
106106
PlotTool, SampledCurveCache, SprayBrush, UiLanguage, params_to_input_strings,
107107
tau_grid_to_input_strings,
108108
};
109-
use crate::domain::{
110-
AdamConfig, CurveFamily, CurveParams, DEFAULT_SATURATING_TREND_TAUS_YEARS, FitResult,
111-
LbfgsConfig, MAX_RATIONAL_DEGREE, MAX_SATURATING_TREND_TAU_COUNT, MIN_RATIONAL_DEGREE,
112-
MIN_SATURATING_TREND_TAU_COUNT, NelderMeadConfig, NewtonCgConfig, OptimizerConfig,
113-
OptimizerMethod, Point, Points, SaturatingTrendTauGrid, SgdConfig, SteepestDescentConfig,
114-
};
115-
#[cfg(not(target_arch = "wasm32"))]
116-
use crate::fit::FitError;
117-
use crate::fit::IterationMetricSnapshot;
118-
use crate::fit::OptimizationLossMetric;
119-
use crate::fit::{
120-
DEFAULT_METRIC_QUANTIZATION_DECIMAL_PLACES, MetricQuantization,
121-
MetricQuantizationDecimalPlaces, SplineConfig, SplineDuplicateXPolicy, SplineExtrapolation,
122-
SplineFamilyKind, SplineKnotStrategy, SplineResult, build_spline_initial_curve_from_knot_y,
123-
calculate_iteration_metrics_with_quantization, calculate_metrics_with_quantization,
124-
default_spline_initial_knot_y, sample_curve,
125-
};
126-
use crate::fit::{
127-
IncrementalFitRunner, IncrementalFitStep, IncrementalSplineFitRunner, IncrementalSplineFitStep,
128-
};
129109

130-
#[cfg(not(target_arch = "wasm32"))]
131-
use std::sync::atomic::{AtomicBool, Ordering};
132-
#[cfg(not(target_arch = "wasm32"))]
133-
use std::sync::mpsc::{self, Receiver, TryRecvError};
134-
#[cfg(target_arch = "wasm32")]
135-
use std::{cell::RefCell, rc::Rc};
110+
pub use self::state::CurveFitApp;
111+
112+
mod bootstrap;
113+
mod layout;
114+
mod model_catalog;
115+
mod panel_state;
116+
mod point_layers;
117+
mod state;
118+
mod status;
119+
mod style;
120+
mod types;
121+
122+
mod clipboard_import;
123+
mod diagnostics;
124+
mod file_import;
125+
mod fit_worker;
126+
mod formula;
127+
mod i18n;
128+
mod input_parse;
129+
mod normalization;
130+
mod optimizer;
131+
mod param_init;
132+
mod plot_utils;
133+
mod points_state;
134+
mod points_text;
135+
mod replay;
136+
mod result_export;
137+
mod ui;
136138

137139
const PARAMETRIC_PLOT_SAMPLES: usize = 200;
138140
const C1_MIN: f64 = 1e-8;

src/app/clipboard_import.rs

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -227,26 +227,6 @@ fn take_requested_paste_event(ctx: &egui::Context) -> Option<String> {
227227
})
228228
}
229229

230-
#[cfg(target_arch = "wasm32")]
231-
async fn read_text_from_web_clipboard() -> Result<String, String> {
232-
use wasm_bindgen_futures::JsFuture;
233-
234-
let window = web_clipboard_window()?;
235-
let clipboard = window.navigator().clipboard();
236-
let text = JsFuture::from(clipboard.read_text())
237-
.await
238-
.map_err(|error| {
239-
format!(
240-
"Failed to read clipboard text: {}",
241-
describe_web_clipboard_js_error(&error)
242-
)
243-
})?
244-
.as_string()
245-
.ok_or_else(|| "Clipboard did not return text content".to_string())?;
246-
247-
Ok(text)
248-
}
249-
250230
#[cfg(target_arch = "wasm32")]
251231
fn start_write_text_to_web_clipboard(text: &str) -> Result<web_sys::js_sys::Promise, String> {
252232
// Для web Clipboard API запись должна стартовать прямо в обработчике user gesture.
@@ -287,3 +267,22 @@ fn describe_web_clipboard_js_error(error: &wasm_bindgen::JsValue) -> String {
287267
(None, None) => format!("{error:?}"),
288268
}
289269
}
270+
#[cfg(target_arch = "wasm32")]
271+
async fn read_text_from_web_clipboard() -> Result<String, String> {
272+
use wasm_bindgen_futures::JsFuture;
273+
274+
let window = web_clipboard_window()?;
275+
let clipboard = window.navigator().clipboard();
276+
let text = JsFuture::from(clipboard.read_text())
277+
.await
278+
.map_err(|error| {
279+
format!(
280+
"Failed to read clipboard text: {}",
281+
describe_web_clipboard_js_error(&error)
282+
)
283+
})?
284+
.as_string()
285+
.ok_or_else(|| "Clipboard did not return text content".to_string())?;
286+
287+
Ok(text)
288+
}

0 commit comments

Comments
 (0)