* DONE pass react render

* DONE pass webpack:dev-server

* DONE pass router

* DONE pass redux
https://github.com/saper150/remporium

* DONE pass antd

* DONE pass bdd

bdd test 

snapshot

* DONE add folders

* DONE rewrite Register

* DONE rewrite 首页

* DONE rewrite Login

# * TODO add bdd test

# * TODO use 依赖隔离 cloudbase


* DONE 增加“发布协议”的tool（prvatie），将通过pr而merge到Meta3D中的协议发布到cloudbase

name
version
icon




# empty

# match version


* DONE add bdd test


* DONE refactor: flatten ui/user/ to ui/

* DONE add assemble-space

# empty:
# controller: publish button

# body show:
# TODO 装配空间


# pass bdd test(snapshot)




# pass run test


* DONE assemble-space: left show extension, contribute protocols and implements

# collapse

List(horizon)


pass extension

** DONE refactor: extract functions to module Method


** DONE fix cucumber:
add raw thenPromise function?

** DONE add error test case

* DONE change snapshot path

* DONE pass run test
** DONE pass run test

** DONE add error test case: version

** DONE use Collapse

pass frontend->run test

pass assemble-space->bdd test

# ** TODO refactor(frontend): extract functions to module Method


* DONE assemble-space: extract Extensions ui

pass bdd test

pass run test

* DONE assemble-space: left->tree show selected list

List(vertical)

use store

pass extension

pass bdd test

pass run test



# * TODO assemble-space: content show selected extensions

# pass extension



* DONE assemble-space: right show set new name, ...

use Collapse

  ○ 从tree中选中扩展或者贡献后 
    ■ 右侧的Basic 可指定它们的new name
  ○ 从tree中选中扩展后 
    ■ 右侧的Basic 是否启动(only for extension)
(so no need main extension: e.g. meta3d-editor extension)


fix bug: id


* DONE 修复bug: select the same extension twice->change one's new name, the other one shouldn't be affected!!!

solution: set different id



* DONE 修复bug
  ○ 进入assemblespace 时应该reset
    ■ 进入extension market->选择e1->进入assemblespace->选择e1->进入extension market->取消选择e1->进入assemblespace: selectedExtensions 应该为空！
    ■ inspector should be reset


* DONE refactor: remove "@testing-library/react-hooks"


* DONE assemble-space: pass contribute


* DONE assemble-space: finish publish

publish extension, contribute

modal
  form


** DONE implement


** DONE pass bdd test


** DONE pass run test

# TODO fix: fail

# TODO fix: publish fail



# TODO fix: empty publish


# show app:

# unique key

# isLoaded



* DONE add engine extensions

# split engine-core to scene, job-pipeline
# so engine is split to these abstract extensions(with contribute):
# scene
# # job-pipeline
# pipeline


# ** TODO extract work(rename work plugin to work) extension from engine-core
** DONE extract work plugin extension from engine-core

# ** TODO make engine facade to be root extension(named: engineAPI extension)




* DONE render a triangle by webgpu


# ** TODO add meta3d-register-default-pipelines work extension

** DONE add root work contribute

** DONE extract webgpu extension

** DONE add one work contribute

# ** TODO add render triangle extension to be entry extension for app
** DONE add use engine extension to be entry extension for app



** DONE pass editor1 run test

* DONE publish multiple

* DONE fix: should only has one start extension
return void



# * TODO add local debug!

# import instad webpack

# select ...
# start ...

* DONE extension/contribute protocol should ignore publisher and unify

still has publisher in package.json

* DONE extension/contribute protocol show version

* DONE extension/contribute market should show publisher





* DONE extension/contribute market should refresh





# * TODO add scene extension of engine-core

* DONE add components

** DONE add GameObject

** DONE add Transform


** DONE render a triangle

** DONE add Other components


** DONE publish

# * TODO add extension package

* DONE refactor: move -common-protocol, worker-utils, meta3d-component-commonlib to ./utils package

* DONE feat: publish extension/contribute should check version, publisher exist


* DONE pass ci

pass coverage:
# assembleSpace
# backend


# * TODO wait publish should close publish button

* DONE upload website

# ** TODO add Origin Trial

# ** TODO separate account

** DONE pass use engine run test



* DONE publish version




* DONE fix: extension/contribute market should refresh












* TODO refactor: extract Sider component