Aliasing.Pro Tile Engine
I’m making progress on version 6! The three new project modes are low-res 128×80, mid-res 256×160, and high-res 384×240. Low-res and mid-res projects use 8×8 tiles, while high-res tiles are 12×12. The output area is either portrait or landscape of 16×10 tiles for low-res and 32×20 tiles for mid-res and high-res projects. Individual sprites can be 1×1, 2×2, or 4×4 groupings of tiles, and layers can be made of grids of sprites that share the same sprite sheet with variable palettes and can even be flipped x or y.

The SNES could allow up to 512 unique tiles on screen at a time. This tile map is stored in what’s called VRAM. I want to replicate this because I need to store the tiles with the color palette applied to the base sprite, which is stored with the system palette. This uses ctx.getImageData() and ctx.putImageData(), which is 10 to 100 times slower than ctx.drawImage(), so I need to do any ctx.imageData processing upfront. This way only drawImage() is needed during rendering the viewport canvas. This also reinforces the retro feel of the projects. I plan on implementing 32×64 tile maps or 2048 unique tiles per frame.
New Interface

Version 6 comes with a new customizable interface. Windows can be popped out as floating windows or dragged and dropped into the layout. The floating windows will greatly improve modals, which are small and not responsive in version 5. The toolbar can also be moved to the bottom or right. The bottom will work better for mobile layouts in portrait orientation. There are new windows planned with the new tile engine in mind and the color picker will be custom built and more advanced.
Gallery and Exporting
The gallery will be the number one place to share art and assets created with the web app. Posts will be displayed in the 16×10 or 10×16 aspect ratio of the canvas as looping animated GIFs. Other sharable content will include sprite sheets, palettes, and fonts. The files will be in native resolution and scaled to viewing size with the image-rendering: pixelated property for clean pixels. Pixel art viewed on social media doesn’t have that option, so exports of the canvas or sprite sheets will have optional upscaling like in version 5. Exports can be GIFs, PNGs, or JPEGs. Only GIFs support animation. I am considering allowing cropping of the canvas exports to aspect ratios such as 256×108 (ultra wide), 16×9 (wide), 4×3 (standard), and 1×1 (square). I also really want to add the option of a scan line filter for exports with high enough upscaling. Sprite sheets of up to 960×960 pixels will be exportable for use in video game development.