Right, I understand what’s happening now. This is the plugin code aggressively falling back to find a working configuration after a failure. The error message spamming is unintentional; I’ll see if I can clean that up.
Is your laptop a PPC, or a different OS, or otherwise somehow substantially different from your desktop? It’s not immediately clear why it’s failing. Can you post the exact output from the failure message?
It’s a good point. Eventually, I will add support to limit the size of this folder; at the moment, it can just keep growing as needed, without any real limit. But still, the size will be in the hundreds of MB, and it doesn’t need to be a hidden folder. Perhaps we should rename it to ~/Panda3D instead. Incidentally, you can completely delete this directory at any time without adversely affecting the plugin; it just means you’ll have to redownload stuff the next time you run (and maybe re-approve some certificates).
Yes, I agree this is a good idea. I haven’t done it yet because I’m not really sure how to find this default model directory for a makepanda build. Is it in a standard place?
Not-so-standard, it’s built_cmu/models, but only if the distributor is “cmu” and no custom output dir is specified. Maybe it would be a good idea here to set an environment variable or so?
Hmm, maybe we can just add code to panda3d.pdef to look for this model directory along the model-path, based on the presence of some specific filename within it.
Both are intel macs running 1.5. The main difference is my mac mini has a crap graphics card (intel gma 950), so I run stuff on my mac book pro usually. I have perviously run the plugin on my mac book before successfully, though it was a much older version (I also ran that version on my desktop as well).
I installed the plugin, and I tried some of the samples. I get a white area, nothing. Nothing launches as does when it works correctly. ddrose.com/~drose/plugin/scripty.html
That reports the same information for both, but the panda part does not show up on my mac book.
Perhaps some of it should live in cache or library. Anyway, any tool that leaves such large invisibles should come with a tool to clean up after itself. Being a prerelease though, I don’t expect such things to be done yet.
Edit:
On my mac book:
From the script page’s sys log button. dpaste.com/109918/
Game log says “undefined”
Would you also like the text from those buttons on my working copy?
Edit2:I removed my .panda3d folder, and tried run one of the plugin examples again. It downloaded, authorized, and seems to be working.
Edit3: Only the web plugin is working. Trying to use panda3d to open packp3d.p3d (or any other .p3d aparently) still gets that error pf not being able to launch the core api. The dylib its looking for does exist in that spot though.
Edit4: Also, I have never gotten ddrose.com/~drose/plugin/fbounce.html to work for me using safari. In firefox (on my desktop where the plugin actually works), the objects can pass between them one way, but not back (they disappear). In the flash demo, it works fully in firefox, but in safari the objects disappear instead of making it from flash back to panda.
Hm, not so sure about that, for Linux, for a few reasons:
(1) No one ever needs to access it, thats the point of the leading dot.
(2) It’s against the standards. Apps that store stuff in the home directory without a dot prefixed are very rare.
(3) Application directories on unix systems are usually lowercased.
(4) People generally want their home directory not to be full with app-specific stuff (except if its hidden of course)
We could perhaps make a “rightclick->clear cache” (or somewhere else) in the plugin to allow people to clear the cache entirely, for the people that aren’t smart enough to enable hidden files in their file browser.
why don’t you place the cache in /tmp ?
i mean that’s the place for temporary stuff. i don’t want my home dir full of one-time-usage stuff. call me individual, but i also sweep all my browser cache, cookies and also flash-cookies.
another thing is that the home dir isn’t erased after deinstallation of the program which created it (or at least i haven’t yet seen a package manager that does that), so after a user uninstalls his plugin, he still has to deal with megabytes of old, cached garbage.
Or how about splitting the cache into panda- and game content? i guess the panda components will be used more often than specific game assets (just think of all the flash games people play one time and never more).
in case i couldn’t persuade you, place it into ~/.pada3d please, as pro-rsoft requested or alternatively into ~/.cache/panda3d and ~/.config/panda3d
The problem with /tmp/ is that it’s cleared when you reboot. It’s temporary while the Panda3D cache is pretty permanent. It’s not one-time-usage at all, as the entire Panda3D runtime build is installed into ~/.panda3d/ - this greatly speeds up future usage of the plugin. (The first time you use the plugin, you see the long wait bar, remember?) So in general, you might even end up keeping that directory forever. Even on a Panda3D version update it is merely patched rather than entirely overwritten.
Many package managers offer two ways of uninstallation: without clearing the config stuff (the default usually) and an option to also remove the configuration.
Game content isn’t cached but read directly from the p3d file AFAIK - it’s just Panda, and maybe some logfiles and certificates.
That could work too. That’s maybe more consistent with how we do it on Mac now, in ~/Library/Caches/Panda3D/.
a usual place for chache stuff is /var/cache or somewhere else under /var, however on install you’d need to have admin access to create a directory and chown. othervise i’d tend to use “.panda3d”
edit: since the last update to v7, it doesnt reconize anymore that the plugin is already installed on the entry page (ddrose.com/~drose/plugin/install_plugin.html). this is under osx 10.6.
edit2: i’ve never encountered a package the deleted user configurations (files in ~) under linux. i would higly discourage deleting stuff in the user folder, even if it’s unlikely that a user stores stuff in the .panda3d dir by himself, it’s still possible, if you want to delete things in the .panda3d dir, it would need to be individual files (the exact files that have been installed) and not the complete folder.
That’s not the most important problem - the worst thing is that people would be able to corrupt other people’s plugin cache (and maybe inject malicious code somehow)
My Fedora installation now puts things under ~/Desktop, ~/Download, and so on, where a long time ago these were more like ~/.desktop and ~/.download. Looks like ubuntu is doing a similar thing. So, there is at least some movement towards more visible home-directory storage of stuff.
The placement of the Panda3D directory has three requirements:
(1) We don’t need to make the user see it every day. It should be tucked away somewhere.
(2) We don’t need to make it hard for the user to find it. He should know that it exists, and know where to find it when he goes looking for it.
(3) We should follow existing standards wherever possible.
Taken together, those three do seem to advocate for ~/.panda3d on Linux. There is a long tradition of Unix applications storing stuff in a hidden directory under your home directory. Anyone who has been using Linux for more than a week has a good chance of understanding this. I’ll change it back to ~/.panda3d.
Does it say you have version 0.9.2c installed, or does it still report 0.9.1c? Have you re-downloaded and installed the latest plugin? And, gosh, it was working on Snow Leopard? I’d thought it wasn’t working there at all.
Can you post the log files for me? Let’s do it this way:
rm -rf /tmp/tlog
panda3d -l /tmp/tlog packp3d.p3d
then post (or email to me) the logfiles that appear in /tmp/tlog.
I’ve had that problem with the flash demo in Safari too. It seems to be some unique JavaScript quirk of Safari, and I haven’t researched it more fully yet. The fbounce demo (“Dual-Panda demo”) has always worked for me, though. When it fails, is it failing always on the left-to-right traversal, or always on the right-to-left traversal, or always when an object returns back to the original window that created it?
The Panda plugin itself aggressively maintains the ~/.panda3d directory and will automatically delete (some) things that the user puts in it. It’s not a place for user storage, it’s a place for the plugin to store its managed content. It seems perfectly appropriate to me to delete it wholesale upon uninstallation.
Hey, I got somewhat excited about this prerelease of the browser plugin. However, I can’t seem to get things working.
I am using Firefox 3.5.5pre on 32-bit Ubuntu 9.10. I also tried using Firefox 3.5.3 as in Canonical’s Ubuntu repository.
First I went to ~/.mozilla/ and had to create the subdirectory ~/.mozilla/plugins. Then I placed the plugin file into there, restarted the browser, and tried to return to the index page as instructed on the install page. I was immediately redirected back to the install page as though it didn’t load. Using about:plugins, I confirmed that indeed it had not loaded any such plugin.
So I tried ~/.mozilla/firefox//plugins and different root directories; /usr/lib/mozilla/plugins, /usr/lib/firefox3/plugins, /usr/lib/firefox3.5.5pre/plugins (which was just a symbolic link to /usr/lib/firefox-addons/plugins). With a browser restart after each attempt, results were the same each time. Finally, in a sad state of baffle, I stuck it in every single one of the above, and still I got the same result.
Have I missed some significant step? What could I be doing incorrectly?
I moved my p3d into another folder and it shows up blank when I drag it into the browser (I just get the Panda3D logo and no play button). However when I double click it, it displays the demo I packed.
Although, it’s fine if I drag it into the browser from the directory I built it in (the sample was built in C:\Panda3D-1.6.2\ from the samples folder)