Coder Social home page Coder Social logo

doxxx / ffxiv-craft-opt-web Goto Github PK

View Code? Open in Web Editor NEW
225.0 225.0 200.0 50.49 MB

Web frontend for FFXIV Crafting Optimizer service.

License: zlib License

HTML 17.52% CSS 5.25% JavaScript 76.62% Python 0.58% Batchfile 0.02% Dockerfile 0.01%

ffxiv-craft-opt-web's People

Contributors

ahmadaymana99 avatar aricstewart avatar btford avatar butterflo avatar doxxx avatar elnur avatar ermad avatar gr3ger avatar igorminar avatar jeffbcross avatar jengines avatar kongspark avatar kurax avatar lokyst avatar marcenuc avatar mhevery avatar michaelneale avatar nmarques-ext-delfingen avatar noshlag avatar petebacondarwin avatar philspitler avatar queenschou avatar ryan-dyer-sp avatar ryuanerin avatar saltfish-x avatar segeda avatar shammylevva avatar vojtajina avatar xflobot avatar yls888 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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

ffxiv-craft-opt-web's Issues

Persist settings across web browsers/devices/computers

It would be useful to be able to see the same settings/recipes/etc. on multiple computers without having to manually synchronize them. This will probably require user registration and a backend database (Firebase seems a likely candidate). The user registration should allow for multiple characters with separate stats.

Access to the user profile database should be segregated behind a service interface so that if necessary we can switch the backend to a different database (Firebase, MySQL, etc.).

Drag & Drop of actions in the sequence editor

It would be a far better user experience to be able to drag and drop actions in the sequence editor, not only for adding actions in the middle of the sequence but also to move actions within the sequence.

Add a button to refresh the simulation and solution log

It would be useful to have a button near the bottom of the simulation log that reruns the Montecarlo simulation using the Initial guess and updates the contents of the simulation log. This will allow me to see the changes from run to run more easily than scrolling up and hitting the simulate button repeatedly.

Similarly, it would be useful to be able to use the same button to rerun the Montecarlo simulation using the "best" solution. This in turn would update the contents of the solver log.

Macro Wait Time Optimization

The macro generator is great and the inclusion of a wait time is the icing on the cake; however, it is known that you don't have to wait as long for "buff" abilities during the macro. Reducing wait times by 1s for buff type abilities would optimize time spent crafting with macros generated by the FFXIV Crafting Optimizer. Fitting, yes?

Move Macro section into modal popup

As more stuff has been added to the Simulator area, the Macro section has been moved fairly far away from the Initial Guess sequence it is generated from. To remedy this, it should be moved to a modal popup triggered from a button in the Edit/Simulate/Solve group. Button order should be Edit, Simulate, Solve, Macro.

Update macro wait syntax to release 2.16

The FFXIV 2.16 macro syntax now accepts the inline marker <wait.3> as an alternative to the /wait 3 syntax.

The macro syntax should be updated so that fewer lines (and macros) are needed when generating the macro text from a initial guess.

Starting simulator in quick succession causes page hang

When typing in crafter stats values or adding actions to a sequence in the editor by quickly clicking the action button, the page sometimes becomes unresponsive. The simulator status shows "running", which may mean that it has something to do with the simulation web worker.

Rumination at 0 CP does not return any CP.

I believe this has happened to me in two different rotations/gear setups, but I didn't report it the first time.
It is easy to work around by increasing available CP by 1, but this could potentially have the solve function find rotations you really can't use so it would be nice if you could fix it.

Level 50 GSM with 325 CTSP, 303 CTRL 319 CP, rotation below:
Comfort Zone
Inner Quiet
Steady Hand II
Basic Touch
Innovation
Basic Touch
Basic Touch
Basic Touch
Great Strides
Steady Hand
Innovation
Advanced Touch
Great Strides
Advanced Touch
Rumination
Ingenuity
Careful Synthesis II
Careful Synthesis II
Edit: The synth was Rubellite Earrings in case it matters. Double edit: The same happens on Decorated Silver Scepter.

Piece by Piece - Percent error

You seem to use 33.3% to calculate how many progression is made by the action "Piece by Piece".

Example: for 801 difficulty, the first PbP show a progression of 267. But in game, it only increase of 264, which is 33.0% of 801.

I could not find where you configure actions to make a pull request with the fixed value but I'm sure you'll find it faster than I could ;)

No way to set UseConditions

At the top of the solver and simulation log there is a indicator showing that use conditions is true, but there is no option to set it to false.

Simulation does not check that initial sequence only contains available actions

When switching the crafter class of an existing recipe, it is possible to wind up with unavailable actions in the initial guess. The simulation does not check that the sequence contains unavailable actions and will happily report an impossible result.

Suggested solution:

  1. Highlight the offending action in the initial guess.
  2. Do not allow the simulation to be run until the offending action has been dealt with by the user.

Better error reporting

Various error conditions in the solver, e.g. an empty sequence list, are not detected and reported nicely.

Additional crafter stats fields

There should be fields for entering bonuses to crafter stats from food and other buffs, separate from the crafter's base stats.

Improve layout of sequence editor

The sequence editor takes up too much vertical space and since it cannot be scrolled, for some users the bottom of the dialog may not be visible.

Suggestions:

  • Remove "Available Actions" and "Sequence" headings
  • Move status display in between actions table and sequence?
  • Compress other whitespace?
  • Change sequence max height before scrolling to just two rows.

Rename does not work

Using the rename button pops up the dialog but does not rename to the text typed into the text box.

Input validation

Validation on various inputs like generations and population size.

Set available actions according to level

Given that we know at what level each action becomes available, it should be possible to automatically enable and disable actions as the level changes, including cross-class actions.

However, we still need to be able to retain the ability to disable actions that we don't want to use and enable actions we always want to use, regardless of level.

Implementation notes:

  • Base set of available actions can be determined from the set of class levels
  • Two more sets of actions are persisted:
    • Enabled -- actions that must always be available
    • Disabled -- actions that must never be available
  • Need a button to reset the Enabled and Disabled lists -- "Reset to level X"?

Show solver progress

The progress of the current solver task should be shown in a popup modal window. Progress should be shown as X/Y generations. It would be nice to also show things like best result from most recent generation.

Rearrange options

Some of the options that are currently saved per synth are not really related to the synth and are more like global options:

  • maxMontecarloRuns
  • penaltyWeight
  • population
  • generations
  • seed

These should be split out into a global options section, maybe as a dropdown menu from the navbar, and should not be saved with individual synths.

This leaves the following as synth-related options:

  • maxTricksUses
  • reliabilityPercent
  • useConditions

After that, we should look at rearranging the remaining synth-related options to take up less space on the page.

Allow Solve button to be used with alternative algorithms and models

The probabilistic model or Montecarlo model can be solved with any algorithm that allows for a black box approach. There should be an option to select alternative algorithms and models to be used with the solve button.

e.g. GA with Montecarlo
e.g. GA with local extema handling with Probabilistic model etc.

Comfort Zone bug

Comfort Zone being used when 1 turn of a previous Comfort Zone remains is not calculated properly.

In the game using Comfort Zone when there is 1 remaining turn of a previous Comfort Zone will cancel that turn's 8CP gain. The Crafting Optimizer does not reflect this.

To reiterate, the game itself will cancel out any CP return for the turn if ANY Comfort Zone turns remain before using again, this specifically includes the turn that the second Comfort Zone was used.

(This is the same mechanic that prevents infinite comfort zone stacking in game.)

Simulation summary line tweaks

  • The final progress in the title summary line should be displayed as progress/difficulty.
  • Progress/Difficulty should always be displayed
  • A successful simulation should display Progress/Difficulty in green to screw with colour-blind people.

Add recipe library

The user should be able to select from a library of recipes for a particular class and get the recipe details entered automatically.

Scale penalty with degree of violation

When simulating high level recipes (e.g. 3* level 90), the penalty weight for bad sequences is not sufficient to counteract the large quality values that are produced. The penalty should be scaled according to the degree of the violation. For example, the penalty for a CP violation of -50 should be greater than a violation of -5. Similarly for durability and progress.

Skill tooltips do not work well on touch devices

The Angular-UI Bootstrap tooltips are not easily dismiss-able on touch devices. Tapping the tooltip does not work, neither does tapping outside the tooltip. The only way that seems to work is tapping another interactable element like a button or text field.

Simulator indicates failure when synthing at 5 dur

Email from DrewIt:

"Thank you / Thank you / Thank you for this site

I noticed when I have 5 Durability left I can still do a basic synthesis (-10 dur) and it will succeed, but the site goes red and says it will fail.

  • Thank you"

Save/Load sequences

I've often found the desire to want to compare different sequences and simulate them a few times, but in order to do so, I have to manually select each skill, click them in, and remember the results.

Similar to the recipes, a save and load feature would be useful.

Investigate alternative modeling of Rapid Synth

Rapid Synth's progress to risk ratio skews the optimizer to use it in situations where it would normally not be used by a crafter. Investigate an alternative method of modeling this action, possibly by using some kind of robust optimization.

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.