|
1 | | -@{ |
2 | | -# Script module or binary module file associated with this manifest. |
3 | | -RootModule = 'Turtle.psm1' |
4 | | -# Version number of this module. |
5 | | -ModuleVersion = '0.1' |
6 | | -# ID used to uniquely identify this module |
7 | | -GUID = '80a19066-8558-4a56-a279-88464ef47ac8' |
8 | | -# Author of this module |
9 | | -Author = 'JamesBrundage' |
10 | | -# Company or vendor of this module |
11 | | -CompanyName = 'Start-Automating' |
12 | | -# Copyright statement for this module |
13 | | -Copyright = '2025 Start-Automating' |
14 | | -# Type files (.ps1xml) to be loaded when importing this module |
15 | | -TypesToProcess = @('Turtle.types.ps1xml') |
16 | | -# Format files (.ps1xml) to be loaded when importing this module |
17 | | -# FormatsToProcess = @() |
18 | | -# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. |
19 | | -FunctionsToExport = '*' |
20 | | -# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. |
21 | | -CmdletsToExport = '*' |
22 | | -# Variables to export from this module |
23 | | -VariablesToExport = '*' |
24 | | -# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. |
25 | | -AliasesToExport = '*' |
26 | | -# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. |
27 | | -PrivateData = @{ |
28 | | - PSData = @{ |
29 | | - # Tags applied to this module. These help with module discovery in online galleries. |
30 | | - Tags = 'PowerShell', 'Turtle', 'SVG', 'Graphics', 'Drawing', 'L-System', 'Fractal' |
31 | | - # A URL to the main website for this project. |
32 | | - ProjectURI = 'https://github.com/PowerShellWeb/Turtle' |
33 | | - # A URL to the license for this module. |
34 | | - LicenseURI = 'https://github.com/PowerShellWeb/Turtle/blob/main/LICENSE' |
35 | | - } |
36 | | -} |
| 1 | +@{ |
| 2 | + # Version number of this module. |
| 3 | + ModuleVersion = '0.1' |
| 4 | + # Description of the module |
| 5 | + Description = "Turtles in a PowerShell" |
| 6 | + # Script module or binary module file associated with this manifest. |
| 7 | + RootModule = 'Turtle.psm1' |
| 8 | + # ID used to uniquely identify this module |
| 9 | + GUID = '71b29fe9-fc00-4531-82ca-db5d2630d72c' |
| 10 | + # Author of this module |
| 11 | + Author = 'James Brundage' |
| 12 | + |
| 13 | + # Company or vendor of this module |
| 14 | + CompanyName = 'Start-Automating' |
| 15 | + # Copyright statement for this module |
| 16 | + Copyright = '2025 Start-Automating' |
| 17 | + # Type files (.ps1xml) to be loaded when importing this module |
| 18 | + TypesToProcess = @('Turtle.types.ps1xml') |
| 19 | + # Format files (.ps1xml) to be loaded when importing this module |
| 20 | + # FormatsToProcess = @() |
| 21 | + # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. |
| 22 | + VariablesToExport = '*' |
| 23 | + AliasesToExport = '*' |
| 24 | + PrivateData = @{ |
| 25 | + PSData = @{ |
| 26 | + # Tags applied to this module. These help with module discovery in online galleries. |
| 27 | + Tags = 'PowerShell', 'Turtle', 'SVG', 'Graphics', 'Drawing', 'L-System', 'Fractal' |
| 28 | + # A URL to the main website for this project. |
| 29 | + ProjectURI = 'https://github.com/PowerShellWeb/Turtle' |
| 30 | + # A URL to the license for this module. |
| 31 | + LicenseURI = 'https://github.com/PowerShellWeb/Turtle/blob/main/LICENSE' |
| 32 | + ReleaseNotes = @' |
| 33 | +## Turtle 0.1: |
| 34 | +
|
| 35 | +* Initial Release |
| 36 | +* Builds a Turtle Graphics engine in PowerShell |
| 37 | +* Core commands |
| 38 | + * `Get-Turtle` (alias `turtle`) runs multiple moves |
| 39 | + * `New-Turtle` create a turtle |
| 40 | + * `Move-Turtle` performas a single move |
| 41 | + * `Set-Turtle` changes a turtle |
| 42 | + * `Save-Turtle` saves a turtle |
37 | 43 |
|
38 | | -# HelpInfo URI of this module |
39 | | -# HelpInfoURI = '' |
| 44 | +~~~PowerShell |
| 45 | +turtle Forward 10 Rotate 120 Forward 10 Roate 120 Forward 10 Rotate 120 | |
| 46 | + Set-Turtle Stroke '#4488ff' | |
| 47 | + Save-Turtle ./Triangle.svg |
| 48 | +~~~ |
| 49 | +
|
| 50 | +* Core Object |
| 51 | + * `.Heading` controls the turtle heading |
| 52 | + * `.Steps` stores a list of moves as an SVG path |
| 53 | + * `.IsPenDown` controls the pen |
| 54 | + * `.Forward()` moves forward at heading |
| 55 | + * `.Rotate()` rotates the heading |
| 56 | + * `.Square()` draws a square |
| 57 | + * `.Polygon()` draws a polygon |
| 58 | + * `.Circle()` draws a circle (or partial circle) |
| 59 | +* LSystems |
| 60 | + * Turtle can draw a L system. Several are included: |
| 61 | + * `BoxFractal` |
| 62 | + * `GosperCurve` |
| 63 | + * `HilbertCurve` |
| 64 | + * `KochCurve` |
| 65 | + * `KochIsland` |
| 66 | + * `KochSnowflake` |
| 67 | + * `MooreCurve` |
| 68 | + * `PeanoCurve` |
| 69 | + * `SierpinskiTriangle` |
| 70 | + * `SierpinskiCurve` |
| 71 | + * `SierpinskiSquareCurve` |
| 72 | + * `SierpinskiArrowheadCurve` |
| 73 | + * `TerdragonCurve` |
| 74 | + * `TwinDragonCurve` |
| 75 | + |
| 76 | +~~~PowerShell |
| 77 | +turtle SierpinskiTriangle 10 4 | |
| 78 | + Set-Turtle Stroke '#4488ff' | |
| 79 | + Save-Turtle ./SierpinskiTriangle.svg |
| 80 | +~~~ |
| 81 | +
|
| 82 | +'@ |
| 83 | + } |
| 84 | + } |
40 | 85 |
|
41 | | -# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. |
42 | | -# DefaultCommandPrefix = '' |
| 86 | + # HelpInfo URI of this module |
| 87 | + # HelpInfoURI = '' |
43 | 88 |
|
| 89 | + # Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. |
| 90 | + # DefaultCommandPrefix = '' |
44 | 91 | } |
45 | 92 |
|
0 commit comments