OverlayPlugin / cactbot

FFXIV TypeScript Raiding Overlay
Apache License 2.0
67 stars 31 forks source link

Coverage report not showing certain content #98

Open wexxlee opened 4 months ago

wexxlee commented 4 months ago

https://overlayplugin.github.io/cactbot/util/coverage/coverage.html

Does not currently show Eureka/Bozja (including BA, CLL, DR/DRS, etc.), deep dungeons, hunts, or treasure map dungeons. Could/should probably add those for completeness.

wexxlee commented 3 months ago

Adding ref to prior comment about this in https://github.com/quisquous/cactbot/issues/5069

xiashtra commented 1 month ago

Masked Carnivale could be included here as well.

valarnin commented 1 month ago

Would it make sense to add a secondary pass through timelines and triggers, collecting anything not already represented by the pre-built tables, and print those under an Other category at the end maybe?

xiashtra commented 1 month ago

It might get excessively long; just the Deep Dungeon trigger sets are going to add 40 entries alone. There might also be a desire to add more free-form annotations to some entries; for instance, because of how the zone works, all of the Masked Carnivale stages are lumped into one file, whereas it might be nice to list exactly which stages are supported.

valarnin commented 1 month ago

Perhaps a new optional property on TriggerSet which can be used to add new entries to coverage?

(I'm just spitballing ideas right now)

xiashtra commented 1 month ago

Would it make sense to add a secondary pass through timelines and triggers, collecting anything not already represented by the pre-built tables, and print those under an Other category at the end maybe?

Maybe this is an idea to start with, to see what the output looks like, and get an idea if anything needs to change to make it more useable.

We could start with an Other main category with sub categories based on the entries in https://github.com/OverlayPlugin/cactbot/blob/079eb898b5ba58be3b74e9a427309c438eb39e89/ui/config/config.ts#L132-L214 (to match the config UI).

I could see possibly extending the output to give more detailed information on say, which Critical Engagements are/are not covered in the Bozja areas (for instance), but at some point we start to exceed the limits of reasonable automation and drift into manually updated entries.

wexxlee commented 1 month ago

Would it make sense to add a secondary pass through timelines and triggers, collecting anything not already represented by the pre-built tables, and print those under an Other category at the end maybe?

Maybe this is an idea to start with, to see what the output looks like, and get an idea if anything needs to change to make it more useable.

Yeah, this makes sense to me.

Perhaps a new optional property on TriggerSet which can be used to add new entries to coverage?

I think this would be an elegant way to override default handling in the "Other" category - like suppressing it from the list, changing its subcategory, changing its listed name, etc. Probably, as xiashtra says, something to do after we do a pass and see how fugly the unmodified output is, but this seems like the right approach, at least for triggers/oopsy coverage.

For timelines, I don't think (?) there's any timelines that don't have corresponding triggers, so we could probably base it on the triggerSet props for the trigger file? (I could be wrong about that, but I'm in between meetings and can't check rn.)

(Sort of tangential and probably a separate PR?, but I think it'd be worth a little UX touchup on the coverage report. There's probably a better way to display the content -- at a minimum, with some filters at the top so it isn't always necessary to scroll through a massive list with no section headers.)

valarnin commented 1 month ago

For timelines, I don't think (?) there's any timelines that don't have corresponding triggers, so we could probably base it on the triggerSet props for the trigger file? (I could be wrong about that, but I'm in between meetings and can't check rn.)

It's impossible to have a timeline load without a corresponding triggerset file, but that triggerset file could have 0 triggers in it. (ab)using raidemulator's exposure of the full cactbot data model via console shows that there is one fight with 0 triggers, and plenty of fights with just one trigger.

image