Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nextgen: Reborn Ultralight #1178

Draft
wants to merge 48 commits into
base: nextgen
Choose a base branch
from
Draft

Nextgen: Reborn Ultralight #1178

wants to merge 48 commits into from

Conversation

1zun4
Copy link
Member

@1zun4 1zun4 commented Jul 29, 2023

@1zun4 1zun4 marked this pull request as draft July 29, 2023 20:41
@1zun4
Copy link
Member Author

1zun4 commented Jul 30, 2023

grafik

@gabrielvicenteYT
Copy link
Contributor

grafik

LiquidLife, the Minecraft client-and-browser!

1zun4 added 8 commits August 23, 2023 23:05
# Conflicts:
#	build.gradle
#	src/main/java/net/ccbluex/liquidbounce/injection/mixins/minecraft/gui/MixinSplashOverlay.java
#	src/main/kotlin/net/ccbluex/liquidbounce/LiquidBounce.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/UltralightResources.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/impl/BrowserFileSystem.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/impl/glfw/GlfwClipboardAdapter.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/impl/listener/ViewListener.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/impl/listener/ViewLoadListener.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/js/bindings/UltralightJsClient.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/js/bindings/UltralightJsEvents.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/js/bindings/UltralightJsPages.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/features/command/commands/client/CommandClient.kt
@1zun4
Copy link
Member Author

1zun4 commented Sep 22, 2023

next step figuring out how JS interop works now in Reborn

1zun4 and others added 11 commits October 19, 2023 02:33
# Conflicts:
#	build.gradle
#	src/main/java/net/ccbluex/liquidbounce/injection/mixins/minecraft/render/MixinGameRenderer.java
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/ViewOverlay.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/js/bindings/UltralightJsClient.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/features/command/commands/client/CommandClient.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/features/misc/AccountManager.kt
# Conflicts:
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/js/UltralightJsContext.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/js/bindings/UltralightJsKotlin.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/render/ModuleClickGui.kt
1zun4 added 3 commits October 22, 2023 01:45
# Conflicts:
#	src-theme/build.py
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/js/bindings/UltralightJsPages.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/base/ultralight/theme/Theme.kt
@1zun4 1zun4 added 🔥 enhancement New feature or request 🌑 nextgen labels Oct 22, 2023
@1zun4 1zun4 changed the title Update to Reborn Ultralight Nextgen: Reborn Ultralight Nov 14, 2023
@1zun4
Copy link
Member Author

1zun4 commented Nov 14, 2023

This is marked as discontinued for now as we look at other options such as JCEF.

If anyone wants to use Reborn Ultralight themselves, they can already use this code to find out how, as it is already fully implemented and works as intended :)
The only thing that stopped me from continuing is the lack of JS bindings in the Ultralight Reborn library, this may change in the future, but as I said I think Ultralight needs more activity in development and someone to maintain the bindings.

The author of Ultralight sometimes disappears and suddenly reappears, development seems to be going well at the moment, but we cannot wait so long for features to be implemented in 1.4 that were supposed to be implemented in 1.3.

Overall, we like using Ultralight, and as we have managed to fix a number of bugs, I am very pleased with the result on the old bindings. Even better would be the much improved CPU renderer in Reborn, which unfortunately lacks the necessary features in the bindings and I cannot work on it myself as I have enough to do already.

For repository maintainers: DO NOT DELETE THE BRANCH

@1zun4 1zun4 closed this Dec 18, 2023
@1zun4 1zun4 reopened this Dec 27, 2023
@1zun4
Copy link
Member Author

1zun4 commented Dec 27, 2023

Since our MCEF implementation is complete, I wanted to give Ultralight Reborn a try with our new system. I successfully implemented it with our multi-browser backend system, as well as our new WS/REST based interoperability layer.

This will NOT be merged into the main branch and is only a POC!

In the end, it works as expected:
image
image
image
(if you ignore the image artefacts when moving or animating)

1zun4 added 2 commits March 29, 2024 05:49
# Conflicts:
#	build.gradle
#	src/main/java/net/ccbluex/liquidbounce/injection/mixins/minecraft/render/MixinGameRenderer.java
#	src/main/kotlin/net/ccbluex/liquidbounce/web/browser/BrowserManager.kt
#	src/main/kotlin/net/ccbluex/liquidbounce/web/theme/component/types/HtmlComponent.kt
@1zun4
Copy link
Member Author

1zun4 commented Mar 29, 2024

Funny. The new theme does not work with Ultralight v1.3.

1zun4 added 3 commits July 16, 2024 04:08
# Conflicts:
#	src/main/java/net/ccbluex/liquidbounce/injection/mixins/minecraft/render/MixinGameRenderer.java
#	src/main/kotlin/net/ccbluex/liquidbounce/web/browser/BrowserDrawer.kt
#	src/main/resources/fabric.mod.json
@1zun4
Copy link
Member Author

1zun4 commented Jul 16, 2024

Updated to Minecraft 1.21 - works with https://google.com/ but likes to crash randomly. Does not support client theme.

@sqlerrorthing
Copy link
Contributor

maybe close this pr?

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

Successfully merging this pull request may close these issues.

4 participants