Skip to content

Conversation

@marc2332
Copy link
Owner

@marc2332 marc2332 commented Oct 30, 2025

⚠️ Warning: This is still work in progress, there might be missing features or bugs.

I will continue to update this PR (and this PR description) until I consider it stable and ready

TLDR: Freya (v0.4) now has its own reactive and component model, and it no longer relies on Dioxus for it, although the new system is heavily inspired by it, but with some key differences:

  • There is no rsx!() macro
  • Elements are user-land
  • Attributes are fully typed
  • Components are now any data type that implements the Render trait, so the "props" are now the data type itself.

But it still has:

  • Hooks (but e.g use_signal is now use_state)
  • Callback event handlers
  • And generally just a very similar state/async tasks management

Project changes:

The goal is to reach 100% feature (with some deprecations), docs examples and tests parity with main.

Code might be a bit ugly in some parts! I will improve it.

WIP.

Notes for me:

@marc2332
Copy link
Owner Author

marc2332 commented Oct 30, 2025

Seems like the Rust CI is failing because taplo needs WSL on Windows? Makes no sense! I need to investigate this

Repository owner deleted a comment from github-actions bot Oct 30, 2025
Repository owner deleted a comment from github-actions bot Oct 30, 2025
@Saul-BT
Copy link

Saul-BT commented Oct 30, 2025

LGTM! 🔥

Copy link

@AlexMayol AlexMayol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deploy first, test later :shipit:

@github-actions
Copy link

Benchmark for 36f4e54

Click to view benchmark
Test Base PR %
benchmarks/alignments=true size=21845 depth=8 wide=4 mode=not cached 1232.2±85.25µs 1228.3±161.16µs -0.32%
benchmarks/size=100001 depth=2 wide=100000 mode=not cached 6.5±0.49ms 6.9±0.48ms +6.15%
benchmarks/size=10001 depth=2 wide=10000 mode=not cached 329.8±149.78µs 332.2±147.21µs +0.73%
benchmarks/size=1001 depth=2 wide=1000 mode=not cached 28.5±25.62µs 28.5±25.78µs 0.00%
benchmarks/size=131071 depth=17 wide=2 mode=not cached 11.4±0.21ms 12.3±0.54ms +7.89%
benchmarks/size=16383 depth=14 wide=2 mode=not cached 1014.9±96.62µs 1189.6±151.50µs +17.21%
benchmarks/size=19531 depth=7 wide=5 mode=cached 1034.0±79.22µs 1429.5±113.30µs +38.25%
benchmarks/size=19531 depth=7 wide=5 mode=not cached 997.6±81.97µs 1020.5±130.41µs +2.30%
benchmarks/size=4095 depth=12 wide=2 mode=not cached 199.5±110.06µs 202.1±138.26µs +1.30%
benchmarks/size=54241 depth=5 wide=15 mode=cached 749.8±43.97µs 832.6±115.68µs +11.04%
benchmarks/size=54241 depth=5 wide=15 mode=not cached 790.5±129.14µs 825.9±179.38µs +4.48%

@github-actions
Copy link

Benchmark for 30cff83

Click to view benchmark
Test Base PR %
benchmarks/alignments=true size=21845 depth=8 wide=4 mode=not cached 1360.9±167.16µs 1104.9±103.18µs -18.81%
benchmarks/size=100001 depth=2 wide=100000 mode=not cached 6.9±0.58ms 6.9±0.73ms 0.00%
benchmarks/size=10001 depth=2 wide=10000 mode=not cached 336.4±142.54µs 333.1±142.19µs -0.98%
benchmarks/size=1001 depth=2 wide=1000 mode=not cached 28.6±26.38µs 28.7±26.44µs +0.35%
benchmarks/size=131071 depth=17 wide=2 mode=not cached 16.0±0.79ms 15.6±0.55ms -2.50%
benchmarks/size=16383 depth=14 wide=2 mode=not cached 1066.7±128.25µs 1161.1±159.73µs +8.85%
benchmarks/size=19531 depth=7 wide=5 mode=cached 950.8±121.70µs 961.7±89.21µs +1.15%
benchmarks/size=19531 depth=7 wide=5 mode=not cached 911.9±78.88µs 964.3±96.18µs +5.75%
benchmarks/size=4095 depth=12 wide=2 mode=not cached 201.7±143.21µs 201.1±111.25µs -0.30%
benchmarks/size=54241 depth=5 wide=15 mode=cached 706.7±69.91µs 734.6±89.27µs +3.95%
benchmarks/size=54241 depth=5 wide=15 mode=not cached 709.5±57.63µs 713.0±69.33µs +0.49%

@marc2332
Copy link
Owner Author

marc2332 commented Oct 30, 2025

Gotta use a shared font for text editing tests, otherwise each OS will do things differently

@github-actions
Copy link

Benchmark for a35873d

Click to view benchmark
Test Base PR %
benchmarks/alignments=true size=21845 depth=8 wide=4 mode=not cached 1294.0±73.03µs 1292.2±73.61µs -0.14%
benchmarks/size=100001 depth=2 wide=100000 mode=not cached 7.1±0.54ms 6.9±0.44ms -2.82%
benchmarks/size=10001 depth=2 wide=10000 mode=not cached 334.4±154.29µs 331.0±160.81µs -1.02%
benchmarks/size=1001 depth=2 wide=1000 mode=not cached 28.5±25.93µs 28.9±27.60µs +1.40%
benchmarks/size=131071 depth=17 wide=2 mode=not cached 12.5±1.38ms 12.0±0.63ms -4.00%
benchmarks/size=16383 depth=14 wide=2 mode=not cached 1252.1±94.97µs 1224.1±74.15µs -2.24%
benchmarks/size=19531 depth=7 wide=5 mode=cached 1126.5±39.17µs 1072.0±34.95µs -4.84%
benchmarks/size=19531 depth=7 wide=5 mode=not cached 1188.5±66.55µs 1113.8±73.24µs -6.29%
benchmarks/size=4095 depth=12 wide=2 mode=not cached 199.0±142.25µs 202.0±147.66µs +1.51%
benchmarks/size=54241 depth=5 wide=15 mode=cached 733.0±39.87µs 803.6±44.34µs +9.63%
benchmarks/size=54241 depth=5 wide=15 mode=not cached 695.7±71.50µs 788.7±82.25µs +13.37%

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

Benchmark for d859a78

Click to view benchmark
Test Base PR %
benchmarks/alignments=true size=21845 depth=8 wide=4 mode=not cached 1092.8±85.56µs 1057.9±103.23µs -3.19%
benchmarks/size=100001 depth=2 wide=100000 mode=not cached 7.0±0.66ms 6.9±0.65ms -1.43%
benchmarks/size=10001 depth=2 wide=10000 mode=not cached 335.3±142.88µs 339.7±157.39µs +1.31%
benchmarks/size=1001 depth=2 wide=1000 mode=not cached 28.5±26.15µs 28.7±25.79µs +0.70%
benchmarks/size=131071 depth=17 wide=2 mode=not cached 12.0±0.46ms 12.0±0.58ms 0.00%
benchmarks/size=16383 depth=14 wide=2 mode=not cached 983.2±98.82µs 966.6±132.61µs -1.69%
benchmarks/size=19531 depth=7 wide=5 mode=cached 930.9±74.59µs 943.4±70.81µs +1.34%
benchmarks/size=19531 depth=7 wide=5 mode=not cached 946.4±112.02µs 943.6±108.03µs -0.30%
benchmarks/size=4095 depth=12 wide=2 mode=not cached 200.8±131.53µs 202.9±139.42µs +1.05%
benchmarks/size=54241 depth=5 wide=15 mode=cached 707.8±21.60µs 724.8±42.97µs +2.40%
benchmarks/size=54241 depth=5 wide=15 mode=not cached 713.5±72.91µs 724.3±67.19µs +1.51%

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Benchmark for c216353

Click to view benchmark
Test Base PR %
benchmarks/alignments=true size=21845 depth=8 wide=4 mode=not cached 1822.7±231.58µs 1514.0±234.64µs -16.94%
benchmarks/size=100001 depth=2 wide=100000 mode=not cached 7.8±0.79ms 7.9±0.93ms +1.28%
benchmarks/size=10001 depth=2 wide=10000 mode=not cached 338.7±152.93µs 336.5±137.88µs -0.65%
benchmarks/size=1001 depth=2 wide=1000 mode=not cached 28.9±27.62µs 29.2±27.72µs +1.04%
benchmarks/size=131071 depth=17 wide=2 mode=not cached 18.7±1.78ms 13.7±0.96ms -26.74%
benchmarks/size=16383 depth=14 wide=2 mode=not cached 1397.5±133.76µs 1022.1±115.61µs -26.86%
benchmarks/size=19531 depth=7 wide=5 mode=cached 1383.8±226.83µs 915.8±64.56µs -33.82%
benchmarks/size=19531 depth=7 wide=5 mode=not cached 942.4±88.10µs 904.1±39.48µs -4.06%
benchmarks/size=4095 depth=12 wide=2 mode=not cached 203.3±130.34µs 204.7±149.03µs +0.69%
benchmarks/size=54241 depth=5 wide=15 mode=cached 850.4±155.34µs 851.8±141.28µs +0.16%
benchmarks/size=54241 depth=5 wide=15 mode=not cached 881.8±164.67µs 854.3±179.10µs -3.12%

@github-actions
Copy link

Benchmark for 480bc5f

Click to view benchmark
Test Base PR %
benchmarks/alignments=true size=21845 depth=8 wide=4 mode=not cached 1071.3±10.11µs 980.9±14.85µs -8.44%
benchmarks/size=100001 depth=2 wide=100000 mode=not cached 7.1±0.77ms 6.7±0.53ms -5.63%
benchmarks/size=10001 depth=2 wide=10000 mode=not cached 330.7±166.74µs 332.9±138.61µs +0.67%
benchmarks/size=1001 depth=2 wide=1000 mode=not cached 28.2±27.52µs 28.9±26.25µs +2.48%
benchmarks/size=131071 depth=17 wide=2 mode=not cached 11.6±0.13ms 11.3±0.25ms -2.59%
benchmarks/size=16383 depth=14 wide=2 mode=not cached 981.7±94.23µs 1004.1±113.52µs +2.28%
benchmarks/size=19531 depth=7 wide=5 mode=cached 910.5±14.33µs 873.5±45.48µs -4.06%
benchmarks/size=19531 depth=7 wide=5 mode=not cached 897.7±55.49µs 859.0±19.70µs -4.31%
benchmarks/size=4095 depth=12 wide=2 mode=not cached 201.1±140.10µs 200.9±144.76µs -0.10%
benchmarks/size=54241 depth=5 wide=15 mode=cached 707.7±8.52µs 697.3±20.23µs -1.47%
benchmarks/size=54241 depth=5 wide=15 mode=not cached 714.7±103.56µs 708.1±112.79µs -0.92%

@github-actions
Copy link

Benchmark for 2934bd5

Click to view benchmark
Test Base PR %
benchmarks/alignments=true size=21845 depth=8 wide=4 mode=not cached 1044.1±22.73µs 1089.8±41.95µs +4.38%
benchmarks/size=100001 depth=2 wide=100000 mode=not cached 6.6±0.49ms 6.6±0.58ms 0.00%
benchmarks/size=10001 depth=2 wide=10000 mode=not cached 333.3±154.33µs 333.2±150.04µs -0.03%
benchmarks/size=1001 depth=2 wide=1000 mode=not cached 28.3±24.17µs 28.4±24.28µs +0.35%
benchmarks/size=131071 depth=17 wide=2 mode=not cached 15.2±0.36ms 11.3±0.36ms -25.66%
benchmarks/size=16383 depth=14 wide=2 mode=not cached 971.2±22.27µs 988.7±84.38µs +1.80%
benchmarks/size=19531 depth=7 wide=5 mode=cached 896.4±21.15µs 888.8±27.84µs -0.85%
benchmarks/size=19531 depth=7 wide=5 mode=not cached 899.7±18.72µs 911.1±92.64µs +1.27%
benchmarks/size=4095 depth=12 wide=2 mode=not cached 201.4±139.38µs 201.1±141.44µs -0.15%
benchmarks/size=54241 depth=5 wide=15 mode=cached 717.2±11.05µs 716.0±12.64µs -0.17%
benchmarks/size=54241 depth=5 wide=15 mode=not cached 718.5±16.23µs 722.8±133.86µs +0.60%

@github-actions
Copy link

Benchmark for 2012207

Click to view benchmark
Test Base PR %
benchmarks/alignments=true size=21845 depth=8 wide=4 mode=not cached 1029.9±70.36µs 1020.9±38.43µs -0.87%
benchmarks/size=100001 depth=2 wide=100000 mode=not cached 6.7±0.63ms 6.8±0.71ms +1.49%
benchmarks/size=10001 depth=2 wide=10000 mode=not cached 333.5±162.54µs 335.9±154.21µs +0.72%
benchmarks/size=1001 depth=2 wide=1000 mode=not cached 28.3±26.17µs 28.7±25.35µs +1.41%
benchmarks/size=131071 depth=17 wide=2 mode=not cached 11.7±0.33ms 11.2±0.27ms -4.27%
benchmarks/size=16383 depth=14 wide=2 mode=not cached 994.9±72.67µs 961.1±107.92µs -3.40%
benchmarks/size=19531 depth=7 wide=5 mode=cached 908.2±72.77µs 855.2±17.85µs -5.84%
benchmarks/size=19531 depth=7 wide=5 mode=not cached 942.2±99.55µs 853.0±48.54µs -9.47%
benchmarks/size=4095 depth=12 wide=2 mode=not cached 203.1±147.07µs 201.1±116.16µs -0.98%
benchmarks/size=54241 depth=5 wide=15 mode=cached 700.5±32.01µs 701.6±15.99µs +0.16%
benchmarks/size=54241 depth=5 wide=15 mode=not cached 719.2±107.28µs 698.5±115.21µs -2.88%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment