# Improving the guide

**URL:** <https://openrndr.discourse.group/t/improving-the-guide/555>\
**Category:** OPENRNDR\
**Created:** [April 28, 2023, 6:48pm UTC](https://openrndr.discourse.group/t/improving-the-guide/555 "2023-04-28T18:48:02Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [April 28, 2023, 6:48pm UTC](https://openrndr.discourse.group/t/improving-the-guide/555/1 "2023-04-28T18:48:02Z")

</div>

Hi! I am making changes to the guide based on this [table of contents](https://github.com/openrndr/openrndr-guide/wiki).

I wrote a first draft about [Gradle](https://github.com/openrndr/openrndr-guide/commit/4a1a6682a563eaebe4b65dceab85c450fa84d05e):

If you want to get involved, you are very welcome! It can be by proof reading, giving feedback or ideas, requesting or writing sections, clicking the heart button…

🙂

---

<div class="post-metadata">

**Author:** ![Yvee1](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/yvee1/32/230_2.png) [@Yvee1](https://openrndr.discourse.group/u/Yvee1)\
**Post date:** [April 30, 2023, 11:10am UTC](https://openrndr.discourse.group/t/improving-the-guide/555/2 "2023-04-30T11:10:18Z")

</div>

I’m doing some proof reading!

---

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [May 2, 2023, 4:42pm UTC](https://openrndr.discourse.group/t/improving-the-guide/555/3 "2023-05-02T16:42:49Z")

</div>

So a first version of the page about Gradle is public:

> **[What is Gradle?](https://guide.openrndr.org/kotlinLanguageAndTools/gradle.html)**
>
> Guide for OPENRNDR

If you are still learning and wondering what Gradle is, does that page help answer that question? Do you have more questions we could try to answer?

If you already know Gradle, did I write something totally incorrect? 🙂

To me the text doesn’t flow that smoothly, it feels a bit robotic 🤖 (my girlfriend sometimes suspects I am one). Maybe that’s why I write code instead of novels? XD So… any poets out there? 🙂

---

<div class="post-metadata">

**Author:** ![bluehut](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/bluehut/32/675_2.png) [@bluehut](https://openrndr.discourse.group/u/bluehut)\
**Post date:** [May 2, 2023, 5:53pm UTC](https://openrndr.discourse.group/t/improving-the-guide/555/4 "2023-05-02T17:53:24Z")

</div>

Reads well to me.

However, if you are looking for something more poetic here’s a ChatGPT take. Apologies ☹

> Build tools may seem quite mundane,  
> But they’re essential in many a lane.  
> For OPENRNDR to shine and bloom,  
> Gradle is needed to clear the gloom.

> Managing dependencies with ease,  
> Compiling code, if you please,  
> Automating tests and deployment too,  
> Gradle does it all, through and through.

> With plugins aplenty and multi-platform support,  
> Building with OPENRNDR is no longer a sport.  
> Gradle’s power and flexibility,  
> Bring graphics applications to life with agility.

> So let Gradle be your guiding light,  
> As you create art with all your might.  
> For in the world of graphics and code,  
> Gradle is the path to bliss, and your abode.

---

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [May 2, 2023, 7:31pm UTC](https://openrndr.discourse.group/t/improving-the-guide/555/5 "2023-05-02T19:31:48Z")

</div>

Hahaha quite good 🤣 I like it!

---

<div class="post-metadata">

**Author:** ![LH99](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/lh99/32/575_2.png) [@LH99](https://openrndr.discourse.group/u/LH99)\
**Post date:** [May 9, 2023, 7:37am UTC](https://openrndr.discourse.group/t/improving-the-guide/555/6 "2023-05-09T07:37:29Z")

</div>

I read through the Kotlin+Gradle section as well.

I’d say that Kotlin is sufficient with documentation and references. Maybe some hint on “You’ll learn the language while using it”.  
The intention would be to deter people from reading lots of docs, burning themselfs out - before jump starting the openrndr-template and just get going.

I think the level of documentation on Gradle itself is fine, but would like some guidance on the `build.gradle.kts` setup.  
As in: “You can use `applicationMainClass` to set your main function to be executed when building a jar file.” and “You can uncomment the individual `orxFeautures` lines and execute Gradle Sync to use the respective orx-features”

As an app developer, I still only get 80% of what is going on there ¯\ \_ (ツ)\_/¯

---

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [May 9, 2023, 9:36am UTC](https://openrndr.discourse.group/t/improving-the-guide/555/7 "2023-05-09T09:36:14Z")

</div>

Thank you for the feedback!

I started writing that section on Kotlin but currently I’m thinking of restarting. I think I can maybe point to

- [Basic syntax | Kotlin Documentation](https://kotlinlang.org/docs/basic-syntax.html)
- [Kotlin Syntax](https://www.w3schools.com/kotlin/kotlin_syntax.php)

instead of reinventing the wheel which would be a lot of work.

Then

- Only suggest [https://play.kotlinlang.org/](https://play.kotlinlang.org/) for quick experiments but otherwise assume we are in the IDE already with OPENRNDR.
- Concepts are introduced not just in the (language) vacuum, but in regards to OPENRNDR and visual output. For example
  - `val` vs `var` if you want to animate an object’s position.
  - `val` and `var` vs `List` and `mutableList`.
  - What’s the deal with all those `{ }` blocks. What are they? How to create your own?
  - How to augment any type with extension functions.
  - How to use the IDE to explore and understand the framework.
  - Where are the different Kotlin instructions typically used with OPENRNDR.

I think I can resume working on these in June 10th.

---

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [May 12, 2023, 5:36pm UTC](https://openrndr.discourse.group/t/improving-the-guide/555/8 "2023-05-12T17:36:00Z")

</div>

Today I added `vertexTransform` to the guide, which was still missing. It is part of this simple example of [deforming a mesh](https://guide.openrndr.org/advancedDrawing/shadeStyles.html#3d-mesh-distortion).

![image](https://global.discourse-cdn.com/free1/uploads/openrndr/original/1X/edfd9182f44084fbbb539d3a9a1887340b76172c.jpeg)

I also added all the [`v_` variables](https://guide.openrndr.org/advancedDrawing/shadeStyles.html#other-interpolated-values) which I needed in my current project.

~~Pending~~ in that page are `fragmentPreamble` and `vertexPreamble`, which allow us to declare functions or varyings.

---

<div class="post-metadata">

**Author:** ![Neurotypique](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/neurotypique/32/585_2.png) [@Neurotypique](https://openrndr.discourse.group/u/Neurotypique)\
**Post date:** [June 11, 2023, 1:50pm UTC](https://openrndr.discourse.group/t/improving-the-guide/555/9 "2023-06-11T13:50:52Z")

</div>

I am a total beginner, didn’t even know what a build tool was and that was perfectly clear to me! I can’t speak for people with more knowledge but to a complete beginner it’s good!

---

<div class="post-metadata">

**Author:** ![abe](https://yyz2.discourse-cdn.com/free1/user_avatar/openrndr.discourse.group/abe/32/700_2.png) [@abe](https://openrndr.discourse.group/u/abe)\
**Post date:** [July 24, 2023, 2:26pm UTC](https://openrndr.discourse.group/t/improving-the-guide/555/10 "2023-07-24T14:26:40Z")

</div>

Hi! I’ve spent a few days updating the section about [Segment, ShapeContour and Shape](https://guide.openrndr.org/drawing/curvesAndShapes.html) in the guide. I remember being a bit confused at the beginning about the relationship between them. I hope it’s a bit better now. It is long, and I didn’t even cover everything you can do. One could almost write a book about those 3 classes 🙂

The reorganizing of the guide according to the [wiki](https://github.com/openrndr/openrndr-guide/wiki) is still ongoing.

Any feedback is welcome.
