Skip to content

Frontend rework#298

Open
aurarius1 wants to merge 11 commits intoBerny23:masterfrom
aurarius1:frontend
Open

Frontend rework#298
aurarius1 wants to merge 11 commits intoBerny23:masterfrom
aurarius1:frontend

Conversation

@aurarius1
Copy link
Contributor

As said in #295 here the draft request for the frontend updates.

I did include a revised version of the Dockerfile and tested building an image with it for the Pi Zero (then copied it on the Pi Zero, since building on it directly will not work anymore due to the issues with the updated frontend I already outlined in the discussions). The resulting image is less than half in size. Nevertheless since raspberrypi.com suggests using a 16GB SD Card for Raspberry Pi OS Lite I updated the requirements a little bit, to ensure it works smoothly for everybody (since technically we cannot do much if the remaining storage is too low for the image to run).

I also included the PSA that docker dropped support for the Pi Zero.

This is opened as a draft, because it might still need some work and I think it is easier to checkout a pull request than fork a different repo.

@DarthArnettJr
Copy link

Okay, now. Let’s hope that this method won’t be heck to set up now, eh?

@aurarius1
Copy link
Contributor Author

Okay, now. Let’s hope that this method won’t be heck to set up now, eh?

I don’t think that’s a fair assessment. Most of the issues you’ve run into stem from the very constrained storage environment. I’ve set this up on several Raspberry Pi models during testing, and it worked fine in each case.

@DarthArnettJr
Copy link

Well I hope I can get my hands on a 32 GB micro SD card from Target, their same day pickup is a GODSEND.

@aurarius1
Copy link
Contributor Author

Well I hope I can get my hands on a 32 GB micro SD card from Target, their same day pickup is a GODSEND.

Don't rush it for now though, this is not yet finished! 😊

@aurarius1
Copy link
Contributor Author

aurarius1 commented Jan 9, 2026

I did test with Ubuntu 22.04 on how to create the USB gadget in a VM and if the container would run. I could not check though if a connection to the game is possible. Therefore I did not provide any instructions for VM setup in the docs right now.

I did not have any problems with the new frontend, but I still will leave this as draft for a few days, to allow others to test!

@DarthArnettJr

This comment has been minimized.

@DarthArnettJr
Copy link

BTW, the bash part of the commands should be removed. The Pi tries to run the command as a binary file and fails.

@aurarius1 aurarius1 changed the base branch from master to dev January 31, 2026 09:54
@aurarius1 aurarius1 changed the base branch from dev to master January 31, 2026 09:54
@aurarius1 aurarius1 marked this pull request as ready for review January 31, 2026 09:55
@aurarius1
Copy link
Contributor Author

Don't know if anybody else had time to test the branch as well. Should i change base of the pull request such that it will be merged into dev first?

@Berny23
Copy link
Owner

Berny23 commented Jan 31, 2026

Did you test the rework with color puzzles in-game?

@aurarius1
Copy link
Contributor Author

No, I haven't encountered a color puzzle yet, I am still on my playthrough, but sadly time is limited as well. You can leave the pull request open though until I get to one (or if you prefer me to convert it back to a draft that's fine as well).

Copy link
Owner

@Berny23 Berny23 left a comment

Choose a reason for hiding this comment

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

Great work! Some small things I noticed.

@Berny23
Copy link
Owner

Berny23 commented Jan 31, 2026

No, I haven't encountered a color puzzle yet, I am still on my playthrough, but sadly time is limited as well. You can leave the pull request open though until I get to one (or if you prefer me to convert it back to a draft that's fine as well).

I don't have the game installed right now, but these puzzles are pretty frequent. It is important that colors are clearly visible and pulsing still works with the new design.

I'll just wait, no problem.

@aurarius1
Copy link
Contributor Author

Ah can the part where you need to place Wyldstyle on each pad (in Vorton) be considered a color puzzle then? Since, if I am not mistaken, this also uses pulsing.

I'll play a bit more and report back here as soon as I get to it. A lot to do with university and work. :)

@aurarius1 aurarius1 requested a review from Berny23 February 1, 2026 23:28
@Berny23
Copy link
Owner

Berny23 commented Feb 1, 2026

Blinking is good. A real color puzzle is where placing a character on a colored toypad space changes things in-game with the same color. The keystone is called Chroma: https://lego-dimensions.fandom.com/wiki/Chroma

This should appear in the main story and is a pretty frequent puzzle in about every story pack.

@aurarius1
Copy link
Contributor Author

Perfect thanks for the info, I'll try and play next weekend until I hit one of those puzzles. Will post some screenshots then.

@aurarius1
Copy link
Contributor Author

aurarius1 commented Feb 2, 2026

Oh and another thing I wanted to ask: I am currently also trying to learn some microcontroller programming and try to also impmemented a version of the toypad for the ESP32 (probably also with rfid and real led support). Since I can match the API of this emulator is it okay if I use this frontend for the microcontroller version? I'll of course not stop working on the frontend in this project and also link to this project as well in the esp32 frontend/documentation/project.

Though this will probably not be in a state where it can be published for a long time, so this is just a tentative ask.

@Berny23
Copy link
Owner

Berny23 commented Feb 2, 2026

Yeah, go ahead. Just keep in mind the MIT license of this repo (credit/link).

@DarthArnettJr
Copy link

A thing I'd like to say is that the ToyPad disconnects because it's USB pulse is off-set on a Zero W, The fix for me was to set it to tmpfs.

@aurarius1
Copy link
Contributor Author

aurarius1 commented Feb 2, 2026

Blinking is good. A real color puzzle is where placing a character on a colored toypad space changes things in-game with the same color. The keystone is called Chroma: https://lego-dimensions.fandom.com/wiki/Chroma

This should appear in the main story and is a pretty frequent puzzle in about every story pack.

Okay I noticed that I just had to start the next level to get to one of those puzzles, right?. I noticed a small issue with coloring (had a for...in instead of for...of)
Game Capture
Web Interface

@aurarius1
Copy link
Contributor Author

aurarius1 commented Feb 2, 2026

Sorry no, that's the shift keystone my mistake, I was a bit confused because I didn't see the arrows on the keystone first.

@DarthArnettJr

This comment has been minimized.

@Berny23
Copy link
Owner

Berny23 commented Feb 2, 2026

As long as colors work, it is good. Should be about the same as the other keystone.

@aurarius1
Copy link
Contributor Author

Okay now managed to play until I really got the chroma keystone.
Game
Web

Played with an RPi Zero! 👍

One thing I noticed: when I had to move Wyldstyle across all pads in the Springfield level, I had to shift her twice onto a group for the game to recognize the placement for that group, but the frontend sent placement requests for every movement.

@Berny23
Copy link
Owner

Berny23 commented Feb 2, 2026

Yeah, I think the game is generally pretty bugged, even with original hardware. It also crashed frequently in RPCS3 back when I completed it 100 % with the VM method.

Older Lego games have a tendency to crash and glitch, it happened to me with Lego Marvel Super Heroes on my real Wii U. It wouldn't surprise me, if Dimensions had some kind of sync issue or race condition with portal communication.

@aurarius1
Copy link
Contributor Author

I think I might have a suspicion why it behaves the way it does. Since it needs to be repeatedly moved if the tag is already on the virtual pad, I think this could be due to the server sending the removal command of the tag for the initial position and then immediately sending the new placement command. Since in my frontend rework I omitted the timeout this could just be too fast for the game to realize update. I'll try to include this timeout in the coming days

@Euniemeansme
Copy link
Contributor

I've been following this off and on for a while and it definitely looks promising. As soon as it gets pushed to master, I'll be imaging a new SD card and trying to install this to give it a whirl (I'd like to have the old SD card as a fallback in case I need it)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants