Skip to content

v0.90

Compare
Choose a tag to compare
@viresh-ratnakar viresh-ratnakar released this 09 Sep 00:17
· 238 commits to master since this release
c32c6d4

Version: Exolve v0.90 Septeber 8 2020

  • Add functionality to limit checking/revealing to just the current cell
    rather than the whole current light. This is done when there is a long
    click (500+ms) on "Check this" or "Reveal this." Caveat; this does
    not work on phones and tablets (I only tested on Android) as they deal
    with long-presses in some special way that I'll try to work with, at some
    point.
  • Change the default background color of the current clue strip (shown above
    the grid) to 'white' instead of 'mistyrose' (the active clues in the clues
    lists still get the 'mistyrose'). This results in a more relaxed appearance
    (I should have realized this and made this change earlier!). Of course
    this can be customized too (exolve-option: color-currclue:mistyrose will
    restore the current colour scheme). When the current clue is an orphan, its
    background continues to be shown as 'linen' (which can be changed with
    exolve-option: color-orphan:white, for example).
  • When there are multiple Exolve puzzles, use a running variable to set
    the index of a new one, rather than using the # of existing puzzles,
    as we might also need to destroy puzzles from a web page (for example,
    to show a preview).
  • Allow under-construction grids to specify '?' as the letter in a cell.
    This is treated just like '0', except that a '0' signifies that the
    grid has cells where the solution has not been provided, but a '?'
    does not.
  • Bug-fix: when the enum specified hyphenation in a child clue, and that
    child clue did not exist in the clues lists, we were hitting an
    uninitialized property.
  • Separately track the solution to display for a clue from the anno to
    display. Wrao displayed anno in its own span. Wrap the text of the
    clue in its own span.
  • Remove weird extra space between prev/next buttons in te current clue strip.
  • When typing in the grid, let space-bar advance to the next cell.
  • When typing in the grid, if an invalid character (such as punctuation) is
    typed, we were deleting the current entry. Don't do that (delete only
    with space or backspace or a new valid entry).

Version: Exolve v0.89 August 31 2020

  • Add "conf" parameter defaulting to true, to revealAll(), checkAll(),
    clearAll(). Useful for programmatically revealing/checking/clearing
    all cells without creating a confirmation dialog.
  • Follow the order used in the puzzle specs among across/down/nodir clue lists
    for rendering them. Also use that order for choosing the direction when
    toggling.
  • Allow some across/down clues to be "deleted" in the sense that they will not
    get highlighted as we go through the clues. The use-case is for omitting some
    across/down clues that are completely subsumed by some nodir clues (See
    exolve/issues/37). To mark a clue as deleted, specify it as * after its
    clue number.
  • Add more indentation space for clue labels that are not
    numbers/digits/letters.
  • Bug-fix: setting the "left" attr of curr-clue-parent was getting skipped
    in a corner case.

Version: Exolve v0.88 August 19 2020

  • Make all messages/labels/hover-texts customizable through exolve-relabel.
  • Add decorator "~" that marks as cell as "skipped-number" cell. This should
    be used to not assign the normal number to a cell that starts an across or
    down clue (that number will get assigned to the next cell that starts a clue).
    Can be used to to create specialty grids with unclued lights or lights
    clued in special ways. This can also be used to create non-numerically-
    labelled lights, as an alternative to hide-inferred-clue-numbers.
  • Better clue panel scrolling when clues-panel-lines is used: instead of
    scrollIntoView(), we just scroll the clues panel by the needed amount.

Version: Exolve v0.87 August 16 2020

  • Some CSS protections for styles that get inherited when embedding. In
    particular, box-sizing for the clue number column TD in clues lists
    should not have 'box-sizing: border-box' as we want to exclude the
    padding from its 2ch max-size.
  • When keeping the current clue visible while scrolling, allow for
    fixed/sticky-positioned navbars at the top by adding a visTop param
    to the constructor, that clients can optionally pass as the height of
    any sticky nav bar at the top.
  • Fixed bug in option clues-panel-lines.

Version: Exolve v0.86 August 15 2020

  • When going to next/prev clue from small-button clicks on the current clue
    strip, don't jump focus to a placeholder input in the clues list.
  • After dialogs (etc.), set focus back to gridInput based upon whether
    gridInputWrapper.style.display is not 'none' (rather than from usingGnav: we
    could be !usingGnav but still have some active cells).
  • Add a CSS style rule for setting font family and font size (same as grid
    letter) for the outermost .xlv-frame element, so that when embedding we do
    not inherit weird fonts unintentionally.

Version: Exolve v0.85 August 12 2020

  • Increase font size of clue numbers in grid cells by 1 point.
  • Don't use sonme random keycode to represent "shift-tab": pass a boolean to
    indicate "shift"
  • Diagramless bug fix: active clues were not getting shown even in the
    non-diagramless parts of the puzzle, even when their start cells were
    specified.
  • Complain about invalid chars if found in grid spec.
  • Found and fixed another couple of Diagramless corner case bugs:
    • extendsDiagramlessA/D() were incorrectly ignoring whether the previous cell
      ended in a bar.
    • Tab-navigation with non-diagramless adjoining diagramless was broken
    • Simplified diagramless gnav: it now happens in units of consecutive cells
      when possible, instead of single cells.
  • Found and fixed a bug in jigsaw "reveal this" from the clues list side that
    had sneaked in probably with v0.84.
  • Shorten "Diagramless" to "Dgmless"

Version: Exolve v0.84 August 7 2020

  • Major refactoring to address the following problems that were roadblocks
    in getting Exolve used within arbitrary websites without conflicting with
    the site's own JavaScript and HTML:

    • There were lots of globals in the JavaScript.
    • HTML ids and class names were not distinctive.
    • You could only have one puzzle within a single web page.
  • With this release:

    • There are only the following globals created or used by the JavaScript code,
      all but one having a distinctive name unlikely to collide with anything:
      Exolve, exolvePuzzles, createExolve, customizeExolve, and createPuzzle.
      • createPuzzle() has been retained (though marked deprecated) as it is
        used by all existing old Exolve puzzle files.
    • All HTML ids and class names begin with "xlv".
    • You can have multiple puzzles within the same web page.
      • You can place a puzzle within a specific container (such as a DIV) by
        passing the container's HTML id at puzzle creation time.
      • Or you can just have create puzzles get appended to the end of the page.
      • Each puzzle on a page can use its own oprions (such as colours) and can
        have its own customization, if needed.
  • Existing puzzle files should continue to work, with one exception: if you
    used customizePuzzle() in the past, and/or you added supplemental CSS rules,
    you would have to update those things.

    • Use customizeExolve(puzzle) now, instead of customizePuzzle. The puzzle
      object has all the components of the puzzle (instead of them being globals).
      Some of the names of the puzzle components have changed (mostly shortenings
      of very long names).
    • For updating CSS rules, please note that all class names and HTML ids now
      begin with xlv. Class names are simply the old names prefixed by "xlv-".
      Use class names in CSS rules instead of ids, preferably. The ids are
      puzzle-specific and use prefixes like "xlv1-", "xlv2-", etc.
  • Bug-fix: for languages with multi-character compound letters (such as Hindi),
    automatically inferred clue solutions were not getting set correctly.

  • Add some space between exolve-credits-generated lines via CSS.

Version: Exolve v0.83 August 3 2020

  • Refactoring, essentially no change in functionality. About 1500 fewer bytes.

Version: Exolve v0.82 August 2 2020

  • With Exolve puzzles embedded inline (not via iframes) in sites, we have
    to deal with location-hash-parts that are not Exolve state. Modified
    state parsing to now try the cookie if there is a location hash but its
    parsing fails.

Version: Exolve v0.81 July 30 2020

  • Move the current clue strip up a bit to clear the top of the grid or top
    of the active cell (depending upon whether it is in its normal position
    or scrolled position).
  • Set font family for small-print (otherwise it gets inherited and looked
    bad in Blogger).
  • Do not set location-hash state when used in an iframe widget.