SOFTWARE DEVELOPMENT

The author at work

This is a list of some of the experimental tools I have developed as part of ongoing work on PerformativeDesign.com. The front and back end framework for my core apps is a huge project and is taking a lot of time and effort to get right. However, I need to be able to see and test different parts of the framework as I go, so I often create small focussed apps for that purpose. I also need to test out some of the user interface elements I am working on, so it makes sense for me to occasionally polish up these little test tools to create potentially useful demonstration and educational applications. For details on some of my previous desktop and Flash-based apps from some time ago, see the Past Computer Software section.

Permissions Summary

Please feel free to use any output from the software on this page for your research, teaching, consulting or even commercial work.

However, Dr. Andrew Marsh retains full copyright over all the source code, algorithms and UI components used to generate these outputs.

Please consider this notice to be the author's express permission to use any images, screenshots and other forms of results or outputs produced by any of the software on this page in your own research, teaching, consulting or commercial work. Where source attribution would be appropriate, please reference this web page's URL and Dr. Andrew Marsh as the author.

Copyright on Source Code

However, the author (Dr. Andrew Marsh) retains full and exclusive copyright over all the source code (HTML, CSS and Javascript) used to generate these outputs, and reserves all rights over its use. You may not copy, derive from or reverse engineer any of the raw HTML and/or Javascript source code, embedded input data or algorithms implemented within these web applications, or the web applications themselves.

License Clarification

For absolute clarification, the CC BY-NC-ND 4.0 license in the footer of each page refers to this website and its contents, not software output. Please think of it like Photoshop. You own the images that you create with it, but you don't own or have any rights to the source code for the actual program or the icons in its UI. Exactly the same here.


Framework Apps

The following are updated browser-based applications that use my latest web framework. I have been developing a number of new tools and will also be migrating all my existing applications to this new framework over the next few months, so stay tuned...

Shape Script Released On
06 Sep, 2025

This app offers a Javascript interface to the powerful OpenCascade geometry kernel (via a WASM module). It allows you to script complex shapes using either the high-level APIs provided or OpenCascade's own lower-level methods. It pairs a modern code editing environment (Monaco) with an advanced model viewer that lets you select and interact with the faces, edges and vertices of the resulting shapes. Once created, you can interrogate shapes or export them in a wide range of geometry file formats. The unique benefit of using OpenCascade is that faces are defined using continuous functions rather than discrete facets, so it accurately retains surface outlines and edges over multiple operations.

Polyhedra - 2.0 Released On
10 Aug, 2025

This is a complete re-write of my previous polyhedra web app, as a showcase for my latest web framework and shape generation tools, and to make available a range of new features and import/export options. Like the previous version, it lets you select from a wide range of known polyhedra, with several new ones added, and then interactively apply sequences of mathematical operations on them to create more complex higher-order polyhedra. These include all the standard Conway and Hart operators as well as several new extended modifiers that I have developed over time.


Web Applications

These are some browser-based web apps that use mainly WebGL and SVG. They use my previous framework, but should still run fine in any reasonably recent desktop, phone or tablet web browser without requiring any special plugins.

05 Feb, 2020
Polyhedra Generator screenshot.
Polyhedra Generator
Read more...
27 Jan, 2020
17 Dec, 2019
15 Oct, 2019
Dynamic Daylighting screenshot.
Dynamic Daylighting
Read more...
30 Oct, 2018
Psychrometric Chart screenshot.
Psychrometric Chart
Read more...
25 Sep, 2018
08 Jun, 2018
06 Jun, 2018
01 Jun, 2017
04 Dec, 2016
Dynamic Overshadowing screenshot.
Dynamic Overshadowing
Read more...
12 Feb, 2015
08 Nov, 2014
18 Jul, 2014
30 Jun, 2014
12 Jun, 2014
12 Feb, 2014

Interactive Diagrams

A series of interactive SVG tools I designed for PerformativeDesign.com pages. They should run fine in any reasonably recent web browser without requiring any special plugins.

Surface Reflectance screenshot.
Surface Reflectance
Read more...
Refraction Effects screenshot.
Refraction Effects
Read more...

Interesting Experiments

The following are some simple experiments with different web technologies and concepts, available here as they may be of interest to some people, but having no purpose other than as tests or demonstrations of whether a particular approach is practical or even viable.


Processing Applications

These are some pretty old Java apps I wrote using Processing. Their binaries are still available as standalone Desktop and Android apps, but you will need to have Java already installed and running on your computer to use them.

Java, Processing and life in general have all moved on since they were written, so it is unlikely that they will still work that well. All of their functionality is now available in the later browser-based apps described above so, whilst you may be able to get them working for archival interest, it will probably be a painful and drawn-out process.

Earth and Sun screenshot.
Earth and Sun
Read more...
Daylight Analysis screenshot.
Daylight Analysis
Read more...
Surface Incidence screenshot.
Surface Incidence
Read more...
Uniform Polyhedra screenshot.
Uniform Polyhedra
Read more...
Shading Analysis screenshot.
Shading Analysis
Read more...
Sun-Path screenshot.
Sun-Path
Read more...
Parametric Shapes screenshot.
Parametric Shapes
Read more...