Giter VIP home page Giter VIP logo

kidpix's Introduction

jskidpix ✨ https://kidpix.app/

In 1989 Kid Pix 1.0 was released into the public domain and this is an HTML/JS reimplementation.

ghsplash

Guide

Just like the original Kid Pix, there's no guide—have fun! Most of the tools support Shift (^) to enlarge. There are a handful of hidden tool features behind various modifier keys (⌘, ⌥, ⇧). The modifier keys can also be combined. Enjoy! :)

Mirrors

Please let me know if you mirror the site elsewhere and I'll add it here:

Users' Masterpieces

My Kid Pix Masterpieces https://github.com/vikrum/kidpix/wiki/Gallery-of-Masterpieces

Questions & Hints

Fun Links

kidpix's People

Contributors

dependabot[bot] avatar snyk-bot avatar vikrum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

kidpix's Issues

Increasing undo history?

It seems as if there's only 1 undo available when clicking on the face under the dump truck. Can there be more undos?

Missing tool: drip paint

Ref impl: Always puts a drip at first mouse down, random time based intervals follow. Drip size same. Drip length randomly varies from 0 to 16px. Line width 5px. Modifier key makes drip longer.

Icons blurry in firefox

For cross browser support you need to add both of these properties:

image-rendering: crisp-edges; 
image-rendering: pixelated;

Missing tool: wacky brush, 3d brush

Your sample image

https://user-images.githubusercontent.com/291215/128236489-32a56b21-17e9-4b4a-b631-a987472127c4.png

It seems to me that this is drawing two strokes at once.

  1. solid line
  2. dither highlight

More Examples

Here are two ovals:

  1. left: drawn clockwise
  2. right: drawn anti-clockwise

These were drawn starting/ending at the 12 o'clock position,
but the result is the same regardless of starting/ending position.

Screen shot 2021-08-07 at 14 21 38

Notes

  • they are diagonally mirrored along the line top-left to bottom-right

Here are some horizontal and vertical lines:

  1. drawn upwards (bottom to top)
  2. draw downwards (top to bottom)
  3. drawn rightwards (left to right)
  4. drawn leftwards (right to left)

Screen shot 2021-08-07 at 14 24 54


Here are some diagonal lines:

  1. drawn upwards to left (bottom to top)
  2. draw downwards to right (top to bottom)
  3. drawn upwards to right (bottom to top)
  4. draw downwards to left (top to bottom)

Screen shot 2021-08-07 at 14 29 57

Notes

  • 1 & 2 are "opposite" (let's say of widths 0 and 1)
  • 3 & 4 are "identical" (let's say both of width 2)

A reproduction of your ornate shape:

  • drawn starting from A and ending at B

Screen shot 2021-08-07 at 14 36 47


My educated guess

Here's how I think it does it:

  1. draw the solid stroke
  2. set size of the dither stoke according to direction (delta from last draw)
  3. draw the dither stroke up-left a few pixels

Size of dither stroke

  • up/left decreases the size
  • down/right increases the size

But from what default values?
And by what factor?

I'd have to experiment with code to figure out the details.

How to start a new file?

Apologies if this is a silly question but we could not figure out how to start a new drawing. Is there a user manual that talks about this?

Rainbow Circle Texture

Great implementation, thanks for the memories!
Noticed something with the "Texture ?" circle tool where the rainbow "spread" isn't evenly distributed based on the cursor draw angle.
Here are 5 circles in order from left to right, line added for visual axis of drag path:

  • Dragged from top to bottom (0 degrees)
  • Dragged from left-center top (30 degrees)
  • Dragged from top left (45 degrees)
  • Dragged from upper-left (60 degrees)
  • Dragged from left to right (90 degrees)

image

Latest Linux Firefox for the record. (and assuming this isn't a bug in the original)

Letter tool: characters not aligned to buttons

The characters should probably be centered within the buttons you push to select the letters? In Firefox they are quite badly off-center and in Chromium they are better, but still sitting on the bottom edge of the button.

Firefox:
firefox

Chromium:
chromium

Mouse out of sync with finger/stylus on Surface Pro

I noticed while playing around with the software that trying to draw with a finger or stylus on the Surface Pro causes the drawing tool to be placed to the upper left of the mouse location by a considerable distance.
This issue does not occur when selecting tools/colors or when drawing with the mouse.
I can provide pictures or videos later if that would be helpful. Thank you very much!

Bug: Firecracker eraser conflicts with persistence if the user closes the window/tab

It looks like the app uses some type of persistence to keep your work if you close the tab or window, but this is conflicting with the firecracker tool if the user exits mid-explosion:

CleanShot 2021-08-05 at 11 24 36

Steps to reproduce:

  1. Create a masterpiece
  2. Select firecracker tool from eraser menu
  3. Apply firecracker to canvas, starting animation sequence
  4. Close the browser tab or window before the animation sequence completes
  5. Reopen browser tab or window

Possible solution: clearing the persistence state at the start of the firecracker animation sequence?

Missing tool: typewriter tool

Meta+Letter used to contain a font-selector and typewriter-like tool. Allowed for font re-selection. Did not allow for re-editing once "done."

Ref impl:

Screen Shot 2021-08-07 at 8 18 17 PM

Blank background saves as gray

Hi! The background looks white in my browser (Firefox on MacOS) but when I save the image to my computer, it looks gray instead. If I specifically color an area white, then that area also looks white in the saved image. See images below to see the issue more clearly. Thanks!

Screenshot

![kidpix-1629753236690](https://user-images.githubusercontent.com/79494321/130520711-4db5a404-4916-4ac9-87af-77695ed89fde.png) ![kidpix-1629753349123](https://user-images.githubusercontent.com/79494321/130520723-da9600e8-42b4-46e7-82f3-40399f784b60.png)

Not detecting strokes from drawing tablet

The tablet I'm trying to use is a XP-PEN pen tablet. All web app versions don't detect when I try to draw, but it does detect clicks on tools. Instead of drawing, the canvas starts scrolling in the direction I'm trying to draw. The problem doesn't seem to be the tablet, since other apps are detecting strokes.

EDIT: the problem seems to be with firefox? Strange since aggie works on firefox... but when I use edge the program works fine, although the strokes are in a different place from my pen.

License

nice to meet you

Considering using the web version within the facility
Can I get permission to use

I'm happy that "Kid Pix", which I used when I was a child, has been revived.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.