robx
Repos
112
Followers
32
Following
11

Drawing pencil puzzles

12
0

Triples card game

12
0

Playing and editing puzzles by Javascript (fork of sabo2/pzprjs)

41
26

an Elm package manager

50
1

Websocket puzzle state server

1
0

Events

issue comment
Change color of Check button based on autocheck status

I'm not sure this is much of an improvement as is, seems it might be worthwhile iterating on the change a bit.

I was imagining something a bit more dynamic, taking into account the state of the puzzle. E.g.:

  • with manual check, the button is always a blue "Check" as currently
  • with unguarded autocheck, the button is a red "Show errors" while the puzzle is unsolved, and a disabled "Complete" when it's solved
  • with guarded autocheck, the button is a faint red "Incomplete" while the checker fails in the autocheck guard, and behaves like unguarded autocheck when the completeness check passes

(Red "Show errors" seems a bit too extreme, but something along those lines would make it more clear what's actually going on.)

Created at 2 days ago
issue comment
Guarded anscheck improvements

The thing I personally really dislike is being told I've solved a puzzle before I can be reasonably confident I have. I don't think that's necessarily a power-user issue.

At the time, guarding the answer check seemed like a reasonable solution, and I've found it to work quite well. I'm not really sure whether to revisit that on a fundamental level now...

Regarding Fillomino, I generally really like the updates. It makes solving most puzzles much more pleasant, thanks a lot for that! The puzzles that are spoiled by the answer check are rare enough (though it does hurt those puzzles quite a bit). An alternative might be "Force every area to have a number" instead of "every cell", but I haven't really felt the type needs an answer check guard.

Square Jam feels a bit similar to Fillomino in that regard -- sometimes a puzzle is done with a large left-over square, and it's hard to rule out that that's the only solution.

Both cases are different though from some of the types that I feel need an answer check, in that when the checker triggers, the solution is easily checked to be correct: It's generally obvious that the solution at that point is a solution, even if not necessarily the only one. The problematic types are those where there's a constraint where it's not immediately apparent whether it's satisfied. E.g. three-room rule in Heyawake, or the size of large Nurikabe island.

Essentially what I'd want is for the "completed" popup to only appear when I'm at the point where I feel I've finished solving the puzzle. I.e., I know that if I haven't made a mistake, the solution as is is correct. Or at least I'm seconds away from that.

I'd be quite happy to make interface improvements. Ideally we could do something about the check button, though I'm not sure at this point what would be good there. I have the vague idea that there might be something to be done with the label or color of the check button based on whether a guard exists and is satisfied. Or maybe a "guarded" checkbox next to the "Check" button. I don't particularly like (something like) that Fillomino checkbox label, I think it's very unclear that it would apply to the answer check.

Created at 2 days ago
issue comment
Light and Shadow
* Interesting choice with the gray/neutral default and explicitly unshading -- I think it works quite well even though it's a bit inconsistent with how e.g. Nurikabe works (or you might say it's a bit further from the pure "paper on pencil" translation); one downside which I remember from when Nurimisaki worked like this is that previews don't quite look "right"

Oh, Shugaku has this preview issue too, so seems we have a mechanism in place already to handle that.

Created at 4 days ago
delete branch
robx delete branch autocheck
Created at 4 days ago

dominion, chainedb: remove autocheck guard

restore default autocheck mode as "guarded"

Created at 4 days ago
pull request closed
remove autocheck guard for dominion and chained block

There seems to be no real need for it for these puzzles -- you generally know they're done when you place the last black cell. (There might well be a couple more among the new puzzles that could have it removed.)

Also restores the default autocheck setting to guarded, which I missed in the merge.

Created at 4 days ago
pull request opened
remove autocheck guard for dominion and chained block

There seems to be no real need for it for these puzzles -- you generally know they're done when you place the last black cell. (There might well be a couple more among the new puzzles that could have it removed.)

Also restores the default autocheck setting to guarded, which I missed in the merge.

Created at 4 days ago
create branch
robx create branch autocheck
Created at 4 days ago
issue comment
Source suggestions

Oh nice, didn't realise the links were only taken directly from the feed. I should be able to adjust that. I guess if I want older to post to get backfilled I'll have to (temporarily) include all posts in the feed?

There's some support for wordpress and blogger feeds to fetch history (via maxresults and paged query parameters), but yeah it'll need all posts in the feed in some way.

Created at 6 days ago
issue comment
Source suggestions

dailykrownundrum has been added; brokensigen has been there for a while but doesn't seem to have any links in the feed (https://brokensign.com/feed.xml)

Created at 1 week ago
delete branch
robx delete branch lapaz-style
Created at 1 week ago

lapaz: simplify shaded cell border handling

Instead of creating concrete "ghost borders" around shaded cells, consider all borders of shaded cells as virtual borders for graph handling and drawing.

lapaz: change border color

The dark green was barely distinguishable from black.

Created at 1 week ago
pull request closed
lapaz: simplify graph handling, tweak style

Originally I just wanted to do something about the dark green borders (they're barely distinguishable from black and look a bit "dirty" to me).

As a side effect that I don't understand at all, left clicking a shaded cell now turns it explicitly unshaded. I'm not sure why this previously turned back to entirely unset -- was that deliberate or an accidental side-effect of the ghost border implementation?

Created at 1 week ago

shwolf: fix encoding of 1xn and nx1 grids

The encoding of the dots (encodeCrossMarks) was emitting an empty string, while the decoding was consuming one character.

The change encodes the crosses of such a grid as "0", which is consistent in that absence of crosses is generally encoded as the number of potential crosses, i.e., all crosses are skipped.

The only other puzzle type that uses encodeCrossMarks is bdblock, which uses it with cross: 2 hence is not affected.

Created at 1 week ago
delete branch
robx delete branch shwolf-bug
Created at 1 week ago
pull request closed
shwolf: fix encoding of 1xn and nx1 grids (fixes #262)

The encoding of the dots (encodeCrossMarks) was emitting an empty string, while the decoding was consuming one character.

The change encodes the crosses of such a grid as "0", which is consistent in that absence of crosses is generally encoded as the number of potential crosses, i.e., all crosses are skipped.

The only other puzzle type that uses encodeCrossMarks is bdblock, which uses it with cross: 2 hence is not affected.

Created at 1 week ago
pull request opened
shwolf: fix encoding of 1xn and nx1 grids (fixes #262)

The encoding of the dots (encodeCrossMarks) was emitting an empty string, while the decoding was consuming one character.

The change encodes the crosses of such a grid as "0", which is consistent in that absence of crosses is generally encoded as the number of potential crosses, i.e., all crosses are skipped.

The only other puzzle type that uses encodeCrossMarks is bdblock, which uses it with cross: 2 hence is not affected.

Created at 1 week ago
create branch
robx create branch shwolf-bug
Created at 1 week ago
opened issue
keyboard focus gets lost when starting trial mode

E.g., with a skyscrapers puzzle (probably not all steps required):

  1. click top left
  2. input '1'
  3. click trial mode
  4. click next cell
  5. input '2' (nothing happens)
  6. click outside the puzzle
  7. input '2' (accepted)

In step 5, the number should already be accepted.

Created at 1 week ago

Add test coverage for irowake

Translated using Weblate (English)

Currently translated at 100.0% (202 of 202 strings)

Translation: pzprjs/Genre Rules Translate-URL: https://hosted.weblate.org/projects/pzprjs/rules/en/

Translated using Weblate (English)

Currently translated at 100.0% (685 of 685 strings)

Translation: pzprjs/FailCode Translate-URL: https://hosted.weblate.org/projects/pzprjs/failcode/en/

Translations update from Hosted Weblate

kurochute: Fix number completion overriding errors

factors: Allow rooms without clues

Unregister Service Worker in src-ui

New genre: Takoyaki

nanro: Fix Erase Data

pentominous: Fix decoding of invalid cells

numrope: Clear snum on number drag

ovotovata: Draw grid over cell background

lapaz: simplify shaded cell border handling

Instead of creating concrete "ghost borders" around shaded cells, consider all borders of shaded cells as virtual borders for graph handling and drawing.

lapaz: change border color

The dark green was barely distinguishable from black.

Created at 1 week ago
issue comment
Feature request : Puzzle type : Light and Shadow

I agree, this would be great to have!

Created at 1 week ago
issue comment
Show login status indicator (and perhaps actual login UI) on puzz solver page

I agree, I'd vaguely planned to do something like this. It could probably be integrated rather unobtrusively in the menu bar (i.e., a top level menu entry that would say something like "login" when you're logged out and offer a login form, and show your username when logged in, and clicking that would open a menu allowing to log out and potentially interact with the database (favorite, see previous times, ...)).

Created at 1 week ago
issue comment
Unregister Service Worker in pzpr-ui.js

Hmm I guess it won't really do any harm to blanket remove service workers in the JS bundle. (Only thing would be someone using the JS bundle on a different website with a functioning service worker that we'd be breaking, but that seems a bit theoretical.) Feel free to give it a shot, I won't get around to it soon.

Created at 1 week ago
issue comment
Web crawler should strip invalid characters from the url

Another puzzle with 0 solves that seems to be anomalous: http://blog.livedoor.jp/bachelor_seal-puzzle/archives/86923975.html

Seems fine?

(Also this would be a separate issue, since new bachelor seal puzzles come in through the blog feed, not the inactive web crawler.)

Created at 1 week ago
pull request opened
lapaz: simplify graph handling, tweak style

Originally I just wanted to do something about the dark green borders (they're barely distinguishable from black and look a bit "dirty" to me).

As a side effect that I don't understand at all, left clicking a shaded cell now turns it explicitly unshaded. I'm not sure why this previously turned back to entirely unset -- was that deliberate or an accidental side-effect of the ghost border implementation?

Created at 1 week ago
create branch
robx create branch lapaz-style
Created at 1 week ago
opened issue
modify pzv.jp URLs that end in `.` to end in slash

Compare https://github.com/robx/pzprjs/issues/159. There's puzzles out there that swallow the bottom right clue when shared in discord.

Created at 1 week ago
closed issue
consider ending all urls in / (slash) to avoid link sharing trouble with trailing . (full stop)

When pasting a link that ends in . on discord, it links to the URL without the final dot erroneously. We could work around that by ensuring that URLs don't end in . by appending a /; simplest would be to add it regardless of whether the previous last character is a .. I believe there's no puzzle types where this would cause trouble.

Created at 1 week ago
issue comment
consider ending all urls in / (slash) to avoid link sharing trouble with trailing . (full stop)

Does this still occur? I believe that this was solved years ago by appending a slash when the last character is not alphanumeric.

I think you're right, this is fixed in our fork of pzprjs. I'll file a follow-up issues against the database to consider fixing "legacy" URLs (e.g. Akari generated with pzv.jp) there.

Created at 1 week ago