doxxx / ffxiv-craft-opt-web Goto Github PK
View Code? Open in Web Editor NEWWeb frontend for FFXIV Crafting Optimizer service.
License: zlib License
Web frontend for FFXIV Crafting Optimizer service.
License: zlib License
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?
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.
When the settings are changed that would affect the simulation result, the simulation should be rerun automatically.
https://github.com/mozilla/localForage
Investigate using localForage as a replacement for LocalStorage for storing user preferences and saved synthesis settings.
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.
Using the rename button pops up the dialog but does not rename to the text typed into the text box.
The Available Actions in the Edit Sequence popup are based on what class is selected in the Crafter Details section, but should be based on what class is selected in the Recipe Details section.
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.
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.).
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.
Add the ability to stop the current solver task and return the most recent results.
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:
The Stats Bonuses button no longer pops up a dialog to enter your bonus stats,
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 ;)
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.
Various error conditions in the solver, e.g. an empty sequence list, are not detected and reported nicely.
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.
The sound effect at the end of the generated macros is currently hard-coded to <se.1>
. This should be user-editable.
There should be fields for entering bonuses to crafter stats from food and other buffs, separate from the crafter's base stats.
Some of the options that are currently saved per synth are not really related to the synth and are more like global options:
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:
After that, we should look at rearranging the remaining synth-related options to take up less space on the page.
Validation on various inputs like generations and population size.
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.)
Provide the ability to run a simulation for the sequence in the sequence editor, showing the final state (cp, durability, progress, quality).
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.
Inner Quiet stacks apparently cap out at 11. The simulator should model this correctly.
The user should be able to select from a library of recipes for a particular class and get the recipe details entered automatically.
Even Provided with a feasible initial solution it is possible for the GA to return a worse final result.
Cleanup unnecessary files in repo.
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:
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.
From Reddit: http://www.reddit.com/r/ffxiv/comments/21rmzf/ffxiv_crafting_optimizer/cggecn3
The simulation also seems to have issues with the last synthesis when the item only has 5 durability left. Even if the synthesis costs 10 durability, the item should finish regardless and not end up with a warning and 0% succes.
The open/closed state of the various details sections should be remembered between sessions.
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.
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:
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.
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.
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.
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.
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.
A page describing the project.
In 3* recipes, Ingenuity and Ingenuity II are not providing the quality bonus that they should.
For reasons which are not as yet apparent, sometimes the bonusStats object is saved to localStorage as "undefined", which then hoses the app when it is reloaded and tries to parse that as a JSON object.
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API
Investigate using IndexedDB as a replacement for LocalStorage for storing user preferences and saved synthesis settings.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.