MCPcopy Index your code
hub / github.com/cksac/oxui

github.com/cksac/oxui @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
181 symbols 305 edges 31 files 2 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OXUI

Cross platform native GUI in Rust

GUI with ideas from

  • Flutter
    • Widget Tree
    • Render Object
    • Skia
  • Jetpack Compose
    • Positional memorization runtime
    • Incremental computation

Status

  • Experimental and very early stage, it is far from usable.
  • Contribution is welcome if you also intrested in building GUI framework :)

  • [ ] Widgets

    • [x] Flex
    • [x] Constrained Box
    • [ ] ...
  • [ ] Rendering object
    • [x] RenderFlex
    • [ ] ...
  • [ ] App runner
  • [ ] event handling
    • [x] hit test
    • [ ] ...
  • [ ] optimization
    • [ ] repaint boundary
    • [ ] layer composition

Examples

  • Nested Flex layout with positional state test
    • cargo run --example run_app

      https://user-images.githubusercontent.com/147393/158579311-0ac253f7-5cfc-464d-93d6-66e66dd288a0.mov

Extension points exported contracts — how you extend this code

HitTestTarget (Interface)
(no doc) [6 implementers]
src/gestures/hit_test.rs
RenderBox (Interface)
(no doc) [6 implementers]
src/rendering/box.rs
Widget (Interface)
(no doc) [5 implementers]
src/widgets/widget.rs
RenderObject (Interface)
(no doc) [7 implementers]
src/rendering/object.rs
SliverWidget (Interface)
(no doc)
src/widgets/widget.rs
RenderSliver (Interface)
(no doc) [1 implementers]
src/rendering/sliver.rs

Core symbols most depended-on inside this repo

layout
called by 20
src/rendering/box.rs
with_child
called by 8
src/rendering/flex.rs
into_flexible
called by 4
src/widgets/widget.rs
size
called by 4
src/rendering/flex.rs
main_size
called by 4
src/rendering/basic_types.rs
cross_size
called by 4
src/rendering/basic_types.rs
constrain_width
called by 4
src/rendering/box.rs
constrain_height
called by 4
src/rendering/box.rs

Shape

Method 124
Class 28
Enum 12
Function 11
Interface 6

Languages

Rust100%

Modules by API surface

src/rendering/flex.rs22 symbols
src/rendering/box.rs22 symbols
src/rendering/basic_types.rs20 symbols
src/rendering/sliver.rs16 symbols
src/rendering/object.rs10 symbols
src/rendering/image.rs10 symbols
src/rendering/sliver_list.rs9 symbols
src/rendering/render_view.rs9 symbols
src/rendering/proxy_box.rs9 symbols
examples/run_event.rs8 symbols
examples/run_app.rs8 symbols
src/tests/common/box.rs7 symbols

For agents

$ claude mcp add oxui \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact