Work on the Physical Web project at Google
Most recent activity
OK, I think we're good. I'll wait for the next release and will flash my pixl with that and then start testing out the various vector chars. I'm hoping that your 'slightly broken hacks' will already make a noticeable improvement.
With that new baseline, I'm happy to then revisit the current font vectors.
Looks like you've given me code to inspect and draw rectangle (both helpful) but not what I thought: a way to test clamping of low level drawing/filling.
We could be done actually, but in case you want any help on the clamping value (not just 50%) let me know if I could do this in JS (even if slow)
Hey! I'm glad we're making progress here! (even if I haven't lifted a finger yet ;-)
If I read you right, I could test the rounding issue in JS which would be great as I could try a range of chars, tweak the values quickly and then let you take care of all the messy firmware build stuff (another smiley)
I think you got the gist of my rounding comment.+128 is clearly the halfway point but I suspect that tweaking that cut off value will also improve things. If you've ever used photoshop/gimp and had to adjust the antialiasing of the font rendering (crisp vs smooth), that's what this is all about. My hunch is that making the rounding conservative (e.g. only pixels >60% grey into black instead of 50%) might give you a better outcome.
Let me know what works for you. If you think this is a simple C fix you can make in the rendering engine we might just be done. If you'd like me to tweak and test the rounding value in JS, happy to oblige.
Yeah, i was hoping, as a UX designer, this was a 'data cleanup' job. However, as I've played with this a further, it's clear a fairly complex programming task with two separate tasks:
- The vectors can't increase in size due to ram limits
- The rendering code appears to round poorly
A quick fix would be to try smaller 'angular vector' replacement. It would be ugly but at least clean(er). The rounding code appears like a slippery slope problem. My guess would be to render pixels to a greyscale value for edge cases and test clamping to Black/White pixels to various values.
Sorry for the noob question but is there is page detailing how to build the Espruino core and how best to download it to the device? I appreciate this is a dawdle for you but as someone drawn to the Espruino due to it's ease of programming, "replacing the image" feels like a big step!
Just got my pixl.js and the first thing I notice was how poorly the font renders. I took the clock example, added two buttons to increase/decrease the font size to see if it was just a scaling problem. Nope: the font looks pretty pixelated no matter what size you use.
I did a quick browser through the github but couldn't find the 'font resource' that defines the font used when you call setFontVector (which I assume is the right way to set the font?)
Clearly this is a vector based solution, so there will be pixelating artifacts but my guess is that even cleaning up the vector a bit should help the font scaling quite a bit.
Either way, i'd like to help. What is the right files to be playing with if I'd like to improve the font legibility?
Yes, I assume my path was like others:
- Quick start
- Puck.js examples/tutorials
- Puck Reference section
- Full Reference section
There are a lot of pages and, if I can be honest, it's a bit confusing. I popped back and forth quick a bit, not clear where I was. As I UX designer, I'd suggest a stronger home page that you don't leave. Just have a strong puck.js landing page with clear nav sections on the left:
- Setting up the puck
- Setting up the WebIDE (with a simple 'blink' style example)
- Puck.js function reference (with pins all functions)
I appreciate that you can't do the last one easily but if that puck.js 'reference' section listed the top 10 likely commands I'd use and then point to the full reference section (with my previous caveat about warning me about pins before heading over) That would be fine.
Sorry, I'm a UX designer and I can't leave well enough alone. I'm loving playing with the puck, my comments are just meant to help improve your on-boarding process.
Thanks Gordon. However, just adding the pinout diagrams likely isn't enough. Just point out in big letters (before you link to the pinouts) that now that there are 4+ boards, the chances of any of the reference code working generically is low. People should be warned that any code they find in the reference section needs to be checked against the pinouts for their particular board.
At least, that was my experience. The first few examples I found in the reference section all failed. It's understandable of course, just saying that a little extra care in your docs up front will likely go along way.