Giter Club home page Giter Club logo

foundry-vtt-tidy-5e-sheets's People

Contributors

antoniohbmonteiro avatar brothersharper avatar dependabot[bot] avatar devconfox avatar gregorywarn avatar kgar avatar malea-gh avatar pipechair avatar pwqt avatar tigue54 avatar voodoofrog avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

foundry-vtt-tidy-5e-sheets's Issues

Native Support for Actor Actions List

Re-create the Character Actions List natively for Tidy 5e Sheets.

Why

The "Character Favorites" module was so popular in combination with Tidy 5e Sheets that it eventually was grafted in as a core feature. The community around the Tidy 5e rewrite have indicated that the Actions List feature is similarly a core experience of Tidy 5e Sheets. To provide more flexibility and to give more control over the structuring and styling of the Actions list feature, make this feature native to Tidy 5e Sheets.

There will likely be more sheet layout options in the future. Having a core feature like the actions list built right into the module opens the door for greater reuse and configuration as the need arises.

What to Do

  • This feature should be disabled by default in order to provide the same New User experience as before. When disabled, there is no trace of the Actions tab, action icons, or anything else related to it, when viewing the sheets. This feature should not have an enable/disable toggle. It should simply exist, but per default tabs in #75, the Actions tab will, by default, be unselected but available for all sheets. The GM, however, should be able to change the default to suit their game world.
  • Sheet Settings, "Features" tab, new section: "Actions List"
    • (World scope) Checkbox to Enable/Disable feature
    • The settings from the current actions list module
    • Exclude settings that have to do with injecting the tabs. This will be handled in actor table selection and world-scoped default tab config.
  • When the action tab is included, it should provide the same experience as "Character Actions List," but for the rewritten Tidy 5e Sheets
  • Any existing style issues with the pre-rewrite Tidy 5e / Actions List integration should be resolved in this new feature

When this feature is enabled,

  • An "Actions" tab is available in the leftmost tab position by default for all actor sheet types
  • The "Actions" tab contains the tables/lists of actions available for each type of Action Economy ("Action", "Bonus Action", "Reaction", "Other", ...); NOTE: make separate sections for each of the Usage types (Mythic Action, Legendary Action, Action, etc.).
  • The tables match the specification of the standalone module
  • The Action icon should appear for all items, mirroring the standalone module
  • The algorithm for determining default Action list contents should mirror the standalone module

Reference

https://discord.com/channels/732325252788387980/1116078321067892796/1131598564477370408

NPC Statblock Organization - Mythic Actions, Legendary Actions, etc.

Currently, more advanced NPC sheets with things like legendary/mythic actions become harder and harder to read, especially when running battles and trying to decide what actions to take:

image

Ideas for approaches

At its core, the main ask is to divide up the different kinds of actions so they are not a blob. For example, here are Legendary, Mythic, and regular Actions divided up:

image

Update the Existing Abilities Tab Layout

We could simply reroll the Abilities tab to funnel items with action types into their own action-oriented sections. It could be

  • An opt-in setting (probably world-scoped?)
  • An update to the existing setup
  • A toggle icon above the NPC item tables on Abilities tab

What About the Upcoming Native Actions List Feature?

There are plans to make a native actions tab / actions list: #1

The full specification has not been carved out, yet, but taking the existing module as inspiration, Mythic and Legendary actions (and any others we know about at time of implementation) could be given their own section instead of funneling into "Other". Then, it would be a matter of building settings around include Actions in the Abilities tab above/below the Features content.

Reference

https://discord.com/channels/732325252788387980/1116078321067892796/1171566026710851684

Gambet β€” Today at 3:45 PM
@kgar Dunno if you've thought about this yet, but I just had a feature suggestion for you. Is there any way for NPC sheets you could add (maybe optionally) different sections for the types of actions a monster has?

You look at a character sheet in the book or on DnDBeyond and they'll have a separation between Features, Actions, Legendary Actions, Mythic Actions, etc, but in the current layout it's just Attacks, Actions, and Features. And Attacks really isn't even Attacks, it's Weapon-style inventory items, which not all attacks fall into, and so you wind up having weird situations where some of your attacks are in actions, other attacks are in attacks, and all of your actions/legendary actions/mythic actions/bonus action abilities are all mixed up together.

Compatibility with PopOut!

Provide a level of compatibility with PopOut! that makes Tidy 5e Sheets usable.
The player should be able to sheet's core functions

  • tabs
  • rolls
  • item tables and grids
  • exhaustion / inspiration trackers, etc.
  • HP Bars
  • currency updates - sdenec/tidy5e-sheet#793
  • dark mode / theme setting overrides - sdenec/tidy5e-sheet#686
  • item cards - when the Item Card is set to floating, the user should be able to see it within the popped out window. It is not possible to support the slide-out version of Item Cards when popped out

Note
Not all functionality is available when popped out. For example, when adjusting theme settings in real time, the changes will not be reflected to a popped out sheet. Also, slide-out item cards have nowhere visible to slide to, so the user would not be able to see them.

References

https://discord.com/channels/732325252788387980/1116078321067892796/1136092315337887836

Fallayn
Hey! Reading this all it's fantastic to see this being worked on. I also want to chip in some $ if that helps in any way, just let me know where. This is the single most critical 5E module for me.

One concern I want to mention re: Svelte - one pain point I have seen with other (system) sheets that use more custom JS tech is that it often ends up incompatible with Popout for one reason or another. Would be great if the new Tidy5E would still work with the Popout module.

kgar
I will add this to the list.

To help me with knowing what to look for, what kind of breakages occur with popOut! Is it functionality, styles, and/or other?

Fallayn

Failure modes I've seen:

  1. Popout does not work at all, i.e., when pressing the PopOut! button in a actor sheet's title bar, either nothing happens or the opened popout window is obviously broken (styling etc)
  2. Sheet modifications either do not work, or only work in the UI, but are not persisted (so changing HP, adding an item or something either does not work, or "works" but if you close the popout window and check the actor in Foundry, the changes were not saved)
  3. Rolls do not work (either not at all, dice simply aren't rolled, or the roll popup windows does not show in the first place)
  4. When closing the popout or "popping it back in", data goes awry or rolls made while popped out are repeated (this is a weird one I've only seen in one system)

So basically either popping out is broken, popping in is broken, or saving data is broken. Besides that, if/once those actually work, it seems to behave like the normal sheet window, I haven't seen much PopOut specific styling issues or such.

Compatability with modules that add new tabs

First of all, thanks for putting some love to these sheets. I can already sense the improvement (mostly in speed!)

A thought though. Several modules such as "Crash Tracking and Training", "Downtime", "Ethck's Downtime Tracking" and "Beaver's Crafting Module" all add tabs to the sheet.

These are currently not rendered on your sheet. I assume they simply don't hook on to your sheet?

Expand/Collapse List and Grid Sections

For all actor types, wherever there is a list view or grid view, allow the user to expand and collapse individual item tables. Whatever their permissions, if the user can see the table, they should have the right to expand/collapse it.

  • Prototype it
  • Persist state to local session
  • Discuss visual indicators with the community
  • Add expand all / collapse all for a given tab; propagate throughout
    • Actions tab
    • Attributes tab
    • Inventory tab (list and grid)
    • Spellbook tab (list and grid)
    • Effects tab
    • Abilities tab
    • Cargo & Crew tab
  • Review the resulting HTML structure and apply polish
  • Review implementation and simplify as much as possible
    • Consider consolidating the expandable/collapsible animation wrapper to a shareable component between item tables and accordions.

Managing State

This should be stored on the sheet itself as a store and opted into via an interface implementation. Using tab/location context and some kind of unique identifier on the Item Table or Item Table Row Header, store expanded/collapsed state upon first change. When state is not available, assume the table is expanded.

Persist these preferences as part of sheet state in sessionStorage.

Goals:

  • Two separate users should be able to maintain their expanded/collapsed sections on the same sheet.
  • Sheets should remember expanded/collapsed state so long as the browser tab remains unclosed.
  • Stretch: Each tab should allow for expanding/collapsing all tabs.

Stretch

For each tab where expand/collapse tables are supported, include Expand All / Collapse All controls.
(I'm not sure yet how to do this without adding clutter to the sheets)

Reference

Discord discussion thread:
https://discord.com/channels/1167985253072257115/1189435918248058942

NPC Encumbrance

Add NPC encumbrance to Tidy 5e Sheets' NPC sheet.
It should be opt-in from NPC Sheet Settings, meaning it is disabled by default.
When enabled, it should show on the "Abilities" tab, below the currency bar.

image

Reference

https://discord.com/channels/732325252788387980/1116078321067892796/1161780089512534086

Fallayn
Can we have an option to display carry capacity/weight for an NPC too? Would be cool to enable for mounts/pets/helper allies/bag of holding actors
that missing is the sole reason I always eventually give up and switch those over to a full PC actor

Default Theme at World Scope / "Default Dark Mode" for all Players

Establish a "Default Theme" setting at world scope.
By default, it should be set to "Light" to keep with the existing functionality.
When current theme is not specified by the user, it should be set to "Default", meaning it points to whatever is the "Default Theme".

Important

This means, when the GM sets "Default Theme" to "Dark", all new users will open their sheets for the first time and see it in Dark Mode.

References

https://discord.com/channels/732325252788387980/1116078321067892796/1130574237833363486

SaltyJ β€” 07/17/2023 1:57 PM
haha
One thing i would like, as a settings option, is to set the default mode for everyone (Light vs Dark) or even custom when/if implemented
i actually tried doing that myself at one point, broke everything πŸ™‚

kgar β€” 07/17/2023 1:58 PM
Ah, like a full-on game setting for "Default Dark" for a particular game world?

SaltyJ β€” 07/17/2023 1:59 PM
yeah. They can still change it to what they want, but it would be nice if i could set the default for new players
Running 3 campaigns with a total of 18 players. gets tedious, especially when they clear cookies.

kgar β€” 07/17/2023 1:59 PM
Gotcha. I'll copy this idea down and add it to the list for when I get nearer to the finish line. I think it's doable.

SaltyJ β€” 07/17/2023 1:59 PM
insert "Why does the sheet blind me now" questions.
Danke!

Item Tables Overhaul

Item tables are currently implemented with flexbox, and when the header row becomes too crowded, it becomes off-centered from its table contents. Consider this spellbook section:

image

  • Rebuild list views so that becoming off-balance is impossible.
  • Overflow should be handled in a more controlled and predictable way.
    • Current idea πŸ’‘ specifically for Spellbook:
      • Offload the primary column title (e.g., "Pact Magic 1st Level 🟠 1/1 ✏") to a standalone header row, where this content can expand out comfortably. In place of this text, the primary column should have the column title "Spell".
    • For all sheets, the "Name" column, like the item name itself, should truncate with ellipses "..." when compressed.
    • If there are too many columns and the sheet is not wide enough to accommodate them, a dedicated horizontal scrollbar should be provided for that tab (or list?)

Consider switching to CSS Grid for building these tables.
In the re-design, build with column selection possibilities in mind (#60).

Calculate Max Prepared Spells?

Is there a way to provide an option which calculates max prepared spells on the spellbook tab for player characters?
This calculation differs between spellcasting classes. How would we represent this difference?
Use a client / world setting or provide a max prepared spells formula box in the Class/Subclass item?

Add Column Selection

From discussion in #14

Support column selection for all tables of data that are displayed on PC, NPC, and Vehicle sheets.
Column selection should be actor-specific and utilize actor flags so that the preference remains intact no matter which browser or user is interacting with a sheet.
Provide the option to reset to default.

Some things to determine before working on this:

  • Should this apply to groups of tables, e.g., "Column Selection for Spellbook Tables"?
  • Or, should it apply to each individual table?
  • Could there be a hybrid approach that is not confusing?
  • Should there be column selection on the PC favorites section? This would require column selection UI that targets sections (inventory, features, spellbook, etc.) and applies location context specific to the favorites view, so that it is differentiated from the full tab column preferences.

Loss of style on abbreviations of components with using system localization

When using localization for dnd5e abbreviations of components for spells becomes just letters(no background fill for Ritual and Concentration) as so if localized components names start on the same letter those abbreviations indistinguishable in Tidy's section.

I believe it's because in source thoose styles created specially for english abbreviations in https://github.com/kgar/foundry-vtt-tidy-5e-sheets/blob/main/src/components/spellbook/SpellComponents.svelte

<style lang="scss"> .spell-component.C, .spell-component.R { color: var(--t5ek-background); background: var(--t5ek-tertiary-color); border-radius: 0.125rem; padding: 0.0625rem 0.0625rem 0 0.0625rem; margin: 0 0 0 0.0625rem; line-height: 0.75rem; } </style>

TidyAbbs

In default sheet this styling thing apparently independent from localization.

dnd5e 2.4.x Compatibility

Adjust how multiclass spell dropdowns are populated

This includes:

  • PC Sheet > Spellbook tab > Filter dropdown
  • Item Sheet > Details tab > Spell Class dropdown

I think the ability to distinguish spells based on class is extremely useful, but I never used this feature in old Tidy. Mostly because it felt very clunky to me. Having the dropdown filled with options for every possible class makes using them cumbersome and confusing. Populating the dropdowns based on classes the actor actually has would probably make more sense. If I'm a Ranger/Druid, I don't need to see Wizard and Artificer on these lists.

I'm not sure how often you're getting access to things from classes you don't have, so I don't see use cases for the current implementation, but I could very well be missing something. If that's the case, then an alternative could be to keep the dropdown in the item sheet as is, and limit the one on the spellbook tab to classes that actually have spells assigned to them. So if I'm a Ranger and assign one spell to Cleric and one spell to Sorcerer, the options would be Cleric and Sorcerer.

Add Better Spell Level Buttons for DnD 5e

dnd5e 2.4.0 broke original Tidy5e sheet built in Better Spell Level Buttons for DnD 5e(looks like small issue with new naming of some used in dialog properties). Will you add this feature to your version?

Spell_Level_Buttons_for_DnD_5e 1

Settings - Import/Export/Reset

Add a menu to Sheet Settings to allow for

  • GM Import/Export/Reset All
    Settings include world-scoped settings and client-scoped settings. The GM's full setup should be preserved, including their own personal sheet settings.
    These options are available only to the GM.

  • User Import/Export/Reset Client Settings
    Settings include client-scoped settings.
    These options are also available to the GM.

Use a singleton active editor in other sheet tabs that contain multiple prose mirror editors

With dnd5e 2.4.0, item descriptions got an upgrade where 3 different editable item descriptions are collected onto one screen. To manage this in a way that keeps the editor area legible and unclutters the screen, the implementation hides all tab contents and shows the one active editor:

image

For Tidy sheets that contain multiple editors, consider using this same approach, as it provides more room to work. Also, it helps side-step the absolute positioning / overflow hidden problem as seen here:

image

As part of this issue,

  • create a mockup / demo video to show the community, using the character sheet bio or journal tab as the example
  • if it looks good and most of us like it, list out the locations where this could be leveraged
  • implement it at those locations

Implement Sheet State - Phase 1

Implement sheet state tracking.

Note

Phase 1: Track it on the sheet and don't worry about persisting between full browser tab reloads.

Use the application subclass / base class features to track:

  • current tab: will need to handle this myself since I'm not using the application's tab controller; notify of current tab change when a tab is selected, calling to a contextual function
  • scroll top: will attempt to let the application handle this by tagging my scrollable areas and setting options; backup plan is to handle it myself
  • expanded items: will attempt to let the application handle this; backup plans are either to find a hybrid solution or to handle it myself. Most likely, a hybrid solution will be needed where the toggle function in svelte calls a provided contextual function to declare that an item ID was expanded or collapsed, then update the _expanded set accordingly.
  • search filter texts: move away from using an actor flag to just using a sheet class prop so everyone can search independently; handle this myself during getData() and emit search filter changes from svelte to the sheet through a contextual function.
  • expanded favorites: with the base expandedData approach, expanded items are tracked by item ID, which means when I expand a favorited item on its main tab and then close/reopen the sheet, the same item will be expanded on its own tab and in favorites. This will definitely lead to some confusion. Devise an approach that allows for differentiating items by an additional dimension, such as the tab ID.

If something cannot be captured while it is happening, I will attempt to capture it on component destruction. Components are destroyed before a full re-render and when the application is closed, so this particular time is the last moment where we can peer into the state of the sheet before it's gone.

Sheet scrollbar present when no scrolling needed if using Firefox

When logging in via Firefox, the scrollbar does not disappear even when the sheet window is enlarged to the point where there is no scrolling to do.

image

It is also somewhat wider compared to the scrollbar that legacy Tidy5e uses in Firefox. (Though still not as a slim as the Chrome one).

Multiclassing Spellbook Quality of Life Upgrade - Bulk Update

Currently, when a player wants to assign certain spells to a particular class, they must open each spell individually and set the Class field to whichever class they'd prefer.

It would be nice to provide a dialog which visualizes all spells that a player character owns and show which class those spells belong to.
Then, the user should be able to drag-and-drop or select from a class dropdown on each spell to quickly assign the spells to their requisite class.

The goal would be to make it fast and easy to administer spells to particular classes on a multiclassed character sheet.

Add compatibility for ItemMacro

For now, ItemMacro can't be used with the new Tidy5e Sheets. The macros stored in ItemMacro won't trigger when the character sheet uses the Alpha sheets.

Accessibility - Font Size Changes

Tidy 5e Sheets should be able to scale based on the root font size. By default, this font size is set to 16px by Foundry, but if the user increases it to 32px, for example, Tidy 5e Sheets should scale up comfortably. Its content should be readable, and its layout should not break in unexpected ways.

References

https://discord.com/channels/732325252788387980/1116078321067892796/1160617084955394088

From discord user fallayn:

btw my players with worse eyesight just noted that some parts of the sheet break pretty badly if you increase the font sizes in Foundry's settings (like the currency section)

Tabindex Refinements

In the default 5e sheets and the previous edition of Tidy 5e sheets, one could tab from each of the text inputs. In this rewritten version of Tidy 5e sheets, there is a great deal more support for keyboard-driven sheet management, so more things can be tabbed to. However, this prevents the user from doing some very familiar tabbing, such as:

  • Tabbing STR -> DEX -> CON -> INT -> WIS -> CHA inputs
  • Tabbing from HP min to temp HP and temp HP Max

Evaluate what options there are to update tabindex and/or the keyboard support for fields such as Mod/Save rolls and config buttons so that these familiar tabbing paths are able to be used.

Exhaustion and Rest will not expand when mousing over in Firefox

The feature works as expected when running Edge (and i assume Chrome works as they are both chromium based) but when running FoundryVTT through Firefox the fields do not expand.

My browser string:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0

Items on Journal tab don't render

IF the Journal tab is a core function of Tidy (I assume it is, but if being added by another module I've completely forgotten that), then tidy-kgar isn't rendering any of the data. My test PC has data in both the Journal Entries and Miscellaneous fields. Screencaps show missing Journal Entries - I didn't bother to screencap evidence of missing Miscellaneous. I assume Persons of Interest, Locations of Interest, and Quests would also render blank although I didn't test.

Tidy (original);
lQl4hL1pqq

Tidy-kgar:
pgxbcw69qC

Settings - Search

Upgrade Sheet Settings so one can search by the setting name or setting hint text. The search criteria should be case-insensitive and use "contains" logic.

Stretch

Highlight text that matches search criteria

Customizable Exhaustion Levels

Upgrade exhaustion to be

  • Customizable by the GM in Sheet Settings, "Features" tab, "Exhaustion" section
  • Set the default configuration to 6 levels, each providing a
    • description/hint text (the localized exhaustion hint text is used here for the default experience)
  • Show a preview of the exhaustion tracker in settings so the GM can preview it in realtime. Way too much trouble at the moment.
  • Dynamically constructed in the exhaustion component, based on the chosen levels of exhaustion in sheet settings

Stretch Goal: Presets

  • Provide a Presets dropdown which can allow the user to select
    • the classic 5e exhaustion (Default)
    • One D&D Exhaustion with 10 levels
    • Reset to default
  • Option to use open-ended number input rather than the tracker

Any presets need to have their hint text as localization variables that can be found in en.json so that further localization can be done.

Reference

https://discord.com/channels/732325252788387980/1116078321067892796/1149058125886926959

Fallayn
Having a way to manipulate the exhaustion counter easily (and extend it to 10) would be nice for modules/world scripts modifying exhaustion
Like an API to set/get the current level of exhaustion
(I haven't checked whether current Tidy5E has that exposed)

Move Item Card settings to "Features" tab in Sheet Settings

Item Cards, as a feature, should be consolidated to one place.
Move Item Card settings to the "Features" tab of the Sheet Settings dialog.
Design it so that additional Item Card options are available are the main enable/disable checkbox is enabled.

Automated Testing: Build First Test

Establish the core tech and approach to running these tests.
Code a single test which rolls a Perception check and confirms the roll has successfully been added to the chat window.

Getting this test bootstrapped

  • Select a testing library (thinking about Jest)
  • This is a browser-based test, so select a browser automation library to use (thinking about Playwright)
  • Target a Foundry instance via URL, provide credentials, etc., from environment variables
  • Perform necessary pre-test setups
    • Establish/import a player character

Test steps

  • Open the sheet
  • Roll Perception -> Normal
  • Confirm the roll result is placed into the chat tab
  • Clear the chat log
  • Close the sheet

Add Automated Testing

Add automated testing for Tidy 5e Sheets.

  • #3
  • Be able to test all essential sheet capabilities in all supported versions of Foundry.
  • Be able to test sheet compatibility with hand-picked modules, such as Popout.
  • Verify that the API has not been broken.
  • Stretch: Be able to run this test in a Github action.
  • Stretch: Provide a documentation paper trail / report that is automatically generated based on the tests and their assertions, to explain the expectations of functionality, available as an artifact on the Github action (and potentially elsewhere?)

Ongoing effort

This is a project unto itself. As test cases are determined, we'll create Automated Testing issues as enhancements. When all known test cases relating to Tidy 5e Sheets as a standalone module are satisfied for the present time, the project will conclude, and further test cases will just be standalone issues.

Style Maintenance - Prose Mirror Editors

Review the styles for prose mirror editors. Ideally, prose mirror editor styles should be consolidated into a single SCSS file that affects actors, items, and any other Tidy 5e content which leverages these editors. Any customizations atop that should either be located closer to where they are relevant or eliminated in favor of making the experience consistent wherever these editors may be found.

Some visual issues discovered:

image
image
image

When hovering, the font is visible:
image
When not hovering, it is basically white on white:
image

Add option to customize what tabs are displayed

(If this is already a thing, I am super sorry. Currently out of town and haven't had a chance to check out the alpha yet.)

Description of Feature: Add a way to customize which tabs are displayed in the sheet's navbar. Adding a "Customize Tabs" option to the sheet's customization menu that brings up a list of tabs with checkboxes would probably suffice. Whenever functionality is added to the sheet API that allows external modules to add tabs to the sheet, it'd be nice if those additions also showed up as options here.

Use Cases: I can think of a few off the top of my head, and I think this solution for them falls firmly inside the scope of a sheet module like this (especially one to make the sheets... tidier):

  • I'm playing a fighter and don't need a spellbook tab.
  • A group keeps session notes and descriptions of characters in an external program and doesn't need the bio or journal tabs.

Feature Toggle - Sheet Lock

Add to "Sheet Settings" -> "Features" tab -> "Sheet Lock" section:

  • (World scope) Checkbox to Enable/Disable sheet lock

When Sheet Lock is disabled, the Sheet Lock icon button should no longer be present. The sheets should remain in an unlocked state always.

Questions for the community

Is there merit in providing the sheet lock feature toggle at the client scope? That is, the individual user could turn it on/off for their sheets, rather than (or in addition to) the GM ability to toggle it on/off for everyone.

Is there merit in providing world-scoped (GM only) sheet lock toggles for each actor type (characters, NPCs, vehicles)? For example, the GM could enable sheet lock for characters but disable sheet lock for NPCs and Vehicles.
What about sheet lock toggles for each actor type at the client scope, or individual user level?

Reference

https://discord.com/channels/732325252788387980/1116078321067892796/1159269001298448516

Zanderaf β€” 10/04/2023 6:21 PM
could there maybe be an option to have the lock / unlock disabled?

kgar β€” 10/04/2023 6:21 PM
There are options at present for Always Unlocked for the GM, one for each type of sheet.
I don’t think there’s an option for non-GMs yet
It is possible to have an option where we don’t lock anything. It’d need some details worked out

Zanderaf β€” 10/04/2023 6:45 PM
like an option where unlock lock is absent?
that would honestly be a good feature, no sure how others think

kgar β€” 10/04/2023 6:48 PM
Yes, that definitely can be done. I’ll put it on the list of features to discuss after go-live.

New NPCs have no default Creature Type

This results in the inability to click the Creature Type in order to select one.

Usage in existing Beast type NPC:

image

Blank space on new NPC:

image

Expected experience using legacy Tidy5e:

image

It is similarly not possible to assign them a source in the new "Source" field.

Compatibility - Window Tabs - Floating Item Cards

Currently, floating Item Cards are anchored to the mouse coordinates, and the current way that Item Card positioning is calculated does not work well with the Window Tabs module.

Demo of the problem

When the Window is dragged to the far left of the viewport, the item card is positioned correctly:

image

However, when the Window gets dragged further to the right, the card position gets unintentionally offset by that much also:

demo-window-tabs-issue

Compatibility Requirements

While making this compatibility fix, ensure that the floating item card feature remains compatible with

  • PopOut!

Icons from web adresses invisible

If you have an item/feature with an icon that is not locally on the server and instead points to a web adress, the icon is not shown on the sheet and instead just shows an empty box. It works on the default sheet and the old tidy sheet.
no icon

Feature Toggle - "Favorites"

In some cases, tables make use of the Actions tab and not the Favorites feature.

In "Sheet Settings" -> "Features" tab -> "Favorites" section,

  • (World scope) Checkbox "Enable Favorites", default true

Questions for the community

Does this feature sound useful to you and your table? Why or why not?
This feature does not have to be implemented. It occurred to me during the rewrite that "Actions" and "Favorites" are very similar in some ways, and it would be good to provide tables the opportunity to fine-tune their experience, including or excluding one over the other.

Should the individual user be able to enable/disable favorites for their client-scoped experience?

Item Deletion "Remove Advancement Changes" Dialog Doesn't Show

Zand β€” Today at 6:14 PM
Think i ran into a bug πŸ€”
advancements arent being removed when the class/race/background are deleted from the sheet, not is any option to remove or delete them present when i use tidysheets
switching to default it works fine
anyone else having this problem?


I ran some tests, and I see that the alpha sheets are not presenting the Advancement-specific delete dialog. Here is the new sheet deleting a lvl 10 druid class:
image

Here are the default sheets:
image

The alpha sheets are just deleting the item and not invoking the Advancement Manager.

Favorites Upgrade - Make Favorites Sections Match Their Target Tabs

Upgrade Tidy 5e Sheet Favorites rendering so that it divides up all items in the same way that it does for their target tabs.

For example, when a user adds a "Mace" and "Mess Kit" to favorites, they should be partitioned to the same sections they would be in the Inventory tab, so

  • Weapons
    • Mace
  • Loot
    • Mess Kit

Designing for Compatibility

Custom Character Sheet Sections provides custom sections for items of any kind (inventory, spells, features,...). This is done in such a way that Tidy 5e sheets is able to render these custom sections in the relevant tab where those items appear.

Ensure that the favorites view is able to render the custom sections, same as the target tabs.

Reference

https://discord.com/channels/732325252788387980/1116078321067892796/1167377849578176564

Zanderaf β€” Today at 3:22 AM
not sure if its too much down the pipeline, but I do have a bit of a feature request in mind,

I love the favorites feature from TidySheets, I just wish it interacted better with custom item activation types and kept some of the CCSS formatting to make it easier to navigate and sort

right now it just blobs everything

if player feedback is important; mine love the favorites thing, but wish the features / inventory / spells were kinda of sectioned off a bit better

kgar β€” Today at 9:00 AM
Would it be better to group them verbatim like they are in their tabs?

Zanderaf β€” Today at 9:07 AM
I think so, atleast personally, would make it easier to see what each item is at first glance
like this is a tool, this is a consumable, etc
not sure if support for CCSS is possible with that, but it'd be a decent improvement imo

New Context Menu

The current context menu implementation (the built-in one from Foundry), is subject to its containing element's overflow settings, leading to cases where the menu is hidden in the overflow scroll area:

image

image

Let's craft a new context menu that can, at a minimum create the menu at the same level of the DOM as the Item Card feature. The item card currently uses absolute positioning at that level, and the context menu could do the same, except be anchored at the coordinates of the item row / item grid tile, so it appears like the original, except it should be able to ignore tab overflow because it exists outside of it.

Make the context menu aware of the bottom of the viewport and opt to open from the top of the item and upward in those cases.

Compatibility Requirement

This should work with the following module(s) at a minimum:

  • PopOut!

It would be nice if it could also work with these module(s):

  • Window Tabs*

* - Item Cards are struggling with the Window Tabs because of how mouse coordinates change when within in the Window Tab, and the Item Card relies on mouse position to anchor the card at its intended location. If this problem gets solved here for the context menu, we should use any lessons learned to make floating item cards also work.

Delete Pact Magic Spell Error and Refresh issue

https://discord.com/channels/732325252788387980/1116078321067892796/1170590609799655455

Loving the sheets so far! Ran into a bug when trying to delete a pact magic spell that prevented the sheet from refreshing to display that the spell was deleted. Re-opening the sheet showed it was removed successfully:

SpellbookItemCardContent.svelte:35 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'toggleTitle')
    at Object.p (SpellbookItemCardContent.svelte:35:22)
    at Object.p (SpellbookItemCardContent.svelte:34:24)
    at Object.p (SpellbookItemCardContent.svelte:33:26)
    at Object.p (SpellbookItemCardContent.svelte:30:59)
    at update (scheduler.js:119:30)
    at flush (scheduler.js:79:5)

Add Grid View for Favorites

For each section of Favorites, provide the option to switch from list view to grid view.

To achieve part of the original ask, this update will work alongside #11

Be able to remember this preference for the current user, for the target sheet, between browser sessions. Whether that is localStorage or user-specific actor flags, something harder than sessionStorage is needed for it.

Reference

https://discord.com/channels/732325252788387980/1116078321067892796/1132697983100657714

Dreaming β€” Today at 10:35 AM
I'm also quite interested in putting money in for the update and for a new feature requested by one of my players which would be the following:
Option to have a ==grid layout for the favorites section==, ability to create collapsible folders/sections within the favorites menu by the player for sorting purposes.

kgar β€” Today at 10:56 AM
If such a thing gets implemented, would players want the sheet's expanded/collapsed sections to be remembered between full page reloads? That is, if they log in for game night, the sections they'd previously collapsed last session would still be in that same collapsed state.
Also, if it gets implemented (very likely), we should include expand all / collapse all buttons (or icons) on each tab where relevant.
Dreaming β€” Today at 11:11 AM
I do think that would be ideal

Localization Review and Updates

  • Review and revise the English localization for Tidy 5e Sheets
  • Include all language files from the original Tidy 5e Sheets
  • Trim away unused variables and rename any renamed localization variables where they differ from the English translation

Incompatibility with 5eSheet-resourcesPlus

Currently the module doesn't play nicely with the 5e Sheet-Resources-Plus module.

Expected behavior:
image
image
image

This is on sdenec's branch. On the current Kgar's rebuild, it looks like this:
image

Regardless of the sheet config's resource value (0-20) the sheet will display the global maximum for the resources + module.
Currently the bug shows no errors on the console, just the behavior on the sheet.

Environment settings:

image

Foundry Virtual Tabletop: Version 11 Stable, 11.313
Game System: dnd5e, 2.3.1
Active Modules: 5
Performance Mode: 0

OS: Windows 10
Client: Brave Browser [Version 1.60.110 Chromium: 119.0.6045.105 (Official Build) (64-bit)
GPU: ANGLE (NVIDIA, NVIDIA GeForce RTX 3060 (0x00002487) Direct3D11 vs_5_0 ps_5_0, D3D11)
Max Texture Size: 16384

Tab Filter Upgrade - Include/Exclude/Off, Filter on more things

Update, February 2024

With dnd5e 3.0.0, the filter sets have been moved or replaced by something else.
It is now time to go ahead and implement an alternative.

  • Migrate Functionality to Tidy-owned filter properties on the sheets
  • Support Include/Exclude/Off and proficiency-style cycling
    - [x] Support session storage of filters Deferred
  • Consolidate to a Filter Menu in the style of A5E, including a Clear All button
    - [x] Poll the community for desired filters (e.g., "Can Cast" in Spellbook to represent spells that can be cast, whether from being prepared, a cantrip, innate, at-will, a pact spell, etc.) Deferred until community members can use filters and offer up ideas.
  • Begin planning for API-driven custom filters, assigned by tab ID; this should move sheet filters to runtime data that can be manipulated, rather than being hardcoded to the sheet; create a github issue to track this feature #347
  • Begin planning for user-driven custom filters in GM/World Settings; create a github issue to track this feature #348

Original Notes

Upgrade tab filter buttons so that they can represent one of the following 3 states:

  • Include
  • Exclude
  • Off

Currently, the built-in tab filters change the count of spells throughout the sheet; this has proven to be misleading over the years. Instead,

  • Do not alter the spell count (prepared spells, etc.) when a filter is active; merely filter the view
  • When viewing prepared spells at the bottom of the Spellbook tab, it should read the correct number of prepared spells every time. This value excludes prepared cantrips.
  • The prepared filter button should contain the accurate count of prepared spells, excluding prepared cantrips.
  • When Cantrip Preparation is active, then unprepared cantrips should be filtered out when the Prepared filter button is pressed.

Example of filter button states:
image

User input:

  • Left Click: cycle forward
  • (when focus visible) Spacebar: cycle forward
  • Right Click: cycle backward
  • (when focus visible) Shift+Spacebar: cycle backward

Colors:

  • Off: --t5ek-light-color
  • Include: suggest a simple emphasized color, not the accent, because the accent can easily be confused as disabled
  • Exclude: maybe rgba(205, 92, 92, 1), as seen in the screenshot, open to suggestions, but something that denotes warning or exclusion

Persist these settings as part of sheet state #17 in sessionStorage.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.