This probably isn't worth managing!
On the bright side, I've vetted most of the word list now.
There's some stupid words in there, but with reasons, generally.
Often stupid reasons.
Many of these accepted spellings were language names,
which I've since used `// spell-checker:disable` on,
some of which were also broken up wrong, such as "zyk" from "Język"
due to Unicode handling bugs in CSpell which have since been fixed.
Some of them are simply no longer present in the codebase,
and some of them are now included in the default dictionaries,
such as "allowfullscreen".
It also looks like CSpell now ignores spelling within filenames,
since "mobipaint" doesn't need to be in the word list.
To prune the accepted spellings, I cleared the word list,
then ran the "run-command-on-all-files.ahk" script I wrote for this,
then used set intersection of the list before and after to avoid
adding new spellings to the list.
However, some of the spellings that were added/removed were actually
just changes in letter case, such as "woah", which I manually lowercased
when adding it to the dictionary. This complicated things.
So I ended up generating a patch of the additions, and converting it to
a regexp that would find any of the added words:
Airbrushbrush|APNG|atombgwht|bigfix|blackwhite|bresenham|browserconfig|colorbar|Colorstr|dectree|dont|Fieldsets|Fullscreen|greyscale|Hilight|ICNS|ifds|Iframes|iife|junkbot|Multiuser|Nevermind|Numpad|onestep|proch|proclabel|relh|reltopics|Repurposable|rgbas|Spirobrush|spritesheet|subh|Subwindows|Tesselator|topich|Tracedata|Tracky|typestyles|Uniquify|VAPORWAVE|Verts|vsns|Woah|XFCONF|العربي
and matched it against the cspell.json file before the removals,
case-insensitively, and noted the original letter casings, and then
edited the patch to use the original letter casings, where applicable:
sed -e "s/APNG/apng/ ; s/bresenham/Bresenham/ ; s/Fieldsets/fieldsets/ ; s/Fullscreen/fullscreen/ ; s/Hilight/hilight/ ; s/ICNS/icns/ ; s/ifds/IFDs/ ; s/Iframes/iframes/ ; s/iife/IIFE/ ; s/junkbot/Junkbot/ ; s/Multiuser/multiuser/ ; s/Nevermind/nevermind/ ; s/Numpad/numpad/ ; s/Repurposable/repurposable/ ; s/rgbas/RGBAs/ ; s/Subwindows/subwindows/ ; s/Tesselator/tesselator/ ; s/Tracedata/tracedata/ ; s/Tracky/tracky/ ; s/Uniquify/uniquify/ ; s/VAPORWAVE/vaporwave/ ; s/Verts/verts/ ; s/vsns/VSNs/ ; s/Woah/woah/ ; s/XFCONF/xfconf/" -i additions.patch
and then applied the patch,
and then squashed everything, and did the set intersection again to
get the removals, followed by a checkout to get the additions.
In retrospect, I should've just hacked a pruning feature into cspell-cli
in which case I might've even been able to send a pull request.
- Store window handle and only focus the one window, never switch target
- Focus before every keyboard input
- I tried using ControlSend, but it didn't work
- Improve error message when VS Code window is closed during automation,
merging two dialog boxes.
This fixes finickiness around starting the script, needing to focus VS Code manually for some reason, and improves error handling when the VS Code window isn't found.
- Use case consistently
- Make more configurable up top
- Add error handling for VS Code window not being found
- Inline GUI creation code so it's all in one place
- Include cypress and help folders while ignoring snapshot images/icons
- Increase delay before and after running command
- Add a popup window to show that you can press Esc to abort,
as well as the current progress within the files list.
- Add a confirmation with some general info about the script
- Optionally copy the file paths to the clipboard if you say No
This restores the ability to use arbitrary installed fonts with the Text tool, which previously worked using the Flash plugin.
This functionality should ideally be included in FontDetective, but it was easier to get it working in JS Paint first.
As discussed in https://github.com/1j01/jspaint/issues/326,
the drawing of rectangles show a blurred/anti-aliased edge in the recent versions of Firefox. This change restores sharp edges in Firefox. The change is modeled after how the existing code handles the degenerate case of drawing the rectangle (when the rectangle is either not as tall or not as wide as double the rectangle line width), but this version just draws four rectangles, one for each side.
This is pretty important to include.
I'm not sure how to better guide people to launching the app, though.
Maybe it will become clear once there's more blurb/features exposition.
This is pretty much just working with what I have on hand,
ideally I would draw custom backgrounds for all the sections, using
jspaint, but this at least makes the animated GIFs feel more at home.
- Needs layout and UX work, to integrate this better.
Maybe the bin should start in a specific location, and you should
click to drag it? That would open the door to sound effects, since
sound requires a user gesture these days.
- The teaser text would ideally use the Junkbot font, on a sign,
along with other background elements.
- This is kinda weird. Is this weird? Is Junkbot in a zoo?
- Clarify the relation to the author (myself)
- Clarify the relation to JS Paint (it's not a "version" of JS Paint)
- Hide misleading MS DOS Prompt GIF (it needs a newer terminal program)
- List requirements, and command to run the program
🚧 Under Construction 🚧
- Basic scaffolding.
- Minimal prose, some copied from the About window. Needs elaboration.
- Tons of GIFs!
- All GIFs were sourced from http://gifcities.org/
meaning they're ✅ Guaranteed Retro.
- Iframe embed of jspaint, with maximize button as a link that opens
the app, keeping the current document (assuming storage is allowed),
but losing undo history (for now).