DocsReference
Known differences
Both runtimes read the same document and share their layout, component, animation and geometry rules. A few things are drawn by each engine’s own tools, and differ slightly.
| Area | Web | Godot |
|---|---|---|
| Fonts not embedded | Google Fonts by family name | EnvyUI.fonts mapping, else a SystemFont with that name |
| Rounded clipping | Always clips to the rounded corners | clip_children when the frame has a visible fill, otherwise a rectangle |
| Drop shadows | CSS blur | StyleBoxFlat shadow_size, about blur × 0.6; shapes have no shadow yet |
| Inner shadow | box-shadow: inset, border on top |
A shader, border underneath |
| Extra fills and strokes | A layer stack inside the node | Two canvas items under the children; a button’s hover border color doesn’t apply while it has extra fills or strokes |
| Layer blur | filter: blur() on the layer |
Blurs a screen copy of the layer’s area, so content behind a translucent layer is blurred too |
| Background blur | backdrop-filter |
A screen-texture shader, a little softer at large radii; only blurs what was drawn earlier on the same canvas layer |
| Group opacity | The group is flattened | modulate multiplies each child, visible where children overlap |
| Large corner radii | Smooth | Slightly faceted (StyleBoxFlat corner detail tops out at 20) |
| Focus search | Nearest button by position | Godot’s own search; unusual layouts can pick a different neighbour |
| Escape and overlays | Escape doesn’t close overlays (gamepad B does) | ui_cancel (Escape, B) closes the top overlay |
| Lists | Re-expanded on every data change, elements reused by id | Rebuilt only when item keys or order change; other changes update in place |
Embedded fonts, layout, anchors, auto layout, components, properties, bindings, events, transitions, overlays, translations and easing behave the same in both.
Updated View as Markdown