40 Commits

Author SHA1 Message Date
c96d66247e add tracing logging 2025-10-12 13:22:21 +02:00
62e87edd4d improve duration calculation for go_to and arc_drawing 2025-10-12 12:55:21 +02:00
164be647b2 add deprecation readme 2025-10-12 12:40:40 +02:00
00b9007f00 Implement tessellation for turtle graphics with fill support
- Added tessellation module to handle path tessellation using Lyon.
- Updated execution logic to record fill vertices and manage fill contours.
- Integrated tessellation into command execution for lines, arcs, and filled shapes.
- Enhanced TurtleState to track fill state and contours.
- Modified TweenController to handle fill commands and update drawing commands accordingly.
- Improved debug output for fill operations and tessellation processes.
2025-10-12 12:34:20 +02:00
c3f5136359 normalizing angles to prevent drift
also move the at least one frame check to the AnimationSpeed creation.
2025-10-10 09:26:18 +02:00
5799d2aa07 improve speed to have one single point of truth. 2025-10-09 15:54:53 +02:00
cebad0459c unify Left and Right to turn and forward backward to move 2025-10-09 13:35:10 +02:00
7da0dcf141 refactor for simpler circle command and removed duplicated code 2025-10-09 13:23:52 +02:00
25753b47ce Initial macroquad version for compiletime reasons
```rust
// Movement
plan.forward(100);
plan.backward(50);

// Rotation
plan.left(90);    // degrees
plan.right(45);

// Circular arcs
plan.circle_left(50.0, 180.0, 36);   // radius, angle (degrees), segments
plan.circle_right(50.0, 180.0, 36);  // draws arc to the right

// Pen control
plan.pen_up();
plan.pen_down();

// Appearance
plan.set_color(RED);
plan.set_pen_width(5.0);
plan.hide();
plan.show();

// Turtle shape
plan.shape(ShapeType::Triangle);
plan.shape(ShapeType::Turtle);    // Default classic turtle shape
plan.shape(ShapeType::Circle);
plan.shape(ShapeType::Square);
plan.shape(ShapeType::Arrow);

// Custom shape
let custom = TurtleShape::new(
    vec![vec2(10.0, 0.0), vec2(-5.0, 5.0), vec2(-5.0, -5.0)],
    true  // filled
);
plan.set_shape(custom);

// Chaining
plan.forward(100).right(90).forward(50);
```
2025-10-09 09:12:16 +02:00
9ab58e39e7 updating the examples 2025-10-01 17:12:45 +02:00
8a56176ceb first port to modern bevy 2025-10-01 17:10:27 +02:00
da7b9493ec Merge remote-tracking branch 'sub/main' 2023-01-25 12:05:51 +01:00
eef4591815 deleting turtle_lib submodule 2023-01-25 12:05:32 +01:00
f1591bc9f1 Moved files 2023-01-25 12:03:07 +01:00
15310f5184 moving files 2023-01-25 12:00:17 +01:00
d0e47b5b85 update the dependencies + new examples
`nikolaus` is AI generated an just wrong.

`interrupted_lines` does not work as expected
2023-01-25 12:00:09 +01:00
85f32250b1 updated examples for simpler interface 2023-01-25 11:58:48 +01:00
8686c81c00 update to updated movement commands 2023-01-25 11:58:48 +01:00
5df6f74071 Adding a koch curve example 2023-01-25 11:58:48 +01:00
e997cbae38 Use the new builder instead and draw complexer forms 2023-01-25 11:58:48 +01:00
5f47726943 Initial sample binary 2023-01-25 11:58:13 +01:00
9af343b543 remove example submodule 2023-01-25 11:48:48 +01:00
4746802f49 update to newer versions 2023-01-11 10:25:21 +01:00
8c5c9b4ec6 Upgrade inspector-egui and add first pen_up
Unfortunately `pen_up` does not seem to work even though it compiles
2023-01-11 10:20:15 +01:00
c329e30ec8 simpler api, circles and examples 2022-12-21 11:08:35 +01:00
75771e8556 Add circle drawing 2022-12-21 11:07:02 +01:00
ccdf5f209f updated movement commands 2022-12-19 09:44:25 +01:00
043e44b7f2 make the movement commands accept anything into the unit 2022-12-19 09:43:38 +01:00
8375fcfcae Adding a koch example and extend the turtle by:
* set_speed
  * extend_plan
2022-12-13 11:33:04 +01:00
7bdc83c760 adding extend_plan and set_speed 2022-12-13 11:31:29 +01:00
f82f17416f update lib and example for the lib 2022-12-07 13:57:23 +01:00
f5aae7efe1 Add a builder for the turtle plans 2022-12-07 13:54:15 +01:00
11b9539800 enable basic left and right rotation 2022-12-07 13:52:28 +01:00
009f896e08 Add impl From<i16> for angle and length 2022-12-07 13:51:08 +01:00
e0926a00f7 Add Debug to a lot of structs 2022-12-07 13:50:21 +01:00
08d4e67328 Add a license file 2022-12-06 14:23:08 +01:00
99dcc47c89 Adding submodules 2022-12-06 14:16:59 +01:00
d043b7c7c3 Initial turtle project 2022-12-06 14:09:24 +01:00
fac9d218ad Initial turtle-lib commit
Working so far:
  * display a window
  * display a turtle
  * go forward
2022-12-06 14:04:44 +01:00
fc18a0dbb4 Initial commit 2022-12-06 13:54:37 +01:00