A browser-based Piet editor/interpreter

Overview

A browser-based Piet editor/interpreter

Features

  • An interpreter that fully conforms to the Piet specification
  • Code editor with a palette with command overlay (easier to choose the next color)
  • Debug view that shows where the pointer is and is heading
  • Run the same code on multiple inputs (test cases) at once
  • Import and export code as images and ascii-piet format
  • Permalink that stores code and test inputs
Comments
  • The Explain feature

    The Explain feature

    Great project, thanks for sharing!

    Explain plan for this fizzbuzz.

    From the top left stepping though is it not 1 (red), push(dark red), noop(white), noop(light blue), dup(light green), noop(white),3(light blue) etc?

    The Explain seems to be missing a noop after the first white?

    opened by gregn610 2
  • Missing text-area(s) for import/export

    Missing text-area(s) for import/export

    If I remember correctly there where text-areas on the import/export tab earlier this year. I used them to great extend and miss them now. Unfortunatly my skills in debugging and coding JavaScript are basicly non-existent. Maybe you can have a look into it.

    2022-10-18_bubble_piet

    opened by sfieger 1
  • Various bugs on export

    Various bugs on export

    On firefox (before enabling dev mode)

    I tried it and got an error when I clicked on the Share tab: Uncaught TypeError: i is undefined. After that, it seems like the PNG and SVG buttons don't do anything.

    On Chrome

    It works on Chrome, but also still gives an error: Uncaught TypeError: Cannot read properties of undefined (reading '0'). ... and the downloaded PNG won't load in Windows photo viewer or Paint. ... because its contents are an SVG, despite the .png extension.

    Unknown

    After I do [export] the first time, it's stuck as the same file

    Firefox 99ish?

    So if I export as png, update it, and export again I get the first png

    Uncaught TypeError: colorvec is undefined

    opened by Bubbler-4 1
  • Misc enhancements

    Misc enhancements

    • [ ] Fix the tabbed pane to the bottom of the page
    • [ ] Make it resizable
    • [x] Explainer (more like what HexagonyColorer does; draw paths over cells and extract the command sequence)
    • [x] Save explained code as image (SVG)
    • [ ] Zoom in/out code area
    • [ ] Custom codel size on PNG export
    • [ ] Make test case separator more sane (do not require an empty line on its own for empty test case) ... or just make it more proper and use multiple input/output windows
    opened by Bubbler-4 1
  • Editor enhancements

    Editor enhancements

    • [ ] Toggle borders between cells (Masterpiets has 1px solid black)
    • [ ] Show cell count of a selected block
    • [ ] Resize by entering size
    • [ ] Reset grid
    • [ ] Undo/redo edit (for various actions, e.g. grid add/remove row, draw single pixel, import from picture)
    • [ ] Bulk movement (select a set of pixels and move around or rotate)
    • [ ] Bulk recolor (select a set of pixels and apply a color offset to all of them, to replace commands in the middle)
    opened by Bubbler-4 0
Detect the executable python interpreter cmd in $PATH.

detect-python-interpreter Detect the executable python interpreter cmd in $PATH. Installation $ npm install --save detect-python-interpreter Usage con

Khaidi Chu 2 Apr 12, 2022
A Brainf*ck interpreter built in the TypeScript type system.

Brainf*ck Interpreter in the TypeScript type system Just another thing that no one asked for. Why? I love messing with the TypeScript type system. Som

Carter Snook 55 Dec 17, 2022
A Typescript assembly(ish) interpreter with a nice web UI

Assembly-Online Example Fibonacci Program MOV R0, #1 MOV R1, #1 fib: MOV R2, R0 ADD R0, R0, R1 MOV R1, R2 B print CMP R0, #40 BGT exit B fib exit: \ I

null 3 May 23, 2022
A simple tap test runner that can be used by any javascript interpreter.

just-tap A simple tap test runner that can be used in any client/server javascript app. Installation npm install --save-dev just-tap Usage import cre

Mark Wylde 58 Nov 7, 2022
Replaces the default Strapi WYSIWYG editor with a customized build of CKEditor 5 html editor packed with useful plugins.

CKEditor 5 for Strapi Replaces the default Strapi WYSIWYG editor with a customized build of CKEditor 5 packed with useful plugins. ?? Get Started Feat

null 39 Jan 2, 2023
Powerful rich text editor using Vue.js and Quill. About @quilljs editor component for @vuejs

quill-vuejs Quill editor component for Vue. 基于 Quill、适用于 Vue 的富文本编辑器,支持服务端渲染和单页应用。 Preview Example CDN example page Component example page Install NPM

Chi Zhang 10 Aug 10, 2022
Triumph Tech’s Magnus Editor is a full-featured remote editor for Rock RMS.

Magnus Visual Studio Code Editor for Rock RMS Triumph Tech’s Magnus Editor is a full-featured remote editor for Rock RMS. Rock RMS is an open source R

Triumph Tech 8 Nov 23, 2022
An extension to Panic's Nova editor currently providing an alternative file browser.

Explorer.novaextension Welcome to the repository of the Explorer Nova extension. The actual extension and its README can be found only one directory a

null 7 Nov 14, 2022
A Node.js based text editor

akf-code A editor to write code or etc in your terminal! Usage/install npm i akf-code -g && acode <filename> or npx akf-code <filename> Keys Ctrl+C: T

Akif Yüce 4 May 22, 2022
ProseMirror-based Collaborative Editor

Notebook ProseMirror, Firebase Collaborative Editor. Prerequisites Create a copy of .env.template whose name is .env.local.<user> in the root folder.

Ureeka 12 Oct 21, 2022
Web based all in one gradient editor for your next projects.

Find the perfect gradient for your next projects Introducing Gradientify Gradientify is a web-based all-in-one gradient editor that gives you access t

Nitin Singh 21 Dec 25, 2022
Web-based tool to build gradient data for retro platforms using a visual editor

Gradient Blaster https://gradient-blaster.grahambates.com Gradient Blaster is a web-based tool to build gradient data for retro platforms using a visu

Graham Bates 5 Dec 13, 2022
🚀 The web-based text editor for everyone built with Electron & React.

?? The web-based text editor for everyone built with Electron & React. Next release | Current release | Documentation (soon) ⬇️ Download: Windows (x64

Pablo Hdez 5 Sep 16, 2022
A lightweight extension to automatically detect and provide verbose warnings for embedded iframe elements in order to protect against Browser-In-The-Browser (BITB) attacks.

Enhanced iFrame Protection - Browser Extension Enhanced iFrame Protection (EIP) is a lightweight extension to automatically detect and provide verbose

odacavo 16 Dec 24, 2022
Browser In The Browser (BITB) attack is a sophisticated phishing and hard to detect.

BITB Browser In The Browser (BITB) attack is a sophisticated phishing and hard to detect. Goto: ?? MacOS-Chrome-DarkMode ?? MacOS-Chrome-LightMode ??

Lục Thiên Phong 18 Dec 4, 2022
UAParser.js - Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data. Supports browser & node.js environment.

UAParser.js JavaScript library to detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data with relatively small footprint (~17KB m

Faisal Salman 7.4k Jan 4, 2023
Detect browser, and render view according to the detected browser type.

react-browser-detector Detect browser, and render view according to the detected browser type. Installation To install, you can use npm or yarn: npm i

kirillsaint 5 Jul 13, 2022
make ie browser like a morden browser main for ie6~ie8,

ieBetter.js It's created for IE6-IE8. Why need this? Modern browsers are so powerfull. For some small project, there is no any reason to include a lar

zhangxinxu 796 Dec 19, 2022
A hackable C# based scripting environment for 3D modeling running in the web browser.

A hackable C# based scripting environment for 3D modeling running in the web browser. Background Script based 3D modeling software running in the web

Emil Poulsen 49 Nov 28, 2022