Commit 30c8fa8f authored by Andrew's avatar Andrew

Rebuild repository with new Initial Commit for website content

parents
# IDE
.idea/
# Built HTML
_build/
In order to submit an effective bug report, please include the following information along with your issue description.
### Environment Details
> Please share the following basic details about your setup.
* Foundry VTT Version: (Example 0.5.4)
* Operating System: [Windows, MacOS, Linux (which distro)]
* How Are You Using Foundry: [Native Application (Electron), Chrome, Firefox, Safari, Brave, etc...]
* Which Game System: (Example dnd5e)
* Modules Enabled?: [yes, no] If yes, please list any which might be relevant
### Issue Description
> Please provide a description of your issue below. Including console error messages, screenshots or videos can be particularly helpful.
/label ~Bug ~Nonrepro
In order to submit an effective feature request, please include the following information along with your request.
### Feature Summary
> Please describe with as much detail as you feel is necessary the feature which you are requesting.
### User Experience
> Please describe what you feel the ideal user experience would be for interacting with this new feature.
### Priority/Importance
> Please describe your assessment of feature priority. If you feel it is highly important, describe why you believe it to be more important than other enhancements.
/label ~Feature
This diff is collapsed.
This diff is collapsed.
<h3>Updated February 10, 2020</h3>
<p>
Foundry Virtual Tabletop and FoundryVTT.com is committed to protecting your privacy while using our website
and application. This document describes what data we collect and persist, and under what circumstances it
is used. This document will be updated from time to time - the date of the most recent revision will be
reflected at the top of the document.
</p>
<h3>What personal data do you collect and why?</h3>
<p>
We collect the following personal data in order to validate your identity and protect the value of each
Foundry Virtual Tabletop software license.
</p>
<ol>
<li>Your chosen display name on the FoundryVTT.com website platform.</li>
<li>Your email address.</li>
<li>The IP address from which you update the Foundry Virtual Tabletop software.</li>
</ol>
<p>
We do NOT collect or store any data related to billing or payments. Your name, billing address, and credit card
details are all financial data processed by Stripe which is a highly reputable e-commerce platform which uses
industry standard security practices to encrypt your payment and billing data. Additionally, we do not collect
any data about how or when you use the Foundry Virtual Tabletop software.
</p>
<p>
The data we collect is kept securely in an encrypted database and is not shared with any third party for any
reason. You may view your personal data on your Profile page and request its deletion at any time by
sending an email to
<a href="mailto:[email protected]?subject=Personal Data Deletion Request">[email protected]</a>
from the email address associated with your FoundryVTT.com account.
</p>
<h2>Alpha 0.1.5 Update Notes</h2>
<p>Hey there everybody, I'm excited to share Foundry Virtual Tabletop Alpha version 0.1.5. This release adds two major new features: Measurement Templates and Auto-Updater which are both key improvements that I've been excited to implement. In addition to these two major features there are a large number of smaller enhancements, bug-fixes, and quality-of-life improvements.</p>
<p>The next release version will focus heavily on the new player experience, interface, and documentation in anticipation of the upcoming Beta 0.2.0 release. For more details on the beta testing process please read https://www.patreon.com/posts/24469236.</p>
<p>Thank you all for your continued help, enthusiasm, feedback, and support. Please keep an eye on the development progress board here for visibility into what features are in progress and coming up next!</p>
<p><a href="https://gitlab.com/foundrynet/foundryvtt/boards" target="_blank" title="FVTT Story Board">https://gitlab.com/foundrynet/foundryvtt/boards</a></p>
<hr/>
<h3>Download Instructions</h3>
<p>If you are a Patreon supporter at the $10 or greater level, please download the new build here: <a href="https://www.patreon.com/posts/24553068" target="_blank" title="Alpha Supporter Download Links">https://www.patreon.com/posts/24553068</a></p>
<hr/>
<h3>New Features</h3>
<ul>
<li>The new <strong>Auto-Updater</strong> allows for you to download and install application updates directly from within Foundry Virtual Tabletop. During the testing phases, when a new update is made available, Patreon supporters will be given an <strong>Access Key</strong> which can be used to download the new version. The updater can be accessed by GM users through the <strong>Update Software</strong> button on the Settings menu. Once the update is downloaded and installed, the application will automatically restart using the new version. The design of the auto-updater will ensure that your data stored in the <code>public</code> folder is protected during the update process, but I regardless strongly recommend that all users maintain backups of their world data, especially when updating to a new software version.</li>
<li>Implemented a major new feature: <strong>Measured Templates</strong> which allow for you to measure and place area of effect templates with support for rectangle, circle, cone, and ray (or beam, wall, etc..) template types. These templates are placed using a new set of Scene controls, available to GM users on the left side of the screen. These measured templates can be easily created using a click+drag workflow and once created can be configured by double clicking on their control icon. Under the control menu for templates you can customize their type, positioning, and appearance. Each template can have a configured border color, fill color, as well as a tiled texture which is overlayed on the template effect. Measured Templates are rendered on the VTT canvas above the map Background and Grid layers, but below Tokens. Placed templates are synchronized for and shown to players in real time.</li>
<li>Entities (Actors, Scenes, Items, etc...) are now sorted alphabetically within their parent Folder.</li>
<li>Compendium packs will now remember your search string, so if entries are changed or modified within the pack you will continue searching for the same target entry. This makes manual workflows to populate compendium packs with new content more convenient.</li>
<li>Token UI and controls are now dynamically scaled to perform better on maps with either small (&le; 50px) or large grid sizes (&ge; 150px).</li>
<li>Token rotation may now be also controlled purely with a keyboard. Holding <code>SHIFT</code> while pressing a directional movement key will turn your token to "face" in the direction of your keypress. This adds additional flexibility to the control scheme for players who prefer keyboard shortcuts or do not have easy access to a mousewheel (like laptops).</li>
<li>Each Token's position is saved before movement, so you may now undo a token move with the standard CTRL+Z keyboard command. This position memory is also synchronized across all users, so as a Gamemaster user you can undo a movement executed by a player if you need to reset their token to it's previous location.</li>
<li>Added a new audio cue when it becomes your turn in combat. This rolling drum sound will alert players whenever it becomes the turn of a Token whose associated Actor they own. The sound effect will alert Gamemaster users whenever it becomes the turn of a Token that no player can control.</li>
<li>You will now be prompted with a confirmation dialog when attempting to delete a Gamemaster permission user from the Player Management screen.</li>
</ul>
<hr/>
<h3>Bug Fixes</h3>
<ul>
<li>Ambient sounds set as type "global" failed to pass through walls as originally intended. Global sounds will now be heard by any token in their radius of effect regardless of any walls in between.</li>
<li>Resolved a edge case bug which caused longer token names to become very large when rendered on Scenes with small grid sizes.</li>
<li>Fixed an issue which prevented items from being dragged directly from an Actor sheet into an Item Compendium pack.</li>
<li>In the previous version, server-side validations for Scene background images required image file extensions to be lower case (i.e. png, not PNG). Now image files with upper-case image extensions will work properly.</li>
<li>Restored functionality on the Player Management page to create and delete new user entities. More details on this change are found in the software section below.</li>
<li>Corrected a security risk allowed by chat message validation logic which was incorrectly allowing script injection through chat log messages.</li>
</ul>
<hr/>
<h3>Core Software, APIs, and Module Development</h3>
<ul>
<li>Improved the design of the Application abstract UI to allow the <code>getData()</code> method to return a <code>Promise</code> instead of a synchronous object only. The method may still return a static object for flexibility, but Promises are also supported. This is particularly valuable for UI elements where the content of the application must first be queried or fetched from some external source.</li>
<li>The <code>Token</code> class has benefitted from a significant refactoring to standardize its implementation to use the new <code>PlaceableObject</code> pattern which also powers light sources, walls, ambient sounds, and the new measured template objects. Similarly, the <code>TokensLayer</code> has been migrated to inherit from the <code>PlaceableLayer</code> parent.</li>
<li>Refactored the player management page as a standardized <code>Application</code> class with it's own listeners, socket handlers, and validations.</li>
<li>Standardized the uppermost <code>ControlsLayer</code> of the canvas (which was previously named the CursorLayer). This layer now centralizes the display of control icons, cursors, or other UI/UX prompts which are rendered above all other map layers.</li>
</ul>
<hr/>
<h3>D&D5e Game System Improvements</h3>
<ul>
<li>Added a "Roll Mode" dropdown selector on Skill Checks, Ability Tests, Saving Throws, Weapon/Spell Attacks, and Tool Checks. This allows you to easily, at the time a roll is placed, configure the visibility level of the dice to quickly GM Roll or Blind Roll.</li>
<li>Continued work on updating the core SRD Spells compendium. Still ongoing...</li>
</ul>
<hr/>
<h2>Alpha 0.1.6 Update Notes</h2>
<p>Hey there everybody, I am particularly enthusiastic for this Alpha version, 0.1.6, because it represents the completion of the work I had scope to accomplish before inviting Beta phase testers to join active testing! Version 0.1.6 focuses largely on solidifying some core systems, closing some open bugs, improving stability where possible, and adding some additional features to the auto-updating process.</p>
<p>This build will be the version shared with Beta phase testers later this week. I wanted to go ahead and release it early for the Alpha population to collect some preliminary feedback and resolve any uncaught bugs before sharing with the Beta community. For more details on the beta testing process please read https://www.patreon.com/posts/24469236.</p>
<p>Thank you all for your continued help, enthusiasm, feedback, and support. Please keep an eye on the development progress board here for visibility into what features are in progress and coming up next!</p>
<p><a href="https://gitlab.com/foundrynet/foundryvtt/boards" target="_blank" title="FVTT Story Board">https://gitlab.com/foundrynet/foundryvtt/boards</a></p>
<hr/>
<h3>Download Instructions</h3>
<p>This represents the first FVTT build which can be updated using the auto-updater functionality. To use the updater, visit the Settings tab of the sidebar (the question-mark icon) and click on "Check for Update". The update key used to unlock the upload version will be shared with Alpha tier testers in a separate post. If you are a Patreon supporter at the $10 or greater level, please review the download instructions here: <a href="https://www.patreon.com/posts/24553068" target="_blank" title="Alpha Supporter Download Links">https://www.patreon.com/posts/24553068</a></p>
<hr/>
<h3>New Features</h3>
<ul>
<li>Add an End User License Agreement (EULA) which must be agreed by purchasers and authorized testers prior to setting up World. Test of the current license may also be reviewed <a href="http://foundryvtt.com/license.html" title="FVTT EULA" target="_blank">HERE</a>.</li>
<li>Extended the auto-updater functionality that was added in update 0.1.5 to support "hotfix" type updates which are quicker to install and more lightweight. This will allow me, in the future, to patch the software more rapidly.</li>
<li>Expanded support for "undo" functionality to all canvas placeable layers, and record a history of actions on a per-layer basis up to 10 changes. CTRL+Z will now work for walls, light sources, ambient sounds, tokens, and measured templates - allowing the GM to undo any changes which were inadvertently made.
<li>Added a new Scene configuration setting which allows for visibility to not be restricted by Token vision or lighting systems. This can be ideal for simple maps, game boards, or world maps where sophisticated vision control is not required.</li>
<li>In an attempt to reduce confusion for new GMs and players, show a warning banner message if a player joins a scene in which vision is restricted and they do not have an active character token with vision.</li>
<li>Extended access to Measured Template controls. Players with the TRUSTED permission level can now place AoE templates directly onto the Scene.</li>
<li>Compendium packs will now remember their scrolled position when being filtered or when the content is added or removed. This provides a quality of life improvement when adding or deleting content from an existing compendium pack.</li>
<li>Improve some elements of the pop-out window rendering logic to dynamically cause inner content to feature vertical scrolling in the event that it overflows the available screen area.</li>
<li>Added player-specific volume override controls for actively playing Audio Playlists. When a GM user adjusts track volume it will apply for all players, but players can then adjust the volume level to be louder or quieter as suits their own preferences and local audio environment.</li>
<li>Improved the Playlist shuffle behavior, beginning playback of the entire playlist set of tracks once again after each track has been shuffled and played once.</li>
<li>Playlists themselves can now be edited using a simple configuration sheet. This allows Playlists to be renamed or have their playback mode changed using a form-based UI.</li>
<li>Audio playlists may now be collapsed to economize on screen space. Click on the name of the playlist to toggle it's collapsed status.</li>
</ul>
<hr/>
<h3>Bug Fixes</h3>
<ul>
<li>Resolved an issue which prevented token visibility from being correctly updated upon token movement, resulting on tokens that were not visible in the field-of-view of a token still remaining visible on the map.</li>
<li>Fixed a bug which prevented the combat turn order audio cue from playing for players.</li>
<li>Closed a loophole which allowed Players to mark a compendium pack as Private, an ability which is now only available to GM users.</li>
<li>Fixed a bug which resulted in owned Item updates improperly calling the Item.update method.</li>
<li>The first created Scene will automatically receive the Active status (as previously intended).</li>
<li>Revisied and improved the logic used to strip potentially malicious HTML tags from chat message text. The method included in the 0.1.5 update introduced a fatal error for node.js servers.</li>
</ul>
<hr/>
<h3>Core Software, APIs, and Module Development</h3>
<ul>
<li>The button options defined for Dialog applications can now take a <code>condition</code> attribute which provides a logical test for whether the button is visible to the user for whom the dialog is rendered.</li>
<li>The Combat class (featured as <code>game.combat</code>) has been refactored to transact <code>Promise</code> objects for methods which manipulate the turn order.</li>
<li>Standardized the handling of web autoplay policy detection to encompass both Playlists and Ambient Audio sources.</li>
</ul>
<hr/>
<h3>D&D5e Game System Improvements</h3>
<ul>
<li>Added functionality to the Long Rest button on the 5e character sheet. A long rest will restore the character's hit points, half their available hit dice, primary or secondary resources which recharge on long rest (LR), and spell slots per day.</li>
<li>Added functionality to the Short Rest button on the 5e character sheet. A short rest presents a pop-up dialog which allows for rolling Hit Dice that restore hit points. Short Rests will also recover primary or secondary resources which are recovered on short rest (SR).</li>
<li>Fixed a bug with tool proficiencies which were presenting specialized proficiency levels (Jack of All Trades, Expertise) from applying the correct Proficiency modifier to rolled tool checks.</li>
<li>Improved the wording of chat cards for healing spells to use the word "healing" where it previously said "damage".</li>
<li>Fixed a bug which prevented spells from being un-prepared.</li>
<li>Corrected a bug which prevented Skill Checks from being rolled in Firefox.</li>
<li>Added many additional spell entries to the SRD Spells compendium, completing spell set up through letter "M". Only about 1/3 of the spells still to go!</li>
</ul>
<hr/>
<h2>Alpha 0.1.7 Hotfix Notes</h2>
<p>This is a hotfix version addressing several issues which emerged through the <code>0.1.6</code> update. The bug fixes are detailed below.</p>
<hr/>
<h3>Core Bug Fixes</h3>
<ul>
<li>Resolve a blocking problem for multiplayer connectivity where the user cookie check was performed too soon preventing players from joining a game session.</li>
<li>Fix a loophole with chat sanitization that caused too many valid HTML tags or attributes to be stripped from messages.</li>
<li>Corrected an issue with Scene activation which caused the combat tracker to not properly update the turn order in the new Scene.</li>
<li>Fix an issue with the "End Combat" button which was not properly clearing the turn order tracker unless the browser was manually refreshed.</li>
<li>Improve the behavior of token combat control icons such that they are properly updated when tokens are added or removed from combat, either through the token control UI or through the combat tracker itself.</li>
</ul>
<hr/>
<h3>D&D5e Bug Fixes</h3>
<ul>
<li>Fix an issue with short and long rest buttons which prevented them from functioning correctly.</li>
<li>Improve the chat log display of short and long rest icons, detailing the number of hit dice and hit points spent or regained.</li>
<li>Fix an incorrectly displayed Spell DC for spells which set a different spellcasting ability than the default one chosen on the character sheet.</li>
</ul>
<hr/>
<h2>Beta 0.2.0 Release Notes</h2>
<p>The Beta 0.2.0 release of Foundry Virtual Tabletop is a bit unusual in that it does not represent a significant update in features from the Alpha
0.1.7 build distributed recently. This particular update is more of a re-basing of the versioning system to use minor version 0.2 moving forward for Beta testing.</p>
<hr/>
<h2>Beta 0.2.2 Update Notes</h2>
<p>This Foundry Virtual Tabletop beta update includes a large number of features and fixes (in fact, the largest number of any single update version thus-far). The flagship improvements in update <code>0.2.2</code> include the initial implementation of the <strong>Tiles Layer</strong> which allows for you to place art assets on top of the background image, improvements to the performance of <strong>Dynamic Lighting</strong> through the addition of new shadow-map optimization, expanded control over <strong>Walls</strong> allowing you to adjust wall types on the fly, and added support for negative values of <strong>Light Source</strong> emission - allowing you to create areas of darkness which override nearby lights.</p>
<p>In addition to these more significant features, this update also includes a large number of smaller features, bug fixes, and enhancements. I'm really excited about the continued progress for this software and motivated by the support and encouragement of the community. Thank you all for appreciating my work, providing thoughtful feedback, and encouraging me to do even more.</p>
<hr/>
<h3>New Features</h3>
<ul>
<li>Improve the logic of TAB key target cycling. TAB will now cycle through any tokens that you have ownership rights to and remember the cycle order. You can use SHIFT+TAB to cycle backwards as well. If no tokens are able to be controlled TAB will simply recenter your view in the Scene's default orientation.</li>
<li>Increased the default value for the maximum zoom level of the canvas from 200% to 300%. This option can also now be configured by modules (see below).</li>
<li>Changes to a Token's nameplate value will now be automatically synchronized with that Token's entry in the turn tracking order (if it is present). Previously the name displayed in the turn order would not update unless you removed and re-added the token.</li>
</ul>
<hr/>
<h3>Core Bug Fixes</h3>
<ul>
<li>Restored functionality of "global" light sources, which were previously failing to penetrate through intervening walls as intended. Global lights now are visible even if walls are in the way.</li>
<li>Scene background images which include url-unfriendly characters like spaces or parentheses should now be tolerated by the server which creates thumbnail images for that scene.</li>
<li>Fixed an issue with the rectangular token select tool which prevented it from working properly.</li>
<li>Resolved an issue with window resizing and ambient sounds which caused them to be duplicated resulting in overlapping instances of the same audio effect.</li>
<li>Resolved an issue which caused the ESCAPE key, and it's control over the main menu, to become stuck and prevent the menu from closing after multiple uses.</li>
<li>Corrected a problem with token visibility state changes which did not correctly propagate to the combat turn tracker.</li>
<li>The Playlist sidebar tab was only showing players the first audio track in a playlist to play, but failing to update properly when tracks were shuffled or sequenced. This issue should now be resolved.</li>
<li>Fixed some poor logic in the implementation of the Tabs helper which allowed for the possibility that tab control would be cross-contaminated across multiple similar UI elements (like character sheets). You now will only be able to control the tabs within the application where the tab control also resides.</li>
<li>Fixed a visual artifact that resulted in a token "flicker" when first beginning to drag the token. This should visually now appear more smooth.</li>
</ul>
<hr/>
<h3>Core Software, APIs, and Module Development</h3>
<ul>
<li>Added two new Hooks in the main application initialization order. Please see details here: https://gitlab.com/foundrynet/foundryvtt/issues/444.</li>
<li>Added new Hooks which can be used to easily customize the options included in context menu entries for sidebar tabs and directories. Please see details and example usage here: https://gitlab.com/foundrynet/foundryvtt/issues/443</li>
<li>The maximum zoom level of the game canvas can now be configured by modules by assigning <code>CONFIG.maxCanvasZoom</code>.</li>
</ul>
<hr/>
<h3>D&D5e Fixes and Improvements</h3>
<ul>
<li>Context menu options for dice rolls (apply damage or healing) will now only be shown if you are currently controlling a token or tokens. This should help prevent confusion around how this option may be used.</li>
<li>Posting chat cards for weapon, spell, or other item actions will now obey the current roll mode value and post using private GM or blind messages if that setting does not designate public rolling.</li>
<li>The current value of the global roll mode dropdown menu will now inform the default choice available when rolling checks or attacks using chat cards in the 5e system.</li>
<li>Resolved a bug which prevented context menu damage application to apply for tokens which were not linked to their prototype Actor.</li>
<li>Fixed a bug which caused re-draws of the game canvas to lose track of the designated diagonal measurement rule setting.</li>
</ul>
<hr/>
<h2>Beta 0.2.10 Update Notes</h2>
<p>Greetings friends and supporters! I have an additional quick update this week with version <code>0.2.10</code>. My plan had been after <code>0.2.9</code> to begin working immediately on the new major version <code>0.3.0</code>, however there were a number of bugs in the previous version release that I was not happy with so I have decided to release a smaller incremental version which addresses a number of bugs before moving onwards. There are no major features in this update, just bug fixes and API extensions. Thank you all for your continued feedback. As always, please keep an eye on the GitLab boards for issue tracking and update progress.</p>
<p><a href="https://gitlab.com/foundrynet/foundryvtt/boards" target="_blank" title="FVTT Story Board">https://gitlab.com/foundrynet/foundryvtt/boards</a></p>
<hr/>
<h3>Bug Fixes</h3>
<ul>
<li>In cases where a module had defined an Actor Sheet implementation which was set as the default preference for an actor or for the world, if that module was disabled it could cause a failure in opening the Actor sheet. The new behavior is that requested sheets will only be used if they are present as an enabled module, otherwise the behavior will fall back to the default behavior.</li>
<li>Corrected a problem with the "Minimal Worldbuilding" system which prevented Actors from being displayed due to lack of a registered Actor Sheet.</li>
<li>Fix a display issue in the Token Configuration sheet which caused the units of measure to be incorrectly omitted.</li>
<li>Solved a problem where deleting a Token which was present in a Combat Encounter for an inactive scene could cause a fatal crash when that Scene was later activated.</li>
<li>Fixed a Token display and rendering problem which could temporarily show a movement animation for Tokens which were not visible within the line of sight polygon.</li>
<li>Corrected a limitation which prevented Players from having permission to Export (or Import) Actor Data for actors which they owned.</li>
<li>Fixed a problem with removing a combatant from a Combat Encounter that could fail to update the correct combat status of token control icons.</li>
<li>Corrected an accidental permission change which allowed for hidden Tokens to be incorrectly displayed with alpha transparency to players.</li>
<li>Improved the behavior of Chat Log rendering to ensure that messages are displayed in the order they were received. Previously messages containing dice rolls could be displayed out of order due to asynchronous HTML rendering.</li>
<li>Worked to avoid some edge case display issues with tokens and line of sight polygons which allowed some tokens to be displayed when only a tiny fraction of their base was visible to the player.</li>
<li>Improved the event handling for Token nameplate updates to ensure that changes will propagate immediately to the combat tracker if the Token is present in an active combat encounter.</li>
<li>Resolved a problem with deleting a combat participant which could allow the combat turn order to fall out of bounds, no longer displaying an active turn.</li>
<li>Improved the logic for brand new worlds which do not (yet) have any <code>sheetClasses</code> core setting applied.</li>
<li>Fixed a problem through which players did not have access to view the Notes Layer on the Scene because there was no control tool in the permitted set.</li>
<li>Improved the logic around module enabling/disabling to ensure that JavaScript, CSS, and compendium Packs are only loaded for modules which are active and enabled.</li>
</ul>
<hr/>
<h2>Beta 0.2.2 Update Notes</h2>
<p>This Foundry Virtual Tabletop beta update includes a large number of features and fixes (in fact, the largest number of any single update version thus-far). The flagship improvements in update <code>0.2.2</code> include the initial implementation of the <strong>Tiles Layer</strong> which allows for you to place art assets on top of the background image, improvements to the performance of <strong>Dynamic Lighting</strong> through the addition of new shadow-map optimization, expanded control over <strong>Walls</strong> allowing you to adjust wall types on the fly, and added support for negative values of <strong>Light Source</strong> emission - allowing you to create areas of darkness which override nearby lights.</p>
<p>In addition to these more significant features, this update also includes a large number of smaller features, bug fixes, and enhancements. I'm really excited about the continued progress for this software and motivated by the support and encouragement of the community. Thank you all for appreciating my work, providing thoughtful feedback, and encouraging me to do even more. As always, please keep an eye on the development progress board here for visibility into what features are in progress and coming up next!</p>
<p><a href="https://gitlab.com/foundrynet/foundryvtt/boards" target="_blank" title="FVTT Story Board">https://gitlab.com/foundrynet/foundryvtt/boards</a></p>
<hr/>
<h3>New Features</h3>
<ul>
<li>Added the first stage of a new layer of the game canvas, the Tiles Layer! Tiles allow you to place art assets in your scene which are rendered above the scene background image, but below any Tokens. Some great use cases for tiles include building dynamic dungeons from tile sets, adding additional props to your scene like ladders or traps, or displaying environmental hazards. Please note, this is just the <strong>first stage</strong> of work on the Tiles Layer, there are many features which are planned but not yet implemented. In particular: tiles can not yet be rotated, the placement workflow for tiles is still a bit clunky, tiles cannot be copy+pasted for repeat placement, and there is not a browsable library of tile images that can easily be placed into the scene. All of these enhancements (and more) are planned for upcoming versions, but I felt it was worth-while to get the basic tile layer and management workflow added right away. It's not perfect yet, but please bear with me as this component continues to improve!</li>
<li>Implemented a performance improvement to the Dynamic Lighting system which uses a shadow-mapping approach to improve rendering performance for the Sight Layer. In my test scenes, I measured an average of a 34% reduction in render time as a result of these improvements. I am eager to hear feedback from the community on whether they notice any positive effects of the change.</li>
<li>New flexibility has been added for the configuration of light sources (either ambient or tokens). Bright and dim light may now be given a negative value - which causes an aura of darkness to occur instead of illumination. The value of the negative number configures the radius of darkness, just as in the case of positive values and illumination. This can be used for all sorts of fun effects like magical darkness spells, or environmental areas which are heavily obscured.</li>
<li>Added a World-level configuration setting which allows the GM to customize whether or not players are allowed to control door states. If this setting is enabled, players may open and shut unlocked doors (the current behavior), however if this setting is disabled players will be able to see door icons, but not interact with them.</li>
<li>The sensitivity of grid snapping when placing walls is now somewhat adaptive to the initial grid sizes. Maps with large grid sizes will have more snap-points per grid unit while maps with small grids will have fewer.</li>
<li>The TAB key will now cycle through the set of tokens which have at least OBSERVER permission for the current player. This works a lot better for managing stream views or shared party views where the observer user can quickly cycle through player tokens.</li>
<li>When mousing over a wall segment, that segment will be shifted to the upper-most layer of the Walls container, this makes the user experience of selecting the desired wall endpoint from a pair of overlapping endpoints much easier.</li>
<li>Added a black border around wall preview lines to add more contrast for maps for which the previous Wall colors were difficult to see.</li>
<li>Support activating a Scene directly from the sidebar directory, even if that scene is not currently shown in the Scene Navigation bar. As long as the scene is active it will appear in the bar for the GM and for players, but once that Scene is no longer active it will be automatically removed from navigation.</li>
<li>Added a context (right-click) option to Journal Entries to "show to everyone" regardless of the user's normal permission to view the entry.</li>
<li>Added a button on the World Setup menu to navigate to the Update Software page directly without needing to first load into an existing World.</li>
<li>Placed a new section in the sidebar settings menu which will easily give you the URL links for a player to join your game either via local network or internet. Clicking on the relevant invite link will copy it to your clipboard for easy pasting.</li>
<li>Added some additional client-side behaviors for when a disconnection occurs from the server. This will warn you that you have lost connection to the server, and if you are unable to reconnect will redirect you back to a safe page.</li>
</ul>
<hr/>
<h3>Core Bug Fixes</h3>
<ul>
<li>Fixed a significant bug with the Fog of War system which caused saved fog to fail to be reloaded when switching back and forth between Scenes without fog being first re-saved.</li>
<li>Changes to the permission settings of an Actor will now more reliably trigger a re-draw of the sight layer if the change in permission results in a need for vision re-rendering.</li>
<li>Addressed an issue which, ironically, caused token vision to sometimes disappear completely when moved in a scene that was configured to not require token vision.</li>
<li>Resolved an issue which could cause the ruler tool in the Templates layer to get stuck in measure mode or get stuck off-screen.</li>
<li>Corrected a defect in the audio playlist sidebar which caused tracks which were set to loop to incorrectly display their status as stopped after the first iteration of the loop.</li>
<li>Fixed an issue which prevented Scene navigation from correctly displaying the currently viewed scene with an interface cue.</li>
<li>Fixed a bug which caused the export chat log function to choke on messages with certain formatting options.</li>
<li>Reworked the logic used to export the chat log such that it should now work in all modern browsers (in particular, it was broken for Firefox).</li>
<li>Improved the detection of Token hover events to remedy a situation where many tokens could be stuck in their "hover" state, still showing their highlighted borders even when they are no longer active hover targets.</li>
<li>Resolved an issue which could result in door control icons being displayed for a player who otherwise has no vision source in a particular Scene.</li>
<li>Fixed an issue which could result in the Combat Tracker turn order overflowing the number of combatants in the tracker, causing a client side crash which was difficult to recover from.</li>
<li>Prevented a client-side crash which could occur if the active scene was switched while a token was in the midst of a movement animation.</li>
</ul>
<hr/>
<h3>Core Software, APIs, and Module Development</h3>
<ul>
<li>Added a Hook event when the combat turn order changes which provides both previous and current Arrays reporting the round, turn, and token. This event should generalize to a wide range of callback actions that modules or systems may want to take when the combat order changes.</li>
<li>The <code>AudioHelper.play</code> method was lacking a socket listener to support propagating sounds to all connected clients, this has been added so the <code>push</code> argument of this method now functions as expected. See https://gitlab.com/foundrynet/foundryvtt/issues/476 for further detail.</li>
<li>Added a generalized helper interface to standardize and automate the management of mouse event interactions for containers on the PIXI canvas. This will help me to standardize my approach for this and reduce overall code footprint. Module developers may consider using this pattern themselves if they end up drawing objects onto the canvas which require mouse interactions. See the <code>HandleManager</code> class for details (no docs yet, sorry).</li>
<li>Improved the approach towards tracking and detecting each user's active state - this should improve the reliability of the HUD which displays which players are currently connected to a game session.</li>
</ul>
<hr/>
<h3>D&D5e System Improvements</h3>
<ul>
<li>Fixed a bug with the saving throw roll dialog which caused it to be missing some of its standard dialog options.</li>
<li>Corrected the display of ability DC on feats which had specified a specific Ability modifier to use.</li>
<li>Added display of the damage type dealt to damage rolls posted to chat.</li>
<li>Restored the ability to add equipment-type items to an NPC actor directly from their inventory header.</li>
</ul>
<hr/>
<h2>Beta 0.2.3 Update Notes</h2>
<p>Hey there VTT friends, I'm excited to share version <code>0.2.3</code> with you which continues building upon some of the newly introduced systems for Tiles while adding a number of new quality of life features for Token management. This update is available immediately for Council tier supporters and will be made available on Tuesday, March 12 for beta tier supporters!</p>
<p>In addition to these more significant features, this update also includes a large number of smaller features, bug fixes, and enhancements. I'm really excited about the continued progress for this software and motivated by the support and encouragement of the community. Thank you all for appreciating my work, providing thoughtful feedback, and encouraging me to do even more. As always, please keep an eye on the development progress board here for visibility into what features are in progress and coming up next!</p>
<p><a href="https://gitlab.com/foundrynet/foundryvtt/boards" target="_blank" title="FVTT Story Board">https://gitlab.com/foundrynet/foundryvtt/boards</a></p>
<hr/>
<h3>New Features</h3>
<ul>
<li>Added a number of controls for Tiles which mirror the user experience with Tokens. A selected tile can be shifted using directional movement keys and rotated using CTRL+Mousewheel or SHIFT+Mousewheel or SHIFT+Movement keys.</li>
<li>Added a token configuration field for elevation, which can track height or depth of the token relative to the 2d battlefield. When a token has a non-zero elevation, a tooltip will be displayed above the top of the token to show their current elevation value.</li>
<li>Tokens can now have their combat state toggled in bulk. When a group of tokens is selected, clicking the combat control on any of the tokens in the controlled set will add (or remove) all controlled tokens to the combat tracker.</li>
<li>Tokens can now have their hidden state toggled in bulk. With a group of tokens selected, clicking the token control button for one token in the group will toggle visibility for the whole group.</li>
<li>Tokens can now be copied and pasted using CTRL+C and CTRL+V to duplicate a single token or a group of controlled tokens and drop them at a different location in the same scene or even in a different scene entirely. This can make setting up encounters or moving your entire party to a new area much easier since you can copy the set of party tokens and paste them into the new Scene.</li>
<li>Added the ability to preload an audio track for connected clients, causing them to begin downloading the audio source in the background so that it will be ready for immediate playback once the download is successful. To preload audio, right click on the track name and select the Preload option from the context menu.</li>
<li>Added a client-specific global volume slider for modifying the volume of audio playlists - the volume at which a playlist track is now played is the track-specific volume slider times the global volume modifier. This is helpful for players who generally think that all music is too quiet, or too loud and allows for a way to generally rebalance the audio environment without tweaking each playlist track individually.</li>
<li>Added a client-specific global volume slider for modifying the volume of ambient or environmental audio effects.</li>
<li>Added a client-specific global volume slider for modifying the volume of interface audio cues and prompts like dice rolls, combat turn order cues, direct messages, or locked doors.</li>
<li>Improved the assumptions around Token movement collision and Gamemaster permissions. Previously drag+drop movements were blocked for short distances as they were confused with keyboard movements. Now wall collision only applies to GameMaster users when using keyboard movement but drag+drop is always allowed.</li>
<li>Game invitation links have been moved from the settings sidebar to a separate pop-out window that is opened through a button in that sidebar. This change is primarily done to protect streamers who might inadvertently broadcast their own IP address.</li>
<li>Added a new world-level configuration setting to disable cursor tracking as some users have found this feature more distracting than valuable.</li>
<li>Fixed issues with overflowing Actor names in the sidebar directory - names that are too long to render will now simply get truncated to ensure that each Actor entry is rendered in a consistent way.</li>
<li>Slightly modified the language of the EULA to clarify the expectations around using FVTT to host multiple game sessions simultaneously - which should require the purchase of multiple licenses.</li>
</ul>
<hr/>
<h3>Core Bug Fixes</h3>
<ul>
<li>Token emitted light sources were previously not correctly revealing tokens which are illuminated by their area of effect, this caused tokens which should have been visible to instead be concealed from the player.</li>
<li>Correct an issue with multiple ambient audio sources using the same audio file path. Now if multiple sources of the same sound are audible, the loudest version of that sound will play for the connected client.</li>
<li>Token rotation using keyboard shortcuts (SHIFT + Direction) were not properly broadcasting to other connected clients. This has been fixed and keyboard rotation will now be synced across all users.</li>
<li>Avoid generating hard failures when attempting to acquire the remote IP invitation link for servers which are not connected to the internet.</li>
<li>Fixed an incorrect behavior which was causing GM users to immediately assume control of a specific token when changing their view to a new Scene. This behavior continues to occur (as intended) for player users, but GMs now retain a global perspective until a token is deliberately selected.</li>
<li>Remove border and handles from Tiles when the Tiles Layer is deactivated.</li>
<li>Prevent the grid size for a Scene from being set to a negative value.</li>
<li>Added a minimum latency threshold for click events which can help to avoid rapid simultaneous clicks generating duplicated events.</li>
<li>A bug with negative light sources (darkness sources) actually revealed fog of war as a positive light source would.</li>
<li>Fixed an issue in Firefox which prevent Scene notes from correctly saving.</li>
<li>Holding down the SHIFT key will now correctly bypass grid snapping for initial Tile placement.</li>
<li>Fixed an issue with the combat tracker and hovering over a combatant token. There were some cases where the event handler for this action was expecting a PIXI event rather than a native JavaScript event, triggering errors.</li>
<li>Dragging an OwnedItem from an Actor sheet back into the Items sidebar directory previously would corrupt and invalidate the item ID of the owned item instead of a duplicated copy.</li>
<li>Rolling initiative for tokens in a hidden state would previously generate a public initiative roll, revealing the name of the hidden actor. Now when initiative is rolled for a hidden token the initiative roll automatically becomes a private GM roll.</li>
</ul>
<hr/>
<h3>Core Software, APIs, and Module Development</h3>
<ul>
<li>Improved the behavior of Scene._onUpdate to automatically re-draw the canvas when collections of placeable objects are modified directly on the Scene instance.</li>
<li>The Grid distance which can be configured for a Scene is now able to be a float where previously it was coerced to an integer value.</li>
<li>Added support for <code>Hooks.once()</code> which allows you to register a callback function for a specific hook event which is automatically unregistered after firing once. This can be helpful for one-time setup callbacks.</li>
<li>Added support for <code>Hooks.off()</code> which allows a specific callback function to be removed from the set of hooked callbacks.</li>
<li>Refactored the MeasuredTemplate placeable object to use the new HandleManager drag and interaction workflow introduced in 0.2.2.</li>
<li>Refactored the AmbientSound placeable object to use the new HandleManager drag and interaction workflow introduced in 0.2.2.</li>
<li>Refactored the AmbientLight placeable object to use the new HandleManager drag and interaction workflow introduced in 0.2.2.</li>
<li>Refactored the Wall placeable object to use the new HandleManager drag and interaction workflow introduced in 0.2.2.</li>
</ul>
<hr/>
<h3>D&D5e System Improvements</h3>
<ul>
<li>Corrected an issue which caused skill and ability check rolls from an Actor character sheet to not be rolled with the character name as the in-character alias.</li>
<li>Extended the diagonal measurement implementation in the 5e system to allow float values for the grid distance.</li>
<li>Added an explicit container height for the feats container in the Actor character sheet to allow it to vertically scroll when an actor has many feat entries.</li>
<li>Fixed a bug which prevented ability test rolls from occuring properly using Firefox.</li>
</ul>
<hr/>
This diff is collapsed.
<h2>Beta 0.2.5 Update Notes</h2>
<p>Greetings friends and supporters! I'm really excited to share another Foundry Virtual Tabletop beta release - <code>0.2.5</code> - which includes several key improvements as well as a number of general improvements to existing ones. The key theme of this update involves <strong>Grid Improvements</strong> including support for <strong>Gridless</strong> and <strong>Hexagonal Grid</strong> types. In addition to these new grid configurations, this update also includes a number of minor features and bug fixes. This update is available immediately for Council tier supporters and will be made available on Tuesday, April 2 for beta tier supporters!</p>
<p>I'm really excited about the continued progress for this software and motivated by the support and encouragement of the community. Thank you all for appreciating my work, providing thoughtful feedback, and encouraging me to do even more. As always, please keep an eye on the development progress board here for visibility into what features are in progress and coming up next!</p>
<p><a href="https://gitlab.com/foundrynet/foundryvtt/boards" target="_blank" title="FVTT Story Board">https://gitlab.com/foundrynet/foundryvtt/boards</a></p>
<hr/>
<h3>New Features</h3>
<ul>
<li>Redesign the basic Grid implementation in Foundry VTT to be more flexible and extensible to support new grid types described below.</li>
<li>Added support in the Scene Configuration menu to select a Grid Type for each scene.</li>
<li>One of the new allowed grid types is <strong>Gridless</strong> which does not render any grid lines and allows for free form movement and measurement.</li>
<li>Added another new grid type of <strong>Hexagonal</strong> with four varities. Even Columns draw flat-topped hexagons with each even numbered column offset. Odd Columns will draw flat-topped hexagons with each odd numbered column offset. Even rows draws pointy-topped hexagons with each even row offset. Odd rows draws pointy-topped hexagons with each odd row offset. Snap to grid, token movement, and ruler measurement are supported for all Hexagonal Grid types. <strong>NOTE:</strong> some features are not yet fully supported for Hexagonal grid types including wall placement snapping and Measured Template highlighting. These will be coming in a future version.</li>
<li>In order to provide a more consistent player experience for all types of maps, Foundry VTT now restricts a minimum grid size of 50 pixels. For maps which would otherwise require a pixel grid smaller than this, you will need to increase the dimensions of your map by multiplying the width and height by some scaling factor. I apologize for inconvenience this may cause, but enforcing a minimum grid size will make designing user friendly UI elements that are rendered on the game canvas easier and more aesthetically appealing.</li>
<li>Pop-out windows can now be minimized and maximized by double-clicking their header. Thanks to community member Morill for prototyping this functionality and inspiring me to add it as a core feature.</li>
<li>You can now export JSON data for Actors that you own. This can allow GMs to back up significant characters or players to transfer their favorite character between different game sessions. To export Actor data, right click on the Actor in the sidebar directory. Exported data is saved to the client's local filesystem.</li>
<li>You can now import JSON data to update an existing Actor. To import JSON data right click on the Actor in the sidebar directory. Choose the file from your local filesystem which contains the data to import.</li>
<li>When placing a Token, the canvas controls will automatically switch to the Token Layer.</li>
<li>When placing a Token using Drag+Drop, holding the ALT key will cause the Token to be placed in the "hidden" state. This can, for example, allow you to bring new Actors into an active scene without immediately alerting players.</li>
<li>Improved the audio balance of some UI audio cues to avoid them being too loud (like the combat drums).</li>
<li>Replaced the entire Scene thumbnail creation workflow with a new system that should be faster and more reliable. Additionally, thumbnail images are now supported for Scenes which assign a video background texture.</li>
</ul>
<hr/>
<h3>Core Bug Fixes</h3>
<ul>
<li>Corrected an issue where token visibility was suppressed on Scenes where Token Vision was not required.</li>
<li>Raise an exception which prevents the user from being able to start multiple FVTT processes on node.js which are running on the same port.</li>
<li>Update the window overflow rules which had prevented Scene configuration sheet from scrolling vertically on smaller resolution monitors.</li>
<li>Fixed an issue which prevented global bright light from penetrating through walls and dispelling fog of war.</li>
<li>Resolved an issue which allowed players to move tokens using drag+drop while the game was otherwise paused.</li>
<li>Improved the UI display of context menu items to ensure that highlighting that indicates the context-referenced item is removed when the menu is no longer in use.</li>
<li>Corrected a problem where newly placed ambient lights would not immediately update fog of war for connected clients.</li>
<li>Prevented an error which incorrectly corrupted the Scene position of an existing Token when it was assigned to an Actor.</li>
<li>Closed a loop-hole which was inefficiently rendering newly posted chat messages twice while only displaying one of the two results.</li>
<li>Fixed a problem with keep/drop dice syntax that was not returning the correct result in the initial <code>0.2.4</code> update.</li>
<li>Corrected a rendering issue with the Journal Entry which caused the save button at the bottom to not be usable.</li>
<li>Switched the location of the "I Agree" checkbox in the EULA dialog to render better on Safari.</li>
</ul>
<hr/>
<h3>Core Software, APIs, and Module Development</h3>
<ul>
<li>Added a new flags system for all Entity types which can save additional flexible key/value data. See the following ticket for API and example usage: https://gitlab.com/foundrynet/foundryvtt/issues/581</li>
<li>Added a specialized <code>renderChatMessage</code> hook which can be used to customize the display of individual chat messages as their HTML is rendered. See the following for example usage: https://gitlab.com/foundrynet/foundryvtt/issues/577</li>
<li>Added a new method for the Compendium, <code>Compendium.getContent()</code> which loads the full content of a compendium in one shot. This includes more overhead compared to <code>Compendium.getIndex()</code> but is useful for modules that want full access to all details.</li>
<li>Reworked the storage location of the sessions database. Each World now has it's own <code>sessions.db</code> instead of a shared session storage for the entire Foundry VTT application.</li>
</ul>
<hr/>
<h3>D&D5e System Improvements</h3>
<ul>
<li>Integrated support for temporary hit points and temporary maximum hit points as part of the Token resource bar. Temporary HP are now reflected in the visual representation of the health bar.</li>
<li>When applying damage to a character which has temporary hit points, these are consumed first before applying damage to regular health.</li>
<li>Incorporated a new feature for character spellbook display toggling which can control whether to show all spells or only prepared spells. Also added a button in the item controls to quickly toggle whether a spell is prepared or not. Thanks very much to community member Felix for prototyping this feature as a module and submitting his changes to the core 5e system.</li>
<li>Fix a problem with critical success or failure highlighting under the new dice roll tooltips system.</li>
<li>Correct a missing reference to <code>@mod</code> in spell attack and damage rolls which should now correctly alias the spellcasting ability modifier.</li>
<li>Corrected the behavior of long rest and Hit Dice restoration for level 1 characters who can now gain at least 1 HD when long resting.</li>
<li>Fixed an issue with Consumable items which were destroyed when emptied of their charges even if the "Destroy on Empty" checkbox was not enabled.</li>
</ul>
<hr/>
<h2>Beta 0.2.6 Update Notes</h2>
<p>Greetings friends and supporters! I'm really excited to share another Foundry Virtual Tabletop beta release <code>0.2.6</code>. This update incorporates some major improvements for the <strong>Combat Tracker</strong> and <strong>Ruler</strong> systems to add synchronization, waypointing, and expanded turn tracking functionality to Foundry VTT.</p>
<p>I'm really excited about the continued progress for this software and motivated by the support and encouragement of the community. Thank you all for appreciating my work, providing thoughtful feedback, and encouraging me to do even more. As always, please keep an eye on the development progress board here for visibility into what features are in progress and coming up next!</p>
<p><a href="https://gitlab.com/foundrynet/foundryvtt/boards" target="_blank" title="FVTT Story Board">https://gitlab.com/foundrynet/foundryvtt/boards</a></p>
<hr/>
<h3>New Features</h3>
<ul>
<li>The Combat Tracker has experienced a significant redesign - allowing for a large number of new features for creating and managing your combat encounters. You can now manage <strong>multiple encounters</strong> which can be cycled using the controls at the top of the tracker UI. Additionally, entries in the tracker can be <strong>marked as defeated</strong> which displays their name in red with a skull icon. Furthermore, GMs now have the ability to customize <strong>combatant visibility</strong> which can be used to keep tokens in a combat encounter hidden from players using a system which is related to but separate from Token visibility itself. All these changes collectively make the combat tracker improvements one of the biggest new features in this update version.</li>
<li>Added GM convenience features to <strong>roll all</strong> or <strong>roll NPC</strong> initiative in the Combat Tracker instead of clicking each combatant one at a time.</li>
<li>The Combat Tracker now has the ability to report one additional Actor attribute for each participant in the combat encounter. This displayed attribute is only visibile to the game-master user and could be used, for example, to reflect the Armor Class of each token combat in a way that provides a convenient summary. I think there is opportunity to do more here in the future, so I will be collecting feedback and expanding this system again in a future update.</li>
<li>Ruler measurement has been substantially overhauled to support two major new features: <strong>synchronized measurement</strong> allows for other players to see what distance you are measuring as ruler displays are now networked across all players, and <strong>waypoint measurement</strong> allows you to measure a piece-wise movement path where the total distance is measured as the sum of all individual segments. To use waypoint measurement, hold the CTRL (or CMD on Mac) key while measuring and click left-mouse to add a waypoint. Right click will undo your previous waypoint. As before, pressing SPACE will execute a Token movement along your measured path.</li>
<li>Distance measurement for hexagonal grids will now count the number of hexes travelled before multiplying by the stated distance rather than measuring the direct point-to-point hypotenuse directly.</li>
<li>Window Applications can now be made resizable - this default behavior has been applied for Actor and Item sheets, but can also be specified by module developers who are creating their own Application windows.</li>
<li>Improved the logic which governs the Grid highlighting behavior for various Measured Template shapes and grid snap points. This should result in more accurate and reliable highlighting for different grid types.</li>
<li>Token drag-and-drop behavior was incorrectly snapping to vertices of hex grid locations rather than the center of a hexagonal space. Now when moving a token on a hexagonal grid layout, the destination space that is snapped should more predictable and correct.</li>
<li>Improve detection of measured Token movement such that a spacebar press will still function if the measurement originates from a space where you have an owned Token even if that Token is not actively controlled.</li>
<li>The default color used to highlight MeasuredTemplate backgrounds will now match the chosen player color to help differentiate which templates were placed by which player.</li>
<li>Separated the overlay display of the measured ruler from the grid highlighting component to be better behaved in the presence of fog of war or other vision blockers.</li>
</ul>
<hr/>
<h3>Core Bug Fixes</h3>
<ul>
<li>Fixed a problem which prevent the thumbnail directory from being correctly created in newly generated World directories that caused new worlds from not saving their Scene data correctly.</li>
<li>Resolved a problem which caused a Scene's thumbnail from being inadvertently destroyed when other aspects of the scene were changed, for example moving it into or out of a parent Folder.</li>
<li>The Software Update page was not functioning properly when a World is not currently active. A workaround for this (which is still required to apply this update) is to load a World and then navigate to the "Update Software" page from there. For future updates, after this version is applied, the intended behavior should work correctly.</li>
<li>Restore the correct functionality of the "Count Success" and "Margin of Success" dice roll modifiers which had gotten broken in the previous update dice rolling improvements.</li>
<li>Corrected a failure for Ambient Sound configuration sheet which prevented it from correctly rendering for a previously placed audio source.</li>
<li>In the previous version, the "Game Invitation Links" interface got broken and was no longer correctly displaying the server IP address - this has been corrected.</li>
<li>Corrected a problem with the management of file paths in <code>world.json</code> configuration files.</li>
<li>Solved a problem with running FVTT using node directly from some other working directory which caused certain file paths to no longer be correctly relative.</li>
<li>Closed a loophole where double-clicking a Token whose associated Actor no longer exists raised a console error.</li>
<li>Improved the new mimimize/maximize window behavior to work better for Applications which set an "auto" width.</li>
</ul>
<hr/>
<h3>Core Software, APIs, and Module Development</h3>
<ul>
<li>Combat is now an <code>Entity</code> subclass, including all the standard methods that entails.</li>
<li>Implemented some significant improvements to the backend database layer which makes it possible to forward any server-side error messages to the requesting client so that failures and bugs can be more easily identified, reported, and fixed. This functionality has been first rolled out for all Entity create, update, and delete operations where now server-side errors will trigger a client side stack trace and notification.</li>
<li>Added a <code>Token.animateMovement(ray)</code> method which animates a transition path for a token between the endpoints of the Ray, returning a Promise when animation is complete. More details here: https://gitlab.com/foundrynet/foundryvtt/issues/690</li>
<li><strong>Warning:</strong> Due to the significant changes to the data model for Combat encounters, any existing combat encounters in your saved Worlds will be destroyed as part of this update. Sorry for any inconvenience.</li>
<li>Improve the base <code>setProperty</code> helper to allow for setting an object as the value.</li>
<li>Improved the behavior of the new <code>Entity.setFlag()</code> method so that an object can now be correctly used as the value for a flag variable.</li>
<li>Expanded upon the Flags system such that an <code>OwnedItem</code> can now have (and persist) the same flags that it would as a base <code>Item</code> entity.</li>
<li>Support the <code>options.resizable</code> flag when instantiating an Application which will add a resize handle at the bottom-right corner which allows the dimensions of the application UI to be adjusted by the client.</li>
</ul>
<hr/>
<h3>D&D5e System Improvements</h3>
<ul>
<li>Fixed a bug which caused healing magic to add to the temporary health pool rather than base health values.</li>
<li>Added a configurable option to disable the inclusion of Dexterity value as a tie-breaker in the initiative formula.</li>
</ul>
<hr/>
<h2>Beta 0.2.7 Update Notes</h2>
<p>Greetings friends and supporters! I'm sharing another Foundry Virtual Tabletop Beta update a bit ahead of schedule. This new version, <code>0.2.7</code>, is being released now to address a number of bugs which emerged in the previous version that were not caught. Rather than waiting a normal update cycle (10-14 days) to post an update that fixes these bugs I wanted to address as many as possible and post this update right away.</p>
<p>With this update completed, I'll work on accomplishing a more meaningful feature update with <code>0.2.8</code> which I will try to release by the end of April. Thanks to all the testers who highlighted some of the problems in the previous update version. Furthermore, since this update is heavily focused on resolving problematic bugs, this update will not have an early-release period for Council-tier Patrons but rather is immediately available for all Patrons.</p>
<p><a href="https://gitlab.com/foundrynet/foundryvtt/boards" target="_blank" title="FVTT Story Board">https://gitlab.com/foundrynet/foundryvtt/boards</a></p>
<hr/>
<h3>Core Bug Fixes</h3>
<ul>
<li>Corrected a server-side error which prevented Scene update operations from being correctly acknowledged back to the requesting client.</li>
<li>Resolved a problem which prevented players from being able to delete Items from their own inventory.</li>
<li>Specified that the folder attribute be a required field for JournalEntry entities which prevents an entry from being incorrectly orphaned if dragged out of it's Journal chapter.</li>
<li>Fixed an error for various placeable objects like MeasuredTemplates, Tiles, and Light sources which caused a circular JSON error when rendering their configuration sheets.</li>
<li>Improved an issue with the EULA signature process, which was previously repeatedly prompting the user after signing until the server was restarted.</li>
<li>Resolved a console error which resulted when ruler measurement did not pass a valid destination object.</li>
<li>Corrected a permissions failure which prevented players with the TRUSTED level from deleting MeasurementTemplates which they had placed in a Scene.</li>
<li>Fixed an issue with drag and drop operations to change an Entity folder, which was correctly saving in the server but not propagating back to the client.</li>
<li>Corrected the context menu applied to combatants in the updated Combat Tracker to ensure that the "Remove Combatant" context option works as expected.</li>
<li>Fixed an issue with the new Combat Tracker reset button which could cause the turn of the combat round to overflow out of bounds once initiatives were re-rolled.</li>
<li>Improved the behavior of the new resizable window function such that Applications with an "auto" width or height will properly re-render its dimensions dynamically. This resolved a problem with the FilePicker UI in particular that prevented it from being easily used.</li>
</ul>
<hr/>
<h3>Core Software, APIs, and Module Development</h3>
<ul>
<li>World configuration JSON files may now specify styles and scripts using glob-style patterns, as is supported for systems and modules.</li>
<li>Added the <code>pauseGame</code> hook which will fire whenever the paused state changes.</li>
<li>Improved the Application.setPosition method to separate the update logic for positioning and dimension data as needed.</li>
</ul>
<hr/>
<h2>Beta 0.2.8 Update Notes</h2>
<p>Greetings friends and supporters! I'm really excited to share another Foundry Virtual Tabletop beta release <code>0.2.8</code>. This update continues to focus on some core software stability and flexibility improvements. The two major improvements in this version are a <strong>Module Management</strong> interface which gives Game-Masters control over which modules are used on a per-world basis and a new Scene setting to <strong>disable Fog of War</strong> for certain areas where you don't want players to be able to track previously explored locations. This update also includes a lot of nice core software and API investments which I hope will continue empowering community contributions.</p>
<p>I'm really excited about the continued progress for this software and motivated by the support and encouragement of the community. Thank you all for appreciating my work, providing thoughtful feedback, and encouraging me to do even more. As always, please keep an eye on the development progress board here for visibility into what features are in progress and coming up next!</p>
<p><a href="https://gitlab.com/foundrynet/foundryvtt/boards" target="_blank" title="FVTT Story Board">https://gitlab.com/foundrynet/foundryvtt/boards</a></p>
<hr/>
<h3>New Features</h3>
<ul>
<li>Added a new <strong>Module Management</strong> system. This allows for the Game-Master to choose which modules are active for a certain world and enable or disable modules for that world. As a result of this change <strong>all modules will be initially disabled when updating to 0.2.8</strong> so you must manually enable or whitelist the set of modules which you wish to use. To manage modules, go to the Settings tab and click on the "Manage Modules" button.</li>
<li>Added a new Scene setting which allows an option to <strong>disable Fog of War Exploration</strong>, creating an experience where Tokens can only see the areas of the map which are in their current field of vision, without any visibility into areas which were previously explored but not currently visible.</li>
<li>Added support for copy+paste workflows for Ambient Light, Ambient Sound, and Measured Template placeable objects.</li>
<li>The file picker UI now applies case-insensitive filtering to the search strings entered in the filter bar.</li>
<li>The ruler measurement tool has been moved to the base Token Layer control set instead of the Measured Template section. This makes it easier to use with controlled tokens and is more discoverable for new players.</li>
<li>Added a <code>Delete All Templates</code> button as part of the measured template controls for Game-Master users to quickly remove all measured templates from the current Scene.</li>
<li>Added a GET request API to retrieve some basic server status for a running Foundry Virtual Tabletop host, which can support some basic polling and life-cycle management tools. Visit the <code>/api/status</code> URL for any active server to retrieve JSON status for the host.</li>
</ul>
<hr/>
<h3>Core Bug Fixes</h3>
<ul>
<li>Closed a loophole which allowed drag and drop token movement to incorrectly pass through walls when moved in certain directions with respect to existing wall orientation.</li>
<li>Fixed an issue which caused CTRL+Z operations to undo token movement while the user was intending to edit an active form field instead.</li>
<li>Fixed an issue which caused Actors imported from compendium packs to have some errors in their imported Token data until the client session was refreshed. Now Actors imported from the compendium should be immediately ready to go with their correct stored configuration.</li>
<li>Fixed a server-side database updating error which prevented object keys passed in dot-notation from correctly identifying and updating (recursively) the inner attribute.</li>
<li>Resolved a problem that could affect world configuration files when using world-level compendium packs to ensure that the pack paths stored at the world level are relative to the public root and not absolute for the user's current host.</li>
<li>Fixed an issue which allowed audio tracks to get stuck in the playing state when using the parent playlist play/stop controls in a way which did not propagate down to the contained sounds in the playlist.</li>
<li>Addressed a problem which allowed world-level settings configurations from firing their <code>onChange</code> callback function before the server-side database write had successfully completed.</li>
<li>Improved the newly added window resizing feature to correctly persist the application window width when minimizing and maximizing the resized window.</li>
</ul>
<hr/>
<h3>Core Software, APIs, and Module Development</h3>
<ul>
<li>With 0.2.8, I have enacted a fairly major policy change in my level of code protections which has un-minified the client-side JavaScript which is included with the software. The key benefit of this is for module and system developers who will now be much more easily able to debug their work and to learn from the design patterns that are used in the core software.</li>
<li>Game modules may now include some additional parameters in their <code>module.json</code> file. These new supported keys are: <code>"url"</code> which directs towards documentation for the module, <code>"manifest"</code> which points to a stable module.json link, and <code>"download"</code> which points to a latest stable .zip archive download location.</li>
<li>Added new Hooks as part of the standard Entity management workflows which are triggered client-side on before a database operation (create, update, delete) is dispatched back to the server. This allows for entity data to be modified before it is sent to the server upon initial creation, update, or deletion. See https://gitlab.com/foundrynet/foundryvtt/issues/719 for details.</li>
<li>Added a server-side error handling view which will display critical startup errors to help users with debugging. This helps to catch errors when loading game systems and worlds which can cause fatal errors which previously resulted in silent failures.</li>
</ul>
<hr/>
<h3>D&D5e System Improvements</h3>
<ul>
<li>Added support for a new Trait Picker interface element in the Actor and NPC sheets. This provides a more user-friendly workflow for assigning damage resistances, vulnerabilities, immunities, and known languages. The display of these traits have been improved to show as tags which wrap on multiple lines and support additional custom free-form text if the provided options are not sufficient to accomodate homebrew content.</li>
<li>Improved the rendering of Owned Items to allow these items to be previewed by left-clicking on the item name which will toggle the display of their description in a sliding container. Sending the item to chat for rolling now involves clicking on the item image (which is prompted by a d20 icon).</li>
<li>Added a 5e world-level option to track weight for currency following the rules in the PHB on page 143. This setting can be enabled (or disabled) in the Configure Settings menu from the settings sidebar.</li>
<li>Fixed a bug with proficiency toggle icons which were not correctly updating under the 0.2.7 version.</li>
<li>Added "Poison" as a valid consumable item subtype.</li>
<li>The creature size trait has been changed from a plain text field to a dropdown Select box with pre-populated options for the standard 5e sizes.</li>
</ul>
<hr/>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<h2>Beta 0.3.4 Update Notes</h2>
<p>Hello tabletop friends! Foundry Virtual Tabletop update <code>0.3.4</code> is here with a fresh round of feature enhancements, bug fixes, and underlying software and API improvements. This update is pretty substantial and addresses a large number of bugs while adding functionality to better empower modders and system developers. Highlight new features in 0.3.4 include <strong>Sidebar Search</strong>, chat support for <strong>Entity Links</strong>, and the addition of the commercially licensed <strong>GSAP Library</strong> for animation.</p>
<p>Thank you all for appreciating my work, providing thoughtful feedback, and encouraging me to do even more. As always, please keep an eye on the development progress board here for visibility into what features are in progress and coming up next!</p>
<p><a href="https://gitlab.com/foundrynet/foundryvtt/boards" target="_blank" title="FVTT Story Board">https://gitlab.com/foundrynet/foundryvtt/boards</a></p>
<hr/>
<h3>New Features</h3>
<ul>
<li>Sidebar directories for Actors, Items, Scenes, and Journal Entries now have a filter and search bar at the top of the sidebar which allows you to quickly find entities by name. The filtering logic is case insensitive, and deleting a filter will restore the sidebar to displaying the full set of results.</li>
<li>Dynamic entity links can now work in chat messages. This allows you to "mention" certain Actors, Items, Journal Entries, or Scenes in chat. For example "Hi @Actor[Bob]".</li>
<li>The context menu for Journal Entries in the sidebar now features a new option to <strong>Jump to Pin</strong> which is available if that Journal Entry is pinned to the currently viewed scene. Using this option will pan the Scene view to highlight the location of the map Note. Many thanks to <strong>Moerill</strong> from Discord for inspiring this feature.</li>
<li>The fog of war opacity settings have been adjusted for GM users to preserve some limited visibility of the map while still differentiating areas which represent unexplored fog of war. Many thanks to <strong>trdischat</strong> on Discord for his helpful module which motivated this change.</li>
<li>Foundry Virtual Tabletop now includes a paid commercial use license for the Greensock (GSAP) animation libraries (https://greensock.com/) within the core platform as well as any downstream systems or modules! GSAP modules can be added by any module or system by requesting the inclusion of these scripts in a module or system manifest file.</li>
<li>Newly created Users will each receive a randomly selected color to differentiate them. Colors can still be manually changed at any time, but this will help to differentiate users by default.</li>
<li>Provide a GM-only context menu option to permanently delete a Folder AND all of it's contained subfolders or entities. Please be cautious in using this option, as the operation is not recoverable, but the power is in your hands.</li>
<li>Hovering over a Token which is an active Combatant in the tracked Combat Encounter will now highlight the combatant. This helps to easily answer questions like "when is it this Goblin's turn?".</li>