League of Extraordinary FoundryVTT Developers

LOE

League of Extraordinary FoundryVTT Developers

Join the community to ask questions about League of Extraordinary FoundryVTT Developers and get answers from other members.

Join

commissions

package-development

system-development

other-topics

workgroups

development

package-ideas

package-compatibility

pixijs-canvas-shaders

progress-reports

dev-guides-and-docs

ui-ux-sheets-forms

hooks

development-basics

manifest-plus

tools-and-workflow

active-effects

wiki

dnd5e-dev

package-stewardship

swade-dev

typescript

starfinder-dev

lancer-dev

pathfinder1e-dev

foundryvtt-v10-research

coc7-dev

a5e-dev

v10-updatathon

svnsea2e-dev

package-jam-2022

blackflag-dev

api-announcements

Direct downloads look at the ` zip`

Direct downloads (look at the .zip): https://tooomm.github.io/github-release-stats/?username=Gwillewyn&repository=dnd-item-icons-by-gwill Forge install percentage https://www.foundryvtt-hub.com/package/dnd-item-icons-by-gwill/ When looking at direct downloads (through Foundry package manager mostly) look at the zip link. The Forge caches packages, so the percentage install is a rough number w/ an unknown max. ...

Sequencer Firefox Performance fixes

Sequencer Firefox Performance fixes

Follow-up questions

For Foundry v10+ here is the essential info for module integration as I gather you might want to load a font or two for whatever your module does: https://foundryvtt.com/article/v10-font-config/ When looking at the core Foundry client code check out FontConfig as this manages the process for Foundry....

comparing fomula

Anyone know of a foundry utility to compare two strings that might be dice formulae to tell which has the lesser deterministic value?

Get most matched Classes

const intersection = yourArray.filter(item1 => yourOtherArray.some(item2 => item2 === item1))

Application and Events

Does anyone know if Foundry's Application (or the browser itself) does anything magical to clean up after events registered on the html elements created by that application? I've a vague memory that this is one of the things jquery was good for, and that unless you explicitly clean up manually registered events, you've got potential for a memory leak. I don't have any good sources for that and I'm pretty fuzzy on browser memory and performance matters, but I wondered if anyone more knowledgable than me has taken a look at such things....

module.json help

You have no manifest or download fields.

preUpdateHook question

Hey all, question for anyone who has a sec. I'm trying to use preCreateActor to add rolled values to a new actor, but I don't seem to be able to get the values to apply. Anyone mind having a look? I'll throw my code in a thread so it doesn't clutter up the channel

spitballing about jest mocks

ok. ok. ok. pure spitballing theory here. All the client side source exists in esmodule form (hopefully importing from eachother?) So then it stands to reason that a jest instance could instanciate an actual Game instance as though it were actually an active game session. With something that mocks out a browser standing in for all the browser APIs, "All you'd need to mock" would be the socket connection server calls....

Plugin Contributors

I'm very proud to be the maintainer of a module (Export Sheet to PDF) that is getting many, many contributions to the point that I'm now making many releases without doing any work on the code myself. These fantastic contributors are typically submitting a small plugin file (I call them "mappings") which contains some code, but is completely distinct from what I consider as the main code base. Because of this, I'm concerned with my current approach to incrementing my package's version number as if those updates were to the main code (i.e. with semver I increment the minor version for new features and the patch version for fixes). Does anyone have any ideas on a better alternative to versioning that I can use going forward, but that still mostly complies with semver. ...

JSON.stringify jank

I discovered that the problem is JSON.stringify, not parse

layers

TIL about CSS Layers. https://developer.mozilla.org/en-US/docs/Web/CSS/@layer ```css @layer utilities {...

Saving Functions as module settings

@wasp I remember you asked about saving functions as settings (which quickly turned into stringifying them IIRC?), did you end up doing something about that ? I am sort of in dire need of the same haaha EDIT I'll thread this to keep the convo focused

getter & setter wrapper for settings

I'm trying to use a getter & setter pair as an interface for game.settings.get and game.settings.set. Is it possible to make the setter asynchronous so that I can use await when I made assignments to it. This is what my getter and setter currently look like: ```js class Ctg {...

scrollable tab contents

It is possible, and you're firmly in the css and DOM structure side of development with this line of inquiry. Let's thread this so it's easier to follow.

System Specific CSS

I'm not 100% about this, but it is worth watching out that your solution doesn't actually end up being more performance intensive than having a bunch of css rules which are completely ignored by the browser. AFAIK, CSS is pretty light in that regard.

Commander register api

talking about permissions, im working on the registering api for the Commander, and I wanted to ask for some general feedback: if it makes sense, if I might be missing something obvious, possible ideas for something to add, you name it. ```ts interface Command { name: string; // name of the command - used for finding command suggestions description?: string; // OPTIONAL will shown when hovering over a command suggestion, and can also be seen listing the command by console...

Azgaars Blurry Map

Hey all. I'm taking a look at my importer for Azgaar's Fantasy Map Generator and wondering how I can improve the quality of the Map. In this case when I export an SVG from the tool and then import that SVG into Foundry it gets super blurry when I zoom in far, yet the base SVG doesn't. Any ideas? I'll post some pictures in a thread.

ccjmk overlay

but for what I wanted I think I needed to append it there so that I can overlay the whole screen
Next