## 1 Introduction
* Algorithmic Design, where the design process is carried out using specially prepared computer algorithms. The essence here is the ability to perform operations on input datasets of a wide and diverse nature in order to achieve a specific effect, e.g., in the form of the geometry of the designed object. * Parametric Design, where the design process or the designed product is described by parameterized rules. The designer has the ability to flexibly manipulate the parameters to achieve a specific goal. * Generative Design, which is a kind of derivative and the next stage in the evolution of the methods described above. By using intelligent numerical algorithms, it is possible to achieve multi-variability, leading to the optimization of the designed product. This process is based on elements such as initial conditions and parameters defining the task, boundary conditions, a control mechanism (algorithm), and the selection of the optimal solution obtained on the range of prepared (generated) variants. At this point, it should be noted that there are many ways to search for sources of shapes of designed objects, and consequently, to find algorithms describing them. Computational approaches to building design are highly relevant and have been extensively researched in the field of architecture. The most common applications include parametric design [12; 13; 14] and algorithmic-parametric design [15; 16]. Some approaches explicitly incorporate a mathematical framework to design architecture [17], which can be easily programmed [18]. In addition, the digitization of fabrication processes in architecture, engineering, and construction [19] is an interesting avenue for exploration. The construction industry has been an early adopter of computerization, which for a long time mainly covered the design phase but now encompasses the entire process of construction investment implementation. The fundamental issue in the types of design described above is the use of a dynamic description to flexibly control the parameters of the designed object. The best way to achieve this is through a mathematical description. This works particularly well for describing the geometry of the designed structure. To achieve this, the geometry should be represented using mathematical functions. In addition to standard and already-established design support systems, an interesting tool in this area is the use of programming environments. Unfortunately, their use by designers is still marginal, mainly due to the barrier that programming itself represents for a civil engineer. From an engineering point of view, the fundamental problem is to use a suitable programming environment in which such a procedure can be created. The use of classical programming languages such as C++ is rather ineffective in this case. A different approach based on visual programming is currently being used. Visual code-based programming addresses this issue, as it does not require the designer to have the specialist knowledge necessary to create traditional text scripts. In addition, visual programming environments used in the architecture and construction industry are equipped with a number of options and tools that significantly automate, simplify, and speed up the design process and even investment management. Today, visual programming is gaining significant traction in various sectors of the construction industry, particularly in design. Notable examples include its application to structural design [20], infrastructure projects [21], and the assessment of the structural integrity of historic buildings [22]. However, particularly intriguing work involves the use of VPL for the optimization of building structures based on genetic algorithms [23] and the planning of construction site layouts, particularly through the use of generative design techniques [24]. To date, there has been considerable documentation and discourse surrounding VPL technology and computer-aided design within the broader design and architecture literature.