K. Adam Christensen
93e28a2454
Fix overcounting letter spacing in calculating final layout
...
When calculating the width of a line, the width excludes the trailing letter
spacing value:
```c
measuredWidth = CLAY__MAX(lineWidth, measuredWidth) - config->letterSpacing;
```
But when the final layout is being calculated, the letter spacing is added to
the line width of the text. So when it's time to render, the line is actually
longer than the intial max line, so it gets broken up, even though it should
fit.
https://github.com/pope/clay-letterspacing-poc is a little bit of code to test
a before and after.
2026-07-12 16:50:54 -07:00
github-actions[bot]
e6cc36941a
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-05-20 02:17:58 +00:00
Nic Barker
139802baaa
[Core] Fix a bug where moved children of exiting elements could be incorrectly deleted
2026-05-20 12:17:05 +10:00
github-actions[bot]
ae405686b6
[bindings/odin] Update Odin bindings
2026-05-20 01:35:01 +00:00
Nic Barker
e009ef9129
[Core] Fix bug in nested exiting transitions
2026-05-20 11:34:17 +10:00
github-actions[bot]
448e800bb7
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-05-17 02:32:46 +00:00
Nic Barker
34af8b1bcd
[Core] Fix an issue where exit transition could trigger duplicate ID errors
2026-05-17 12:32:09 +10:00
github-actions[bot]
54b38498b1
[bindings/odin] Update Odin bindings
2026-05-17 02:18:56 +00:00
Nic Barker
0ea37d2871
[Core] Fix a bug where borders of children of exiting elements were incorrect
2026-05-17 12:18:09 +10:00
Serg Gini
583573f869
[Bindings] Add links for external D bindings ( #607 )
...
Odin Bindings Update / check_changes (push) Has been cancelled
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
Added links for D bindings
2026-05-06 11:00:42 +10:00
github-actions[bot]
624272341d
[bindings/odin] Update Odin bindings
2026-05-06 00:56:42 +00:00
Bach Le
e4aa952816
[Core] Fix Clay_GetScrollOffset not finding the same element accross frames ( #606 )
2026-05-06 10:55:57 +10:00
github-actions[bot]
30d051373c
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Waiting to run
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Waiting to run
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Waiting to run
Odin Bindings Update / check_changes (push) Waiting to run
Odin Bindings Update / build (macos-latest) (push) Blocked by required conditions
Odin Bindings Update / build (ubuntu-latest) (push) Blocked by required conditions
Odin Bindings Update / commit (push) Blocked by required conditions
2026-05-05 05:49:14 +00:00
Nic Barker
1dc7473d47
[Core] Fix self referencing node bug in hashmap pruning
2026-05-05 15:48:09 +10:00
Jordan West
8c6ab72890
[bindings/odin] Fix TransitionProperty values ( #616 )
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-05-04 08:26:00 +10:00
github-actions[bot]
0d0252a4c9
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-04-30 09:44:31 +00:00
Nic Barker
364e44f13d
[Core] Fix a small same-frame transition bug, fix mismatched open/close error not triggering correctly
2026-04-30 19:43:39 +10:00
github-actions[bot]
0ced4c621f
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-04-26 06:13:47 +00:00
Bach Le
a7b86ab7fb
[Core] Fix floating element exit transitions ( #608 )
2026-04-26 16:13:00 +10:00
github-actions[bot]
08963800a4
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-04-20 03:17:01 +00:00
Nic Barker
c3d7a83139
[Core] Fix pruning for layout element hashmap ( #611 )
2026-04-20 13:16:11 +10:00
github-actions[bot]
27f9a3a2bc
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-04-17 04:32:32 +00:00
Nic Barker
33353e4c57
[Core] Prevent incorrect position transitions while parent is scrolling
2026-04-17 14:23:21 +10:00
Hayden Gray
938967ac9a
[bindings/odin] add transitions api ( #592 )
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-04-15 10:28:49 +10:00
github-actions[bot]
7404f8f48b
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-04-13 09:47:37 +00:00
Bach Le
b978c0350b
[Debugger] Hide irrelevant data from the inspector for text elements ( #602 )
2026-04-13 19:46:55 +10:00
github-actions[bot]
6219783a70
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Waiting to run
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Waiting to run
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Waiting to run
Odin Bindings Update / check_changes (push) Waiting to run
Odin Bindings Update / build (macos-latest) (push) Blocked by required conditions
Odin Bindings Update / build (ubuntu-latest) (push) Blocked by required conditions
Odin Bindings Update / commit (push) Blocked by required conditions
2026-04-13 02:45:48 +00:00
Bach Le
caa9e1637d
[Core] Fix missing text element guards / incorrect union access ( #601 )
...
Co-authored-by: Nic Barker <contact+github@nicbarker.com>
2026-04-13 12:45:02 +10:00
github-actions[bot]
fe19483b00
[bindings/odin] Update Odin bindings
2026-04-13 01:27:30 +00:00
Nic Barker
fdfc9150dd
[Core] Fix a crash when removing a transition handler mid transition
2026-04-13 11:26:43 +10:00
Nicholas Sidwell
4c2c778861
[Renderers/SDL3] Update pointer state every frame in SDL3 simple demo ( #585 )
...
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
Co-authored-by: Nicholas Sidwell <nicholas@sidwell.dev>
2026-04-10 09:10:54 +10:00
github-actions[bot]
f70b8c7ff3
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-04-07 01:46:48 +00:00
Nic Barker
2d4862dc6f
[Core] Fix a small issue where subtrees of exiting element were deleted too early
2026-04-02 13:22:45 +11:00
github-actions[bot]
cfee7e8376
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2026-04-02 02:14:07 +00:00
Nic Barker
b28b540826
[Core] Fix transitions triggering on parent scroll, fix single frame glitch for exiting transitions
2026-04-02 13:13:21 +11:00
Nic Barker
66bbb81215
[Documentation] Update floating .attachPoints graphic in README
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Waiting to run
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Waiting to run
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Waiting to run
Odin Bindings Update / check_changes (push) Waiting to run
Odin Bindings Update / build (macos-latest) (push) Blocked by required conditions
Odin Bindings Update / build (ubuntu-latest) (push) Blocked by required conditions
Odin Bindings Update / commit (push) Blocked by required conditions
2026-04-02 09:06:55 +11:00
github-actions[bot]
5845951a5f
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Waiting to run
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Waiting to run
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Waiting to run
Odin Bindings Update / check_changes (push) Waiting to run
Odin Bindings Update / build (macos-latest) (push) Blocked by required conditions
Odin Bindings Update / build (ubuntu-latest) (push) Blocked by required conditions
Odin Bindings Update / commit (push) Blocked by required conditions
2026-03-31 23:21:13 +00:00
Nic Barker
99502d1bc5
[Core] Fix C++ cast issue
2026-04-01 10:20:27 +11:00
github-actions[bot]
f27ddf3eed
[bindings/odin] Update Odin bindings
2026-03-31 20:15:48 +00:00
Nic Barker
65111f03a3
[Core] Reattach exit transitions with deleted parents
2026-04-01 07:15:08 +11:00
github-actions[bot]
13c6ce71a7
[bindings/odin] Update Odin bindings
2026-03-31 20:01:32 +00:00
Nic Barker
3b180667bf
[C++] Fix c++ typecast in Clay_EaseOut
2026-04-01 07:00:29 +11:00
github-actions[bot]
3b3902d9df
[bindings/odin] Update Odin bindings
2026-03-31 11:27:05 +00:00
Nic Barker
94223e3265
Add Clay_EaseOut to clay.h
2026-03-31 22:26:14 +11:00
github-actions[bot]
d8e589f506
[bindings/odin] Update Odin bindings
2026-03-31 09:41:48 +00:00
Nic Barker
ee192f48c5
[Core] Transition API ( #579 )
2026-03-31 20:41:02 +11:00
github-actions[bot]
40350e593a
[bindings/odin] Update Odin bindings
2026-03-30 00:52:10 +00:00
Bach Le
3be87f190b
Fix Clay__GetParentElementId for new id scheme ( #521 )
2026-03-30 11:51:26 +11:00
Luke 10X
76ec3632d8
[Renderers/GLES3] 📦 GLES3 renderer and demo examples using it ( #565 )
...
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
- **Initialize Window**:
- Successfully created a GLFW window with dimensions 1280x720.
- Set up window hints for OpenGL version and core profile, enabling multisampling, and enabling depth testing.
- **Setup Renderer**:
- Initialized the Clay rendering context with a memory arena and dimensions.
- Set up the measure text and render text functions using stb_image.h and stb_truetype.h.
- Initialized the GLES3 renderer with 4096 texture units.
- Loaded a Roboto-Regular font atlas and set it as the default font for rendering.
- **Main Loop**:
- Called `Clay_UpdateScrollContainers` to handle scroll events.
- Set the layout dimensions and cleared the color buffer and depth buffer.
- Render the Clay video demo layout.
- Swapped the window buffers to display the rendered video.
- **Cleanup**:
- Cleaned up the GLFW window and renderer resources when the application is closed.
This setup provides a basic framework for rendering videos in GLES3 with GLFW, leveraging stb_image.h for asset loading and Clay for the rendering engine.
- Configure GLFW and SDL2 in the main files
- Fix the video bugs in the main file
🪝 Stb dependency to be managed with cmake in examples
💀 Allow clients to configure headers, also expose Gles3_Renderer through
header-only mode
🧹 Quality of life: automatically set screen dimensions to renderer
Before users had to set them manually
📚 **🎨 Renderers/GLES3:** Improve round-rectangle clipping with uniform border thickness
Implemented improvements to the renderer for GLES3, ensuring better handling of rounded rectangles with borders, making the layout more visually appealing.
- Added two new functions `RenderHeaderButton1`, `RenderHeaderButton2`, and `RenderHeaderButton3` for creating header buttons with different styles.
- Updated the `CreateLayout` function to include these new buttons in the right panel.
- Added a TODO note for handling the outer radius calculation, as it seems to be incorrect in the current implementation.
- Replace `bl_i + B` and `br_i + B` with `bl` and `br` respectively to simplify the code.
- Simplify the logic for checking pixel inside the inner rounded rect by directly using `innerLocal`.
📥 Change borders to be inset
- Fixed incorrect border calculation in the shader.
- Added support for inset borders by adjusting the boundary calculations based on `CLAY_BORDERS_ARE_INSET`.
This change also gives the renderer more choice in handling different border styles.
🏗️ CMake builds for GLES3 renderer examples
2025-12-30 18:52:27 +11:00
github-actions[bot]
7d099ad870
[bindings/odin] Update Odin bindings
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / check_changes (push) Has been cancelled
Odin Bindings Update / build (macos-latest) (push) Has been cancelled
Odin Bindings Update / build (ubuntu-latest) (push) Has been cancelled
Odin Bindings Update / commit (push) Has been cancelled
2025-12-23 06:29:55 +00:00