Commit Graph

68 Commits

Author SHA1 Message Date
Sybren A. Stüvel fc514b2d73 WIP: asset engine support 2016-03-31 18:26:09 +02:00
Sybren A. Stüvel ba7734aaa5 Added CloudPath class for easier cloud browsing.
This allows us to have a structured, well-defined way to point at a node
in Pillar (and store its parent nodes).
2016-03-31 18:26:09 +02:00
Sybren A. Stüvel 364cc75548 Updated README with building & installation instructions. 2016-03-31 17:34:02 +02:00
Sybren A. Stüvel cbdf1c1321 Download & bundle dependencies as wheel files.
build-dependency-wheels.sh has been removed, as it has been
superseded by the 'python setup.py wheels' command.
2016-03-31 17:33:48 +02:00
Sybren A. Stüvel 7e9e1d122c Added setup.py so we can package the addon as ZIP.
`python setup.py bdist` creates dist/blender_cloud*.addon.zip, which can
be installed by Blender.
2016-03-31 16:01:17 +02:00
Sybren A. Stüvel 43a8a1ad68 Updated README.md to use Phabricator's Remarkdown.
Also updated links to Blender ID addon to point to its new home @
Phabricator.
2016-03-31 12:30:04 +02:00
Sybren A. Stüvel 3a69f1fcb4 Less restrictive permissions for texture directory 2016-03-31 12:01:41 +02:00
Sybren A. Stüvel 3afb5a107a Ignore test directories. 2016-03-31 11:54:27 +02:00
Sybren A. Stüvel afbc36a70a Use addon pref to store default texture dir, allowing per-scene override. 2016-03-31 11:54:27 +02:00
Sybren A. Stüvel c10107b887 Some drawing tweaks 2016-03-23 16:54:08 +01:00
Sybren A. Stüvel 8274745b84 Don't stop browsing when someone mis-clicks an item. 2016-03-23 16:54:02 +01:00
Sybren A. Stüvel 653bee7e4d Added screenshots to README
I hope these will show up in Github without modification (I'm not using
HTTP URLs).
2016-03-23 16:52:42 +01:00
Sybren A. Stüvel 3ac1917527 Added some doc about how to run the addon. 2016-03-23 14:11:12 +01:00
Sybren A. Stüvel 5db08513a2 Added script to build and/or download dependencies.
Requires git and only tested on Ubuntu Linux 14.04.
2016-03-23 14:07:10 +01:00
Sybren A. Stüvel 41e8f871f9 Updated the README with the new asyncio loop management stuff.
Also added some more installation instructions.
2016-03-23 13:54:23 +01:00
Sybren A. Stüvel 0974c460e8 Added exception drawing code.
It's rather primitive, but at least the GUI reflects that something has
gone wrong.
2016-03-23 13:46:19 +01:00
Sybren A. Stüvel 09e9c02d65 Asyncio loop kicked via modal operator.
The old way (using a scene_update_pre handler) turned out to work due to
a bug in Blender, where scene_update_pre was called too frequently.
2016-03-23 13:45:28 +01:00
Sybren A. Stüvel ed9821afa6 Bit more overview/intro in the readme 2016-03-23 12:06:28 +01:00
Sybren A. Stüvel e9b44ef273 Added design section to README.md 2016-03-22 15:56:22 +01:00
Sybren A. Stüvel 37ce6cd2b4 Updated README to reflect the current state of the addon. 2016-03-22 15:23:18 +01:00
Sybren A. Stüvel ac29d49450 Per-BlenderID-user cache.
Different users might have different access rights, and thus access
to different information.
2016-03-22 15:20:22 +01:00
Sybren A. Stüvel af7883da73 indentation oops 2016-03-22 14:51:46 +01:00
Sybren A. Stüvel 1860c27c5d Described some not-yet-necessary features as "in the future we might..." 2016-03-22 14:49:36 +01:00
Sybren A. Stüvel fb84b2892e Store UUIDs in the image data block 2016-03-22 14:49:03 +01:00
Sybren A. Stüvel 394a4f4764 Include 'map type' in filename
Map types are 'col', 'spec', 'bump' etc.
2016-03-22 14:47:55 +01:00
Sybren A. Stüvel dc4677ed04 Removed single-threadedness from executor 2016-03-22 14:35:44 +01:00
Sybren A. Stüvel c2ee865cff Always clear images before stopping the GUI operator 2016-03-22 14:35:33 +01:00
Sybren A. Stüvel 9e939dfd03 Added some filename sanitation 2016-03-22 14:31:34 +01:00
Sybren A. Stüvel c5f66ec0d9 Removed time dependency in asyncio loop kicking. 2016-03-22 14:31:34 +01:00
Sybren A. Stüvel 6b84dcf282 Added downloading of all files belonging to one texture. 2016-03-22 14:31:29 +01:00
Sybren A. Stüvel db10201cd3 Faster cancelling of thumbnail downloads.
I forgot to pass the 'future' object to the download_texture_thumbnail
function, and as such it wasn't notified of cancellations.
2016-03-22 11:30:00 +01:00
Sybren A. Stüvel c679809c18 Removed some unnecessary code. 2016-03-22 10:51:45 +01:00
Sybren A. Stüvel 0b4a1a7098 Only download a file once per Blender session. 2016-03-22 10:41:35 +01:00
Sybren A. Stüvel 5f3a83737c Slight tweak 2016-03-21 17:43:25 +01:00
Sybren A. Stüvel 3352d405c9 Redownload if file size is not what it should be. 2016-03-21 17:36:43 +01:00
Sybren A. Stüvel 7df27426ef Caching of texture thumbnails.
Based on HTTP headers stored in sidecar files.
2016-03-21 17:21:51 +01:00
Sybren A. Stüvel addb7b90bb New location of wheel files 2016-03-21 15:51:38 +01:00
Sybren A. Stüvel 16d29050df Ignore more 2016-03-21 15:51:29 +01:00
Sybren A. Stüvel e4cd6643b0 Removed unused code. 2016-03-21 15:50:03 +01:00
Sybren A. Stüvel 6bf8300948 Don't attempt thumbnail download when we receive an error HTTP code 2016-03-21 11:47:29 +01:00
Sybren A. Stüvel 5c2beaf7b2 Browsing now uses node objects, instead of just node UUID
This made the browsing code slightly simpler, and reduces the number
of Pillar queries. The list of nodes visited to end up at the current node
is also stored, so that we can easily go back up.
2016-03-21 11:46:47 +01:00
Sybren A. Stüvel 5f43b355b0 Renamed blender_cloud.cache to blender_cloud.http_cache. 2016-03-21 09:32:10 +01:00
Sybren A. Stüvel 5039a33053 Switched caching to CacheControl + pillar module usable without Blender
Making the blender_cloud.pillar and blender_cloud.cache modules usable
without Blender required some moving of the code, from __init__.py to
blender.py.

CacheControl requires the lockfile package, which increases the number
of bundled wheel files to 3. Those are now managed by
blender_cloud.wheels.load_wheels(). The wheels are only loaded if the
Python installation doesn't yet contain the required packages. This allows
development with virtualenv-installed packages, debugging in the IDE, etc.
2016-03-18 16:53:52 +01:00
Sybren A. Stüvel 8fbdf456cd Change of plans: caching is done with CacheControl.
Requests-Cache ignores HTTP cache control headers, violating the HTTP
protocol.
2016-03-18 16:38:27 +01:00
Sybren A. Stüvel 9267faac8e Add caching at HTTP level.
This uses Reqests-Cache, which should be installed on the PYTHONPATH or
provided as a wheel in blender_cache/requests_cache-*.whl. In the latter
case, it'll be automatically added to sys.path.
2016-03-18 14:03:25 +01:00
Sybren A. Stüvel e15f4d1573 Added design notes for communication & file structure 2016-03-16 15:50:57 +01:00
Sybren A. Stüvel aeae24e6bc Allow the Blender Cloud browser to run full-screen
It no longer requires a 3D View, but can be run everywhere.
2016-03-15 17:09:27 +01:00
Sybren A. Stüvel e16f069eb3 Added downloading of textures when clicking on a menu item
For this I made the operator a state machine; when its state is set to
'QUIT' it'll quit. Different states can have different OpenGL drawing
functions.

For now, to help development, the state is drawn in the bottom left corner.
2016-03-15 15:44:19 +01:00
Sybren A. Stüvel 5730f43848 Allow downloading to non-existant directory 2016-03-15 15:35:28 +01:00
Sybren A. Stüvel 7520421083 Download in larger chunks 2016-03-15 15:35:18 +01:00