remove dead code and translate german comments to english

This commit is contained in:
Franz Dietrich 2026-05-21 17:35:59 +02:00
parent 96b02f61be
commit 156301f272
4 changed files with 14 additions and 63 deletions

View File

@ -12,54 +12,7 @@ use macroquad::prelude::*;
// See https://easings.net/ for visual demonstrations
use tween::CubicInOut;
/// Render the entire turtle world
pub(crate) fn render_world(world: &TurtleWorld) {
// Update camera zoom based on current screen size to prevent stretching
let camera = Camera2D {
zoom: vec2(1.0 / screen_width() * 2.0, 1.0 / screen_height() * 2.0),
target: world.camera.target,
..Default::default()
};
// Set camera
set_camera(&camera);
// Draw all accumulated commands from all turtles
for turtle in &world.turtles {
for cmd in &turtle.commands {
match cmd {
DrawCommand::Mesh { data, source: _ } => {
// Rendering wie bisher
draw_mesh(&data.to_mesh());
// Hier könnte man das source für Debug/Export loggen
}
DrawCommand::Text {
text,
position,
heading,
font_size,
color,
source: _,
} => {
draw_text_command(text, *position, *heading, *font_size, *color);
// Hier könnte man das source für Debug/Export loggen
}
}
}
}
// Draw all visible turtles
for turtle in &world.turtles {
if turtle.params.visible {
draw_turtle(&turtle.params);
}
}
// Reset to default camera
set_default_camera();
}
/// Render the turtle world with active tween visualization
/// Render the turtle world with active tween visualization.
#[allow(clippy::too_many_lines)]
pub(crate) fn render_world_with_tweens(world: &TurtleWorld, zoom_level: f32) {
// Update camera zoom based on current screen size to prevent stretching

View File

@ -1,4 +1,4 @@
//! Export-Backend-Trait und zentrale Export-Typen
//! Export backend trait and core export types.
use crate::state::TurtleWorld;
use crate::TurtlePlan;
@ -7,14 +7,14 @@ use crate::TurtlePlan;
pub enum ExportError {
Io(std::io::Error),
Format(String),
// Weitere Formate können ergänzt werden
// Additional formats can be added here.
}
#[derive(Clone, Copy, Debug)]
pub enum DrawingFormat {
#[cfg(feature = "svg")]
Svg,
// Weitere Formate wie Png, Pdf, ...
// Additional formats: Png, Pdf, …
}
pub(crate) trait DrawingExporter {

View File

@ -1,4 +1,4 @@
//! SVG-Export-Backend für TurtleWorld
//! SVG export backend for `TurtleWorld`.
#[cfg(feature = "svg")]
pub mod svg_export {
@ -42,7 +42,7 @@ pub mod svg_export {
DrawCommand::Mesh { source, .. } => {
match &source.command {
TurtleCommand::Move(_) | TurtleCommand::Goto(_) => {
// Linie als <line>
// Straight line — emit as SVG <line>
let start = source.start_position;
let end = source.end_position;
update_bounds(
@ -78,7 +78,7 @@ pub mod svg_export {
);
let center = geom.center;
if (angle.value() - 360.0).abs() < 1e-3 {
// Voller Kreis
// Full circle — emit as SVG <circle>
update_bounds(
&mut min_x,
&mut max_x,
@ -104,7 +104,7 @@ pub mod svg_export {
.set("fill", "none");
doc = doc.add(circle);
} else {
// Kreisbogen als <path>
// Partial arc — emit as SVG <path> with A command
let start = source.start_position;
let end = source.end_position;
// For arcs, include the full circle bounds to ensure complete visibility
@ -149,7 +149,7 @@ pub mod svg_export {
}
}
TurtleCommand::EndFill => {
// Fills werden als <path> mit Konturen ausgegeben
// Fill contours — emit as SVG <path> with evenodd fill rule
if let Some(contours) = &source.contours {
for contour in contours {
for point in contour {
@ -187,7 +187,7 @@ pub mod svg_export {
doc = doc.add(path);
}
} else {
// Fallback: Dummy-Polygon
// Fallback: no contour data — emit a dummy polygon
update_bounds(
&mut min_x,
&mut max_x,

View File

@ -63,7 +63,7 @@ pub(crate) mod tweening;
pub use builders::{CurvedMovement, DirectionalMovement, Turnable, TurtlePlan, WithCommands};
pub use commands::{CommandQueue, TurtleCommand};
pub use commands_channel::TurtleCommandSender;
pub use general::{Degrees, Radians, AnimationSpeed, Color, Coordinate, Length, Precision};
pub use general::{AnimationSpeed, Color, Coordinate, Degrees, Length, Precision, Radians};
pub use shapes::{ShapeType, TurtleShape};
pub mod export;
@ -96,9 +96,7 @@ pub struct TurtleApp {
}
impl TurtleApp {
/// Exportiere das aktuelle Drawing in das gewünschte Format
#[allow(unused_variables)]
/// Export the current drawing to a file in the specified format
/// Export the current drawing to a file in the specified format.
///
/// # Errors
///
@ -116,10 +114,10 @@ impl TurtleApp {
let exporter = SvgExporter;
exporter.export(&self.world, filename)
}
// Weitere Formate können hier ergänzt werden
// Additional formats can be registered here.
#[allow(unreachable_patterns)]
_ => Err(export::ExportError::Format(
"Export-Format nicht unterstützt".to_string(),
"Unsupported export format".to_string(),
)),
}
}