QMSH Sandbox → Web-Assembly IDE
Kernel-Build-Version: 0.2.3 (2023-05-10)

→ enter script statements above or assemble
    one of the built-in example entities to begin...

0 vertices
0 indices → 0
0 ngons (0 triangles)
extent [ w:0.0, h:0.0, d:0.0 ]
minimum [ x:0.0, y:0.0, z:0.0 ]
maximum [ x:0.0, y:0.0, z:0.0 ]
0.0 seconds (0.0 ms)
0.0 MB (0.0 kb | 0 bytes)
→ (run script to view mesh...)
QMSH Sandbox
Experimental Web-Assembly IDE
→ by Codemine-Ind.


Key: (Required-Browser-Functionality)
Fully Supported
Partially|Experimentally Supported
Unknown (Attempting to Resolve...)
Not Supported



This experimental application enables you try the quick-mesh procedural modelling kernel safely directly in your browser - without having to install additional software. You can use this application to evaluate the qmsh grammar - in particular for an indicative taste of what it is like to script 3D polyhedral entities with quick-mesh. You can also use this application to edit your procedural entity scripts when you are away from you main machine or device - for example when using a public computer.

Vitally though: be aware that this is a heavily simplified interface and in many ways a less powerful IDE relative to its native counterparts. Specifically there are a multitude of features exposed by the QMSH-Editor, QMSH-Kernel and QMSH-Entity-Inspector that are not present in this sandbox. For example (and most crucially) this application operates in a non-persistent manner - meaning that it (purposefully) does not save editing-session state between page reloads. Furthermore this sandboxed application does not expose a means to export the various 3D interchange file formats supported by the native applications. Essentially remember throughout that this experimental tool is not designed (nor intended) to be a production-ready replacement for the QMSH-Editor nor the QMSH-Kernel. It is simply a proof-of-concept (demonstrating running QMSH client-side in a browser) that might be helpful to prospective mesh-makers.

Note: this application requires a Javascript enabled browser in order to function. If Javascript is disabled by default in your browser this page will simply not function. For example if you are unable to dismiss this landing/info-page (using the escape key or the top-right proceed-button) then it indicates that Javascript may not be fully functioning. To resolve this head to your browser's settings - enable Javascript and then reload this page.

Note: this application requires a browser that supports Web-Assembly in order to coordinate script parsing and 3D-mesh assembly. If you are unable to run the built-in example scripts then it indicates that Web-Assembly may not be supported by your browser or that one or more security settings may be preventing the execution of Web-Assembly in your browser. To resolve this you may have to update your browser or alter the corresponding setting(s) - or open this page using an alternative browser that does support Web-Assembly.

Note: this application requires a browser that supports Web-GL in order to render 3D-mesh. If you are unable to view 3D entities in the right-hand preview canvas - then it indicates that Web-GL may not be supported by your browser. If this is the case you can apply the same trouble-shooting steps (applicable to Web-Assembly support) to resolve Web-GL support - i.e. check that your browser's current security settings allow Web-GL content and/or try an alternative browser. Additionally - be aware that for older browsers that support Web-GL experimentally - an experimental flag (!) is displayed in the canvas' lower-right-hand corner to indicate partial Web-GL support.

Pro-Tip: you can side-step the non-persistent nature of this application by using it alongside a native text-editor. For example: rather than editing your scripts directly inline - you could instead edit them externally using emacs, vim, nano, atom, notepad++, gedit, or <insert-your-favourite-editor-here> - and then simply copy and paste the source into this sandbox to assemble. Incidentally this is often how this application is used internally at Codemine. In particular it can sometimes be quite handy (i.e. for script performance profiling and optimisation tasks) to have multiple versions of an assembly running in separate disposable/throw-away/quick-use sandboxes. This can also be useful for quickly benchmarking the performance of your scripts (especially when realtime assembly in interactive applications is the aim) across a wide range of devices without installation and setup requirements. Note: if you use this sandbox alongside an editor that supports syntax-highlighting - you can select C, C++ or Java language-settings to deal with most parts of the QMSH grammar.

Known-Issues & Limitations

This sections lists the known issues and technical limitations of this sandboxed-editor.

Contact & Technical-Support

If you have any questions or if you need any help or assistance getting to grips with this sandboxed-editor or with the scripting-language do not hesitate to get in touch. Remember that quick-mesh is in the beta testing phase of development - therefore your feedback has a direct impact on the shape of development and the direction the grammar and kernel take.

For technical assistance contact: support@qmsh.org
For general enquiries contact: info@qmsh.org