(NOTE: previously a beta release v3.60, this post has been updated for v3.66
)
To make it easier to discover, share, and use patterns, the pattern sharing library has had a complete overhaul. You can find it here: https://patterns.electromage.com/
For now this lives by itself, but will ultimately replace the interface at https://electromage.com/patterns
Features:
- Full pattern search: name, description, functions, variables, and any text in the source.
- Each pattern gets a URL, so you can share links to patterns, bookmark, etc.
- Fast infinite scrolling, no more paging!
- Log in using forum accounts. Logging in lets you:
- Keep a list of favorites (star). With some new features below, this makes it much easier to load up a new Pixelblaze.
- Sharing patterns gives you credit! In the future this will let you edit patterns attributed to you.
Pixelblaze Features
- Integration with the new pattern site.
- From the pattern list, you can load the site in a modal, browse around, then directly try, install, or load to the editor, all without having to download and open ‘.epe’ files.
- Share patterns directly without downloading .epe files first.
- Logging in works here too, giving you access to favorites and share attribution.
- Added 1D pixel maps. This is available in the
xcoordinate passed torender(index, x). Previews render as a spiral. There’s also a hidden line mode, you can enable by putting this in your browser console:previewSettings.render1DStyle = "line"but it’s kind of boring
Added UCS5603 and UCS7604 LED types.
External WebSocket Server support. When configured, Pixelblaze will connect to a remote server. This would open up the possibility of controlling Pixelblazes remotely without a bunch of port forwarding tricks, and open the door for integration with other cloud services and integrations. You could also run this locally, and do Firestorm like things. Some more info in this post.
Added an advanced setting to persist pattern changes when the button is pressed. With the sequencer off, or set to shuffle, a button press will persist so that it starts on the same pattern when powered on.
Improvements
- Better pattern compatibility across 1D, 2D, and 3D. It will now prefer the highest dimension render function when an exact match isn’t found. Missing coordinates default to the middle of world space, and if there is no pixel map at all, x defaults to index/pixelCount.
- Leader Gone Timeout setting lets you configure how long it takes followers to fall back to local patterns when a leader goes away.
- UI change notifications (toasts) give you some visual confirmation when it otherwise might not be obvious when something took effect. For example, when you change settings and they automatically apply, or click save on a pixel map, or delete a pattern.
- Fix autocomplete issues where it would pick completions too aggressively.
- Prompts when closing the tab/window with unsaved edits.
- Experimental auto-saves to browser storage. This is currently hidden, but running
restoreAutoSave()in the browser console will load the last edited code.
Possibly breaking changes
- If you have a pixel count higher than the number of pixels in a pixel map, these will now render, where they would not before. Pixels outside of a pixel map (or when there is no pixel map at all) get default coordinates (x is index/pixelCount, y and z are in the middle).
- The
mapPixelsfunction more closely aligns with how render functions are called. It will now work without a pixel map, and if the pixel count is higher than the number of mapped pixels will iterate pixels outside of the pixelmap. In both cases it uses the same default coordinate strategy. ThepixelMapDimensions()function will still return 0 if there is no pixel map.
Fixes
- Group sync robustness fixes. This has less aggressive timeouts and randomize timers so that it works better with large sync groups.
- Timesync fixes. In some cases followers could try to send timesync replies. Now followers just follow the timesync of their leader, ignoring everything else. Leaders / solo will sync between themselves.
- Add sequencer API to docs (oops)
Fix issue where controls didn’t save from the editor.
Fix to the failsafe system to prevent crashing patterns from getting a PB stuck during boot.
Disabled wifi modem sleep to hopefully address some disconnect issues.
You can also install this using the /recovery URL.
- v3.66.pb32.stfu (1.4 MB)
- v3.66.pico32.stfu (1.4 MB)
