Mirage Editor Backlog

The server was closed on April 2nd, 2023
https://pwmirage.com/forum/thread/342-we-are-closing/
  • 21/11/2019 done:

    * added right click menus

    * implemented adding and removing NPCs

    * you can now rollback any modified entity in the "Local Changes" window

    * generalized template/direct edit code to be able to reuse it for other windows


    Edited 3 times, last by Beta ().

  • 2/12/2019:

    * Took me a whole week, but the forum integration is finally done.


    You can now upload your changes to the server, start a new project, work on something else, save it, then go back to the original project. There's a brief description of what a project is on the project creation page.


    Publishing and removing projects is disabled for now - I need to test it a little bit more.

  • 6/12/2019 done:

    * experiment on faster icon loading (this is way faster now)

    * try to add forum navigation bar (topbar) to the editor

    Edited once, last by Beta ().

  • 7/12/2019 done:

    * merge forum navigation bar with the editor's one

    * put biggest images on google drive and add a loading screen for them (with progress bars, etc)

    Edited 2 times, last by Beta ().

  • 08/12/2019 done:

    * implement project publishing


    As of now, a project can be published only once. In future it will be possible to publish "updates" as well.


    Approved content is visible here:

    Content


    There's just a json file attached for now, but soon there'll be a link to a full editor view that really presents those changes.

    Edited once, last by Beta ().

  • 09/12/2019 done:

    It is now possible to publish a project again, which will create a reply in the original thread


    Just like the original post, an update needs to be approved by an administrator before it's visible to everyone

  • 10/12/2019 done:

    * add a mode for browsing only modified objects

    * optimize marker rendering, allow rendering all NPCs at once (this is disabled by default for now, can be enabled in topmenu's View->Always show markers)

    * in published project threads include links to the map viewer instead of the raw data file

    * implement a read-only mode meant for browsing public projects


    In read-only mode you can still make changes, but those won't be saved anywhere - most importantly, they won't affect your current, loaded project.

  • 11/12/2019 done

    * store biggest images in the browser cache so they don't have to be downloaded every time (this is a tremendous boost in loading speed)

    * improve the read-only mode -> when browsing a project, add a link to the forum thread, mention the author, turn on some view settings by default


    to do:

    * prepare a mock of the item editor (at least for the very basic Material items)

    Edited 2 times, last by Beta ().

  • 12/12/2019 done:

    * generalize some entity management code and make it a generic library (db.js) -> this stands as code cleanup


    to do:

    * allow lazy-loading item icons to speed up initialization even more

    * add item editor (just for the very basic Material items for now)

    Edited once, last by Beta ().

  • 13/12/2019 done:

    * allow lazy-loading item icons to speed up initialization even more


    There will be a lot additional data required for the item editor, so rather than putting it all in a single file and having each user download it (as it was done so far), I developed a server app to provide data for any single, specific item.


    to do:

    * add item editor (just for the very basic Material items for now)

    Edited once, last by Beta ().

  • I have to admit I'm not programming in javascript on daily basis and last time I read something about it was 2010-ish.


    I was using old coding practices together with new javascript APIs and in the end the code didn't look too good.


    In particular, I was using callbacks for all asynchronous actions (that's basically most of the downloading/processing stuff).

    This kicks me in the ass now that I'm developing this item editor, as item loading needs to be asynchronous as well and I need to move around a lot of code.


    I did some reading and I'm slowly refactoring everything to newer javascript that can handle such cases much better.

    I'm starting with refactoring only the code that needs changes, but to keep the codebase consistent, eventually all of the code will need to be refactored.


    As for the personal backlog, here's the list of files to be updated:

    * main.js

    * map.js

    * window.js

    * window_db_common.js

    * window_find_npcs.js

    * window_npc.js

    * window_item_finder.js

    * window_tpl_finder.js

    * window_changes.js

    * item.js


    done:

    * download.js

    * log.js

    * navbar.js

    * db_load.js

    * project.js

    * db.js

    * window_rclick_menu.js

    Edited 4 times, last by Beta ().

  • 15+16/12/2019 done:

    * Item editor finally works -> you can now edit and clone all basic Materials (type:Mat) in the goods window.

    * "Templates" had to be slightly redesigned to work for items. To be honest, they used to be a bit confusing and the new interface should be nicer


    As for the templates, you can no longer switch between "edit individually" and "edit a template". You now always edit a template - if you create a new npc, it starts with a new, unnamed template. In future, there will be also a "New object" entry on the template list window.

  • 18/12/2019 done:

    * hook item editor to the recipes window


    to do:

    * continue on writing the guide -> describe templates, PW npc structure

    Edited once, last by Beta ().