* DONE learn imgui-js

* DONE run button demo


* TODO finish draft

** DONE add imgui webgl backend renderer2

init

beforeExec
afterExec

clear

render 



Window:
BeginWindow
EndWindow



** DONE add UIManager2

# ** TODO add bind-io-event2

** DONE add ui-control-window

** DONE add use-editor2


fix io

fix event



** DONE pass compile

** DONE commit

** DONE 
        "watch": "tsc -w -noEmit",

** DONE fix

# parentId

# specific

# element mr

# select ui control

# ui control inspector:
# specific
#     direct value
#     can use element state

# ElementVisual

# PublishElement



# pass compile

** DONE assemble-space pass bdd test

# element mr:
# parentId

# return
# remove last

# specific




//select ui control

# ui control inspector:
# specific
#     direct value

# ElementVisual
# import element

# PublishElement

# Store: 
# SelectUIControl


** DONE commit


** DONE pass bdd test

UIManager

** DONE refactor


** DONE pass run test

add isInitEvent


TODO fix:
# empty childrenFunc

# label not apply:
# change imgui to loop;
# only init imgui once;

# imgui just invoke updated execs;



# TODO add convert Meta3d.ExtensionFileType.contributeFileData to elementContribute


# pass run test







# why only one?
# need reinit?


# specific commit shouldn't restart



# imgui: updateTexture bug: should only update once!



//why add second and the first change color? 
select?




# specific per control


# refactor: rename defaultValue to value




# pass bdd test









# label not change






# child not show






pass run:
# run bug: version not match


# no event?

# # remove canvas->style(width,height)

# different:
#         ImGui.IsWindowAppearing() 

# dis focus not work

# captureMouse work




# pass bdd test




# pass publish element?



# pass publish application:
# with no
# with published element




# pass bdd test



** DONE feat 
# ui control inspector:
# specific add:
#     can use element state


# bdd test

# run test








* DONE imgui webgl backend renderer: add Button

# Button:
# Button
# how to set position:
#     SetCursorPos


# Button shouldn't has childrenFunc!





* DONE pass bdd test

SelectedUIControl

test store->SelectSelectedUIControl


* DONE pass run test

# children:
# window->child1 window->button not show





# uiControl:
# add children


# bdd test: 
# element mr
# store:
# SelectUIControl
# SelectSelectedUIControl

# import element
# publish element?





run test:
window->child1 window->button


# child button not show

# no img


# child button can't change inspector

# w->w->w not show




# import element



# trigger action


# * TODO fix: window not collapse


# * TODO fix: use child window?

# # position will be related to parent?

# refer to:
# https://github.com/ocornut/imgui/wiki/Tips#using-beginbeginchild



* DONE fix: SelectedUIControl add root node(or click other to clear)


* DONE pass publish ap run test





* DONE rewrite skin

# Ap: set isDebug, clearColor, skin(skin name) to ap inspector

# get them from ap inspector for visual, run
# (get skin from skinName)

# use editor get them and combined to configData

# get style from first skin contribute
# get style from selected skin contribute



* DONE pass bdd test

# current test




# publish

# ap inspector

//ap inspector controller


# element visual, run


# meta3d-ui



* DONE pass run test

** DONE fix bug






* DONE commit

* DONE root expand

* DONE refactor: use InputNumber for rect, element state, specific



# * TODO feat: assemble space add config:isDebug


# * TODO feat: element assemble inspector add clearColor


# * TODO feat: start config add clearColor
* DONE feat: start config remove isDebug



* DONE refactor: remove 2, use 2 replace 1

remove unused


* DONE fix: publish not found skin name





# * TODO use it in a extension

# * TODO replace event, io

# * TODO replace skin


# * TODO implement Window, Button ui control

# * TODO rewrite skin


# * TODO add Menu ui control


# * TODO add Menu Extension/Contribute







* DONE switch backend to cloudbase->pro account

# buy another account?


* DONE fix bug: root->win->button, trigger bug

# childrenFunc return promise
# ->
# ui control func return promise


# run test

# bdd test

commit


* TODO pass ci


* DONE publish


* DONE update website, platform


* DONE publish version video


