* DONE publish and update packages

* DONE add FAQ



* DONE add test user to get admin authority


* DONE fix(platform): when release version update, admin user not update selected packages


* DONE pass "change default scene" run test


* DONE doc: drawer add FAQ when first Login

* TODO deploy website

# * TODO update production


* TODO 写个文档，介绍下如何来一起开发Meta3D这个开源项目

开发出对应的贡献和扩展，发布到Meta3D平台
在Meta3D平台上，将它们组合为引擎包
在Meta3D平台上，让编辑器改为组合这个新的引擎包，以替代原有的引擎包
在Meta3D平台上，运行编辑器，即可看到已经替换了引擎


* TODO 整理适合上手的新手开发任务

platform

editor

engine
    替换引擎实现



# * TODO update CONTRIBUTING



* TODO checkout to dev branch


* TODO @p to fork and pr to dev branch





* DONE perf: optimize editor with default scene

GPU cost too much

    # canvas size?
    imgui


* TODO 支持直接搭建Web3D应用

覆盖C端用户（Wonder的用户）

refer to:
Wonder
PlayCanvas
thingjs


# ** TODO provide a defult editor to develop app

# ** TODO editor add publish to cloud
# TODO Meta3D support host published app from editor


# ** TODO can import app to editor
# ** TODO can import the editor which build app and app's event data


# ** TODO add build app flow & guide
# how user to build app in Meta3D?
#   1.prepare editor
#      - use current published editor
#      - or build custom editor
#   2.build app in editor





** design


publish app to Meta3D in editor

Meta3d add 发布的应用

    can run app

    # can import app to editor and continue to edit?
    #     import single event

    #     to which editor?
    #     just related to packages, so check user's editors' packages:
    #         whether has required packages name and version >=
        
    #         now must match
    #             TODO if not match, ask user to import recommended editors and publish as own editor, then user can import app again

    can import app to editor and continue to edit?
        download single event



** DONE add publish to platform action

TODO upload published local zip file

    type change to arraybuffer
    extract utils


TODO upload single event



TODO run visual:
read store to get env, pass to editor-whole extension
    send to onInit


TODO run after publish:
read file to get env, pass to editor-whole extension
    send to onStart


extension's state add env







# ** TODO platform: rename app/App to editor/Editor




** DONE platform: mark publish to platform as uneditable action

** DONE complete editor: add new publish to menu

    publish with randowm appName and description
    two file ID: contentFileID, singleEventFileID



** DONE pass run test


TODO encapulate backend api




TODO run test:
run visual->publish to platform
    nullable backend app

publish editor->run editor->publish to platform



TODO commit

# ** TODO platform: add ShowPublishedApps
** TODO platform: add ShowPublishedFinalApps as ShowPublishedApps, add EnterFinalApp as EnterApp

TODO support run app

TODO support download single event


TODO show Recommended, All


# TODO handle cache
TODO use no cache



TODO contentArrayBuffer is just sceneGLB

TODO remove singleEventArrayBuffer

TODO update final app service!


** TODO run test

TODO pass compile

TODO need publish:
publish to platform action


TODO run test:
run final app

export single event








** DONE platform: UserCenter add my published final apps



** DONE run test

TODO need publish:


TODO run test:


** DONE imgui demo


TODO finish modal demo
    upload image

# TODO finish message demo

TODO finish select demo


** DONE ui control: add Modal, Image


TODO update modal protocol->icon.png

TODO add input image

TODO pass platform compile



** TODO editor: publish to platform use Modal


TODO fix ui control not update


TODO refactor: change open modal protocol to open xxx modal protocol
    TODO update Menu



TODO need publish:
event data
editor whole
imgui
ui

# open, close action,p
# ui control modal,image i,p
# modal input i,p
# actions

# action:publish


TODO run test:
publish
    open modal error
        label match/not match all error!

    set appname not work

    load image error


    cancel error

    publish error

        TODO publish to platform action not uneditable

        not close after publish

        # enter final app not found


commit

run final app
export single event

run->stop


TODO fix: import error event when cancel modal: not open modal!







# ** TODO editor: publish local use Modal



# ** TODO ui control: add Message to show info
# e.g. show publish progress



** DONE fix: import error shouldn't export event

** DONE refactor: api add messageAPI

log, warn, error

TODO update meta3d-action-publish-to-platform




TODO need publish:
editor-whole e,p
event-data e,p
ui, imgui e,p




TODO need update packages:
event
ui
editor-whole



** DONE fix: not reset preview

** DONE refactor: duplicate between PublishAppService, PublishFinalAppService

# ** TODO refactor: extract startFinalApp in utils .res between EnterFinalApp, index.html







# ** TODO publish success should give success message

# # 1.api add message api: throw error with meesage info
# # 2.run visual, enter app should catch error and parse and use antd message to message
* DONE refactor: remove EnterAppStore?



* DONE feat: refactor isRecommend

now set false when publish;
decide when Show;

# TODO update ShowPublishedApps, ShowPublishedFinalApps



# * TODO fix cache for app and final app: add version and cache: compare version
* DONE fix cache for app and final app: judge whether is debug user

judge admin, test user



* DONE pass bdd test


* DONE pass run test


TODO run test:
run visual->publish to platform

publish editor->run editor->publish to platform






* TODO publish

TODO publish:
image ui control

TODO merge to master
add release

* TODO update production

TODO add publishedfinalApps, finalApps in cloudbase



TODO update packages


TODO publish complete editor app


* DONE fix: can't publish app?

now publish to local env!
use local env??




* DONE @li to test in feishu


* TODO update qiji 资料


* TODO prepare qiji 面试



