Skip to content

Conversation

@alexwarren
Copy link
Contributor

This PR adds a couple of longer examples - "Coffee Shop Confessions" and "The Wheel of Dubious Fortune". Both of these are AI-generated and exist to serve as fuller demos, showing off Squiffy's functionality.

In creating these, a few issues came up which are also addressed:

  • When multiple animations are used, we usually don't want the text of subsequent animations to be shown until the animation happens, so this adds an initiallyHidden option
  • Added a fadeIn animation
  • In an {{#animate}} block, handle nested Markdown
  • Fix an issue with rotate/sequence beaking when a apostrophe appeared in the text
  • Add {{set}}, {{unset}}, {{inc}} and {{dec}} helpers so attributes can be set within an {{#if}}
  • Always show the latest attribute value when using {{attribute}}
  • Don't HTML escape text in {{embed}}
  • Clarify documentation for +++Continue

The gameshow is still a WIP but, this PR was getting big enough!

alexwarren and others added 15 commits January 10, 2026 14:53
getStore() now returns a Proxy instead of a snapshot, allowing
{{attribute}} to reflect changes made by {{inc}}, {{set}}, etc.
during the same render pass.

Previously, state was passed as a frozen snapshot to Handlebars,
so {{score}} would show the old value even after {{inc "score"}}.
Now templates can read updated values immediately.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@alexwarren alexwarren merged commit 3ec1745 into textadventures:main Jan 11, 2026
5 checks passed
@alexwarren alexwarren deleted the coffeeshop branch January 11, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant