### Set up OpenSCAD Playground for Local Development Source: https://github.com/openscad/openscad-playground/blob/main/README.md Commands to build the public assets, install Node.js dependencies, and start the development server for the OpenSCAD Playground. ```bash make public npm install npm start # http://localhost:4000/ ``` -------------------------------- ### Run OpenSCAD Playground in Local Production Mode Source: https://github.com/openscad/openscad-playground/blob/main/README.md Commands to build public assets, install Node.js dependencies, and start the application in a production-like environment for local testing. ```bash make public npm install npm run start:prod # http://localhost:3000/dist/ ``` -------------------------------- ### Configure Docker for AMD64 Emulation with QEMU Source: https://github.com/openscad/openscad-playground/blob/main/README.md Instructions to enable Docker to run AMD64 containers on different platforms, such as Apple Silicon Macs, by installing QEMU binfmt support. ```bash docker run --privileged --rm tonistiigi/binfmt --install all ``` -------------------------------- ### Deploy OpenSCAD Playground to GitHub Pages Source: https://github.com/openscad/openscad-playground/blob/main/README.md Steps to build the OpenSCAD Playground for production, copy the compiled assets to a deployment directory (e.g., GitHub Pages), and prepare for commit. ```bash make public npm install NODE_ENV=production npm run build rm -fR ../ochafik.github.io/openscad2 && cp -R dist ../ochafik.github.io/openscad2 # Now commit and push changes, wait for site update and enjoy! ``` -------------------------------- ### Configure OpenSCAD Playground to Use a Custom OpenSCAD Fork Source: https://github.com/openscad/openscad-playground/blob/main/README.md Optional steps to link a local OpenSCAD fork or branch to the OpenSCAD Playground project, allowing custom OpenSCAD builds to be used. ```bash rm -fR libs/openscad ln -s $PWD/../absolute/path/to/your/openscad libs/openscad # If you had a native build directory, delete it. rm -fR libs/openscad/build ``` -------------------------------- ### Build OpenSCAD WebAssembly Binary Source: https://github.com/openscad/openscad-playground/blob/main/README.md Command to compile the OpenSCAD WebAssembly binary. An optional WASM_BUILD=Debug argument can be added for debugging purposes. ```bash make wasm ``` -------------------------------- ### Continue OpenSCAD Playground Build After Custom WASM Compilation Source: https://github.com/openscad/openscad-playground/blob/main/README.md Commands to continue the OpenSCAD Playground build process after a custom WebAssembly binary has been compiled, preparing it for local development. ```bash make public npm start ``` -------------------------------- ### OpenSCAD Playground Core CSS Styling Source: https://github.com/openscad/openscad-playground/blob/main/public/index.html This CSS snippet defines the foundational styles for the OpenSCAD Playground user interface. It sets up a flexbox layout for the entire page, customizes the appearance of PrimeVue components like tab menus and fieldsets, applies transparent backgrounds to code editors (Monaco and OpenSCAD editor), specifies font styles for text areas, and includes media queries for responsive adjustments, such as hiding the GitHub fork ribbon on smaller screens. ```CSS #root, body, html { display: flex; flex-direction: column; flex: 1; margin: 0; height: 100vh; height: var(--app-height); } .p-tabmenu-nav { justify-content: center; } .p-fieldset .p-fieldset-content { padding: 0 !important; } .p-fieldset-legend { background-color: rgba(255,255,255,0.4) !important; } .p-fieldset-legend, .p-fieldset-content { padding-top: 0 !important; padding-bottom: 0 !important; } .absolute-fill { position: absolute; top: 0; right: 0; left: 0; bottom: 0; } .monaco-editor, .openscad-editor { background-color: rgba(255,255,255,0.5) !important; } textarea.openscad-editor { font-family: "Droid Sans Mono", "monospace", monospace; font-weight: normal; font-size: 16px; font-feature-settings: "liga" 0, "calt" 0; line-height: 22px; letter-spacing: 0px; } .overflow-guard, .monaco-scrollable-element, .monaco-editor-background { background-color: transparent !important; } .opacity-animated { transition: opacity 0.5s ease-in-out; } .opacity-0 { opacity: 0; } @media only screen and (max-height: 600px), only screen and (max-width: 600px), only screen and (max-width: 767px), only screen and (max-aspect-ratio: 1/2) { .github-fork-ribbon { display: none; } } .p-tabmenu-nav { padding-right: 30px; } .github-fork-ribbon:before { background-color: #333; } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.