Recent

Author Topic: Feedback on a design for a node based templating engine  (Read 344 times)

soerensen3

  • Full Member
  • ***
  • Posts: 213
Feedback on a design for a node based templating engine
« on: November 26, 2020, 11:33:36 pm »
I'm currently writing a library called Maki which I would love to get some feedback for. It is not usable for production in its current state even though many parts of it are already written. Before I describe the project I have to say I did not release the source yet, but only a tutorial for it. The reason is I wanted to get feedback on the project in an early phase while I design it.

Maki is a templating engine for Free Pascal based on nodes (aka. graphs). Its main purpose is to produce text based outputs with the possibility of extending the engine to create different kinds of outputs. If you are not familiar with the concept of nodes you can have a look at Blender (https://www.blender.org), where this feature is used extensively. In this free 3D creation suite you can alter the appearance of 3D objects by creating materials purely by connecting nodes (https://docs.blender.org/manual/en/2.79/render/blender_render/materials/nodes/introduction.html) and without the knowledge of a programming language. For example you can take a texture node and connect it to the color input of a material node to get a textured object.

My main motivation for this project was to create a material designer similar to the one in Blender in free pascal. A material in real-time rendering is usually defined by a shader based on a source code and thus a text file. However since Maki is not limited to the use with shaders it can be used for any other purpose where you want to create text files using nodes (E.g. visual programming). It can also be used as a templating engine for source code or writing or for producing mail merge (It does not yet have batch capabilites but can be extended easily) or automating tasks.

You can read more about the project on Github (https://github.com/soerensen3/maki).

To give you an idea of what kind of feedback I was looking for
- How is the readability of the language?
- Is the language consistent?
- What things are still unclear to you?
Lazarus 1.9 with FPC 3.0.4
Target: Manjaro Linux 64 Bit (4.9.68-1-MANJARO)

 

TinyPortal © 2005-2018