0504 에디터 올리는거 정리

1. 뷰포트는 2개가 있다.
    - WorldViewerViewport : IViewport
        -> get_world_viewer_texture() 를 통해서
            월드 뷰어의 현재 텍스쳐를 가져옴.
        -> 밑에 특별한 UVClippedTextureRect의 world기준 rect에 따라서
            리사이징 / 마우스위치 register 됨.

    - EditorViewport : IFinalViewport
        -> 여기 매우 깊숙히 특별한 UVClippedTextureRect는
            get_owner().find_viewport("WorldViewer")
                .as<WorldViewerViewport>().get_world_viewer_texture() 
            를 텍스쳐로 가짐.

            = 이 UVClippedTextureRect가 리사이징되면, 위의 뷰포트도 
                동시에 리사이징되기 때문에, aspect ratio 유지라던가 필요없음.

                단, GL텍스쳐 재할당 피하기 위해서
                텍스쳐 특정부분만 그리기(UV 기준 클리핑).
2. 저 두 뷰포트 중 
    WorldViewerViewport가 먼저 그려지고,
    EditorViewport는 나중에 그려진다.

3. EditorViewport에서 꼭 해야 할 건, 
    루트노드 트리가 모두 구성된 후에 
    setup()같은 함수에서 
    깊숙히 있는 UVClippedTextureRect의 텍스쳐를 지정해줘야 한다는 것이다.
    (대충 그 클래스에서 알아서 잘라 그리기)

4. WorldViewerViewport에서 꼭 해야 할 건,
    "만약 에디터 기준으로 커서가 월드 뷰어 안에 들어와 있는지"
    검사한 후에?
    들어와  있지 않다면
    뷰포트 기준으로 전체 씬이 "입력이 들어오지 않음 플래그"
    를 새로 만들어서, 처리하기.