* DONE Asset

now asset is only glb!

not use asset tree, use list/array instead which only has one level

TODO add asset ui control

TODO load as a whole file, not extract textures, materials

TODO show loaded glbs

TODO support drag loaded file to scene view




** DONE ui demo

TODO layout: second line
    first line: 2 button with image: remove, load
    second line: icons:image+name

TODO drag icon to scene

TODO scroll bar







** TODO add ui control

how to abstract?

bind what?




scene view protocol: define accept

scene view:
handle drop DND_SceneView with payload:{
  fromUIControlProtocolName,
  data:any
}




data source:
# define type
#   need check

find meta3d-asset-protocol



event:
click header button handle:
# remove
add

drag:
target
find meta3d-ui-control-scene-view-protocol
  insert imgui code(handle drag target)

drop handle

# click asset



TODO finish protocols



TODO add new extensions, contributes

TODO pass run test
  TODO fix: no image twice
  TODO load glb no reaction!
  TODO drag to scene view no reaction

  # TODO fix: drag to scene view shouldn't move arcball


** DONE slice text

** DONE icon size decrease to 20*20


** DONE use glb image instead of wdb image








** DONE add remove glb

TODO fix inspector

TODO pass run test


# TODO highlight clicked glb


TODO need publish
# add glb
# meta3d-ui-control-asset, p
# # # meta3d-editor-webgl1-three-run-engine-sceneview
# remove asset
# select asset, p
# imgui
# ui, p






** DONE refactor: move loadGlbImage, ... to state

# still store in element state


TODO ui control: 
# add createState, init
add init



TODO need publish
# meta3d-ui-control-asset



** DONE run test: redo/undo when run





 
* DONE 实现Menu
# 如何提供contribute进行扩展？



TODO need publish
menu



* TODO SceneTree




TODO add name for e,c
TODO engine core
TODO engine scene,wholel api
TODO dispose handle names
TODO update scenegraph
  convert
  import

TODO publish





TODO imgui demo for scene tree
tree
keep Scene open
icon+name
collapse
select
drag



** DONE add ui control


need publish:

TODO tree
  node type:
  GameObject
  Mesh
    if has geometry+material, then is mesh
  Light
  Camera


TODO set parent
  drag data:
  source, target: level+index


TODO select action





TODO header:
add cube

# TODO fix select node, set parent for s,g view!
# TODO unify clone for s,g view!


TODO unify gameObject for sceneview, gameview


clone
//handle name
//handle texture
# handle three
# clone config add isShareGeometry
# share texture?




dispose:
  TODO add action, p
  remove selected gameObject
    TODO use remove instead of dispose(also for add cube* TODO>backward), then dispose them when export scene(when publish and export)

    TODO fix gameObjectAPI:add xxx, fix getAllGameObjects
  # only remove for three.js, keep dispose for ec?



TODO pass run test
  publish

  not selected
  set parent error

  dispose parent error

  # should add to child of selected
  # add glb error
  dispose child still remain

  dispose, clone should refresh gameview

  default scene's gameObjects add name

TODO need publish:
# imgui
# scenetree uicontrol
# dispose
# clone




** DONE pass run test:redo/undo when run

TODO need publish
# clone
# add cube
# add glb




TODO fix:
clone with parent->redo

TODO fix test glb:
add glb->redo


** DONE fix: stop error not in event


** DONE SceneTree, Asset header not scroll

** DONE SceneTree add horizontal scroll

HorizontalScrollbar


** DONE refactor: unify xxxForSceneView,xxxForGameView

e.g. actions, uicontrols


# * TODO feat: Asset glb: add selected flag


* DONE refactor: Asset, SceneView: remove Events





* DONE Inspector
  ** TODO edit gameObject name
  ** TODO edit local position, euler, scale
  # ** TODO show components


TODO need publish


TODO fix:
  fix visual->getActionState in ui control
  # getLocalEulerAngles
  dispose->not disappear!

* TODO scene view

# ** TODO add grid


** TODO use clearColor


TODO change to gray



# TODO publish should use clearColor



TODO publish:
meta3d-pipeline-webgl1-three-gameview, sceneview


* DONE game view

remove arcball



* DONE loopengine for setxxx





* DONE Controller

  ** TODO add run controller(ui control) to unify run, stop action


set event



# * TODO refactor: remove meta3d-imgui-renderer-protocol dependent except in meta3d-ui

# e.g. some actions, uicontrols dependent on it, should remove the dependent!


# * TODO fix: solve click button blink problem


# * TODO feat: remove title bar of scene view, ...



# * TODO change to % size?



* DONE layout editor page


* DONE feat: set parent can set to Scene




* DONE fix: import event, load glb: if not import, should return to page instead of empty




* DONE fix: import app with package->select all in assemble space->go to Index->enter assemble space: package not stored in app!



* DONE menu: add help->about Meta3D

jump to website




* DONE pass publish

TODO update meta3d-imgui-webgl1-three-renderer


TODO publish:
# scenegraph s,g



TODO fix:
  no clone
    export scene error: cloned position
      fix instanceof Scene



TODO make publish action only read



* DONE publish

TODO ci


TODO video


TODO publish

TODO update production


* DONE fix: name miss