I figured I would start this thread to centralize some of the issues we are seeing in the SDK. Per the post by @stevenf here, the only things that are platform specific are the simulator, pdc, and pdutil binaries. To me, that sounds like the logic around getting specific on an issue boils down to:
What platform?
- Mac
- Windows
- Linux (@stevenf provides a link here and says that the linux SDK is not a part of the 0.10.2 official release, so bear that in mind if you have a critical issue, since it's probably not a top priority if the other platforms don't have a similar issue)
What kind of issue?
- Platform specific
- pdc (building/compiling)
- pdutil (writing/reading to the playdate device)
- simulator (running/installing/debugging via the simulator)
- Universal
- sdk / api
Obviously, programming can be difficult, and it's hard to pin stuff down to determine if something is not behaving the way it's intended or it's a bug in your own code. I'm probably already guilty of not doing this, but reading through existing threads and searching for posts with similar issues is a useful first step. This forum provides a lookup mechanism when creating new threads to see if you're echoing any existing concerns.
All that said, I am a Windows developer, so I am going to be coming at problems from that angle. I see a few holdups currently.
================================
Platform: Windows
Issue: Platform specific - pdc
Problem:
pdc is not re-compiling lua files when using the same output directory (described here)
Workaround:
delete the <output.pdx> directory before running the pdc utility again so it generates fresh files
================================
Platform: Windows
Issue: Platform specific - simulator + Universal - sdk/api (possibly)
Problem:
The simulator "Docked" toggle is flipped or its UI positioning is confusing, if it's meant to be a "Crank is on" flag. When the button is lit, playdate.isCrankDocked() is reporting false, but the api calls for playdate.getCrankPosition(), playdate.getCrankChange(), playdate.getCrankTicks(ticks) are not showing any change (I am importing CoreLibs/crank). When you toggle it and it's not lit, the docked value reports true, but you can move the degrees and it will record changes. However, as soon as you move the slider to simulate someone continously rotating the crank, the button changes to lit, the docked value reports false, and there are no changes seen by the api calls, despite the spinning line in the UI. I doubt that the sdk is wrong, but the crank inputs from the simulator don't look like they are being read correctly.
================================
@nick_splendorr has recorded a number of issues his team has encountered here, working with SDK 0.10.2 on Windows. @stevenf is already looking into them, so I'll just try to summarize here:
- Windows - simulator - not rendering project properly for their test project
- Windows - simulator / pdutil - unable to install/run from the Device menu
- Windows - pdutil - install doesn't work reliably, often get errors copying files
- Windows - simulator / pdutil - possible drive corruption caused by install command
- WIndows - simulator / pdutil - inconsistent mounting / ejecting behavior
- Windows - pdc / pdutil - persistent errors from old sets of files during compile even after changing branches/implimenting fixes (personally, I believe this is due to the pdc error I mention above where it's not compiling a new pdx, but probably needs more investigation)
================================
@matt had an issue with stale pdx's as well
Mac - Simulator / pdc / pdutil - stale pdx transfer via simulator
Workaround:
repeat the process until it runs the new version
================================
Hopefully this is a little easier to track. If not, the Panic devs / forum mods can throw this thread away.
My suggestion for how this could work is if you are fairly confident there is an issue or something weird with one of the above tools/sdk on your platform, post it here. If you post another thread looking for help and you come to the conclusion that it's an issue, then add a reply here and link your thread. I believe (though I am not completely sure) that it will then show this thread's title as a link beneath your linked post.