Re: [Bf-committers] Blender roadmap article on code blog

2013-06-29 Thread Benjamin Tolputt
On 29/06/2013, at 3:47 PM, Campbell Barton wrote:

 Mono follows an MS spec for the language runtime (CLR), not sure what
 the second program you refer to is.
 At least the technology isn't owned by MS and its open-source.
 
 People may be wary of using MS derived technology but from what I can
 tell Mono wouldn't tie us to MS any more then Java would to Oracle.

Unlike the way Java was setup by Sun, Microsoft owns patents required for the 
CLR  C#. Yes, the source code is out in the wide world, but even the FSF has 
been clear about the threat Microsoft's patents poses to platforms that use the 
C#.

Personally, I don't think that Microsoft gives a damn about Blender (and agree 
Mono would not tie Blender to them), but should they start to use their patents 
against someone they *do* care about, it's possible that open-source projects 
using C#/CLR patents might be caught in the crossfire. 

Not trying to start a flamewar or anything, and I've used C# in a few projects 
now (so I'm not adverse to it's use per se), but there are reasons some folks 
are wary of using C#/Mono in an cross-platform, open-source project. Microsoft 
uses it's patents aggressively in it's commercial role and there it isn't 
unreasonable to assume they would use the C#/CLR ones if they see the need.

--
Benjamin Tolputt
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] DPI scaling question...

2013-06-29 Thread David Jeske
On Wed, Jun 26, 2013 at 11:53 PM, Campbell Barton ideasma...@gmail.comwrote:

 Noticed node placement bug this morning,
 fixed r57813.


Unfortunately, r57813 did not fix the node-placement bug on retina, because
the retina bug is related to U.pixelsize ... (see below)

Though IMHO using DPI to coords for node placement isn't a good idea
 (anything besides drawing), but perhaps theres a good reason for it?


My instinct, like Brecht, is that DPI and pixelsize shouldn't be seen by
most of the C code, and certainly not Python... only coordinate-space
transformations, 2d drawing primitives, and a couple places that need to
care about pixels. For example, the code currently has lines like:

  BLF_size(fontid, font point size * U.pixelsize, U.dpi);

Which IMO should be changed to hide the DPI and PIXELSIZE inside the
abstraction:

 BLF_size(fontid, font point size);

Today, however, this is not how the code handles DPI and PIXELSIZE scaling.
I'm guessing we should wait until Ton has the time to tell us if there is a
good reason it's done the current way before looking at this bigger
picture...

In the meantime, I did some digging and I don't think the retina
node-placement location bug is related to pixelsize mouse-transforms. I
think it's related to drawing code that does not handle pixelsize.

Some 2d viewers, including the node editor, do not seem to be handling
pixelsize in their local offset and zoom transforms. You can see this
because if you drag blender from a retina to non-retina display, these
viewers suddenly appear to be at a different zoom level (node, uv-edit,
logic,  This is fine when transforms are relative. However, when the
coordinate is absolute in the view-space, it doesn't align with the drawing
coordinates which have not been adjusted for pixelsize.

..at least this is what I think is going on. It's going to take a little
more digging to be sure. I think i'll leave this bug until I've fixed some
simpler stuff.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] DPI scaling question...

2013-06-29 Thread David Jeske
On Fri, Jun 28, 2013 at 11:36 PM, David Jeske dav...@gmail.com wrote:

 In the meantime, I did some digging and I don't think the retina
 node-placement location bug is [not] related to pixelsize mouse-transforms.
 I think it's related to drawing code that does not handle pixelsize.


UGH, sorry, is **not** related to pixelsize mouse-transforms..
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


[Bf-committers] x/y transposes in rna_wm.c? or not?

2013-06-29 Thread David Jeske
sorry, nub dev question.. I noticed these entires in rna_wm.c with tooltips
saying X positions are vertical, and Y positions are horizontal...
Is this the tooltip mistake it seems like to me, or is there some
non-obvious reason for this?


prop = RNA_def_property(srna, mouse_x, PROP_INT, PROP_NONE);

RNA_def_property_int_sdna(prop, NULL, x);

RNA_def_property_clear_flag(prop, PROP_EDITABLE);

RNA_def_property_ui_text(prop, Mouse X Position, The window relative
vertical location of the mouse);
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] VS 2013 + Blender = ???

2013-06-29 Thread Jürgen Herrmann
Hi Alex,

The libs will not be compatible. All versions of MSVC since 2010 write a 
version string into libs. And all versions since 2012 check this string.
You can not link to libs compiled with a older version.

Also I can just repeat myself: We don't want to switch to 2013.

I would just like to keep track of the changes and try to keep blenders code 
compatible with future versions.

/Jürgen

Am 29.06.2013 um 04:23 schrieb Alexandr Kuznetsov kuzsa...@gmail.com:

 Hi Jürgen and Thomas:
 
 From what I understand, they just release the *preview* version of vs 
 2013. I would advise to wait for the final release due to possible 
 incompatibility between this and final versions (libs wise). I don't see 
 a reason to move to 2013 preview right now. We don't use C++ much and to 
 the full extend (except possibly Cycles) and I'm not aware of that2013 
 brings C11 support.
 Also, if you have previous toolkit installed (vs 2012), the 2012 libs 
 should still be compatible with 2013. When 2013 is released, we can drop 
 2012 as we did with 2010. And still have 2008 as official!
 As for the patch to the code to make it compliant with c++11, it would 
 be great addition (although gcc doesn't have issues).
 
 Best,
 Alex
 
 
 On 6/28/2013 6:46 PM, Jürgen Herrmann wrote:
 Hi Thomas,
 
 I don't want to update right now, but as ms changed their pace to yearly 
 updates with significant new features and changed compatibilities (e.g more 
 c++11 features) we will have to do a lot of work if we wait 5 years again.
 As I said I've got a patch for VS 2013 ready and working in my local repo.
 We could update instantly but I don't want to due to the reasons you stated.
 I just want to avoid the messy update work we had because we skipped one 
 version.
 If we skip 5 versions of MSVC (provided that ms keeps this pace) the 
 updating mess will be huge :(
 So doing a little testing once and a small patch in a while wont hurt, I 
 think.
 
 Am 28.06.2013 um 23:27 schrieb Thomas Dinges blen...@dingto.org:
 
 Hi Jürgen,
 
 We used vc2008 now for like 5 years? or so, and this worked out quite
 good. Probably we should update more frequently, but I see no reason to
 rush things either.
 It will still take some weeks or months to test vc2012 with Blender
 thoroughly, to use this as a vc2008 replacement for official builds.
 
 So let's finish the vc2012 update first, use it for official builds and
 then worry about when and if we should update the next time. ;)
 
 Thomas
 
 Am 28.06.2013 23:14, schrieb Jürgen Herrmann:
 Sure! Switch to MinGw, but please do some good testing ;)
 I am the last not to support this ;)
 
 Am 28.06.2013 um 20:13 schrieb Cezary Kopias cezary.kop...@gmail.com:
 
 From USER: As always speed tests must be performed for such a decision.
 Are there any new VS features that are worth mention?
 
 And as always i will promote mingw-w64 :]
 just read that you can compile windows build under linux - nice
 
 /kopias
 
 On Fri, 28 Jun 2013 20:08:30 +0200, Jürgen Herrmann shadow...@me.com
 wrote:
 
 Logic error corrected inline ;)
 
 Hi there,
 
 Out of curiosity I downloaded the VS 2013 Pro preview yesterday.
 And while playing with it I had the idea to try blender compilation
 with it ;)
 I needed to tweak the sources a bit because MSVC 12 seems to break se
 things as M$ implements more C++11 features. It took me 30 Minutes to
 put a patch together.
 But all the libs I compiled with VC11 need to be recompiled :(
 So I stopped this insanity ...
 
 But what I am curious about, what do you guys think?
 Shall we adapt new versions if MSVC early (even if we don't use it for
 production) or not?
 Pro: when we decide to switch to another version (let's assume MSVC
 2016, just for an example) the workload of porting might
 Not be that huge.
 Con: we have to recompile libs and port blender every year (in case MS
 keeps this release schedule)
 
 /Jürgen
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 -- 
 Using Opera's mail client: http://www.opera.com/mail/
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 
 -- 
 Thomas Dinges
 Blender Developer, Artist and Musician
 
 www.dingto.org
 
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 

[Bf-committers] Patch [#35910] two TINY usability fixes in the node editor

2013-06-29 Thread David Jeske
TINY (hopefully uncontroversial) patch to fix up to parent usability in
the node-editor (and improve a tooltip)

http://projects.blender.org/tracker/index.php?func=detailaid=35910group_id=9atid=127
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


[Bf-committers] A better way to display the Weight value in weight Paint mode ?

2013-06-29 Thread Gaia
Hi;

I know this breaks every rule of the Blender user interface.
However please take a moment (or two) and think about
these 2 alternatives for showing the Weight paint value
in weight Paint mode:

 http://pasteall.org/pic/show.php?id=54510

On the left side: the bar changes its color from blue to red
depending on the weight value.

On the right side: the bar reveals a rainbow while the
weight value increases.

I think using color here is the most intuitive representation
that is possible when working with weight values.

And its practical usage ?
Well, when i use the weight value then i always think in colors
but i have to specify values between 0 and 1. For me this does
not match up nicely. The color bar does a better job here imho.

I have not made up my mind which of the alternatives works better.
Probably the left one, but i am really not sure.

-gaia-
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] A better way to display the Weight value in weight Paint mode ?

2013-06-29 Thread Ronan Ducluzeau aka zeauro
On 29/06/2013 11:04, Gaia wrote:
 Hi;

 I know this breaks every rule of the Blender user interface.
 However please take a moment (or two) and think about
 these 2 alternatives for showing the Weight paint value
 in weight Paint mode:

   http://pasteall.org/pic/show.php?id=54510

 On the left side: the bar changes its color from blue to red
 depending on the weight value.

 On the right side: the bar reveals a rainbow while the
 weight value increases.

 I think using color here is the most intuitive representation
 that is possible when working with weight values.

 And its practical usage ?
 Well, when i use the weight value then i always think in colors
 but i have to specify values between 0 and 1. For me this does
 not match up nicely. The color bar does a better job here imho.

 I have not made up my mind which of the alternatives works better.
 Probably the left one, but i am really not sure.

 -gaia-
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
Some users can use a custom weight paint gradient from black to white . 
In this case, RGB color is irrelevant and replacing it by BW could hide 
weight value.

ronan
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57845] trunk/blender/source/blender: Fix #35884: crash opening . blend with generated color grid image and preview render.

2013-06-29 Thread Ton Roosendaal
Hi Brecht,

Buildbot, scons compile error in Windows:

Compiling == 'blf.c'
blf.c
source\blender\blenlib\BLI_threads.h(38) : fatal error C1083: Cannot open 
include file: 'pthread.h': No such file or directory
scons: building terminated because of errors.

No idea why... Windows include files is not my territory :)

-Ton-


Ton Roosendaal  -  t...@blender.org   -   www.blender.org
Chairman Blender Foundation - Producer Blender Institute
Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands



On 28 Jun, 2013, at 15:05, Brecht Van Lommel wrote:

 Revision: 57845
  
 http://projects.blender.org/scm/viewvc.php?view=revroot=bf-blenderrevision=57845
 Author:   blendix
 Date: 2013-06-28 13:05:15 + (Fri, 28 Jun 2013)
 Log Message:
 ---
 Fix #35884: crash opening .blend with generated color grid image and preview 
 render.
 
 Printing text on the color grid image would initialize font glyphs from a 
 thread at
 the same time as the UI, causing conflicts. The freetype glyph renderer needs 
 to be
 mutex locked because it uses a shared buffer internally even when rendering 
 for
 different fonts. Also needed to change the image generate function to use the 
 render
 monospace font to avoid conflicts in blenfont.
 
 What's still weak in the blenfont API is that there is no distinction between 
 a font
 and a thread using that font to render with some particular size, style, etc.
 
 Modified Paths:
 --
trunk/blender/source/blender/blenfont/intern/blf.c
trunk/blender/source/blender/blenfont/intern/blf_dir.c
trunk/blender/source/blender/blenfont/intern/blf_font.c
trunk/blender/source/blender/blenfont/intern/blf_glyph.c
trunk/blender/source/blender/blenfont/intern/blf_internal_types.h
trunk/blender/source/blender/blenkernel/intern/image_gen.c
 
 Modified: trunk/blender/source/blender/blenfont/intern/blf.c
 ===
 --- trunk/blender/source/blender/blenfont/intern/blf.c2013-06-28 
 06:54:49 UTC (rev 57844)
 +++ trunk/blender/source/blender/blenfont/intern/blf.c2013-06-28 
 13:05:15 UTC (rev 57845)
 @@ -44,6 +44,7 @@
 #include DNA_vec_types.h
 
 #include BLI_math.h
 +#include BLI_threads.h
 
 #include BIF_gl.h
 #include BLF_api.h
 
 Modified: trunk/blender/source/blender/blenfont/intern/blf_dir.c
 ===
 --- trunk/blender/source/blender/blenfont/intern/blf_dir.c2013-06-28 
 06:54:49 UTC (rev 57844)
 +++ trunk/blender/source/blender/blenfont/intern/blf_dir.c2013-06-28 
 13:05:15 UTC (rev 57845)
 @@ -46,6 +46,7 @@
 #include BLI_listbase.h
 #include BLI_path_util.h
 #include BLI_string.h
 +#include BLI_threads.h
 
 #include BIF_gl.h
 
 
 Modified: trunk/blender/source/blender/blenfont/intern/blf_font.c
 ===
 --- trunk/blender/source/blender/blenfont/intern/blf_font.c   2013-06-28 
 06:54:49 UTC (rev 57844)
 +++ trunk/blender/source/blender/blenfont/intern/blf_font.c   2013-06-28 
 13:05:15 UTC (rev 57845)
 @@ -48,6 +48,7 @@
 #include BLI_rect.h
 #include BLI_string.h
 #include BLI_string_utf8.h
 +#include BLI_threads.h
 #include BLI_linklist.h  /* linknode */
 
 #include BIF_gl.h
 @@ -64,15 +65,18 @@
 
 /* freetype2 handle ONLY for this file!. */
 static FT_Library ft_lib;
 +static SpinLock ft_lib_mutex;
 
 int blf_font_init(void)
 {
 + BLI_spin_init(ft_lib_mutex);
   return FT_Init_FreeType(ft_lib);
 }
 
 void blf_font_exit(void)
 {
   FT_Done_FreeType(ft_lib);
 + BLI_spin_end(ft_lib_mutex);
 }
 
 void blf_font_size(FontBLF *font, unsigned int size, unsigned int dpi)
 @@ -572,6 +576,7 @@
   font-buf_info.col[3] = 0;
 
   font-ft_lib = ft_lib;
 + font-ft_lib_mutex = ft_lib_mutex;
 }
 
 FontBLF *blf_font_new(const char *name, const char *filename)
 
 Modified: trunk/blender/source/blender/blenfont/intern/blf_glyph.c
 ===
 --- trunk/blender/source/blender/blenfont/intern/blf_glyph.c  2013-06-28 
 06:54:49 UTC (rev 57844)
 +++ trunk/blender/source/blender/blenfont/intern/blf_glyph.c  2013-06-28 
 13:05:15 UTC (rev 57845)
 @@ -48,6 +48,7 @@
 
 #include BLI_listbase.h
 #include BLI_rect.h
 +#include BLI_threads.h
 
 #include BIF_gl.h
 #include BLF_api.h
 @@ -224,6 +225,19 @@
   if (g)
   return g;
 
 + /* glyphs are dynamically created as needed by font rendering. this 
 means that
 +  * to make font rendering thread safe we have to do locking here. note 
 that this
 +  * must be a lock for the whole library and not just per font, because 
 the font
 +  * renderer uses a shared buffer internally */
 + BLI_spin_lock(font-ft_lib_mutex);
 +
 + /* search again after locking */
 + g = blf_glyph_search(font-glyph_cache, c);
 + if (g) {
 + 

Re: [Bf-committers] DPI scaling question...

2013-06-29 Thread Ton Roosendaal
Hi,

I tried to add DPI scaling and retina (pixelsize) support in the least 
intrusive way for the code. The button views (layout engine) behave very nice 
for it. Similarly easy was for 3D views, FCurve editor, Image, etc.

However, Node Editor is an exception. It uses 2D elements (nodes) and UI 
widgets together in 1 view matrix. I choose to make it work using the way how 
views for UI widgets work, but that meant it had to handle the view scaling for 
node drawing itself differently.

It think it's acceptable, also because it was my impression we would look into 
reducing (or even remove) UI widgets in nodes in future anyway.

That's the main 'bad' exception for HiDPI in Blender code now. (Plus a hack in 
window manager to wrap window sizes).

Everything is under the hood so can be redesigned in other ways too.

-Ton-


Ton Roosendaal  -  t...@blender.org   -   www.blender.org
Chairman Blender Foundation - Producer Blender Institute
Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands



On 27 Jun, 2013, at 13:43, Brecht Van Lommel wrote:

 On Thu, Jun 27, 2013 at 9:38 AM, David Jeske dav...@gmail.com wrote:
 ...which brings us back to my original question. Why is DPI exposed to so
 much blender code? If there was a virtual coordinate system and DPI/PIXEL
 scaling was hidden, then none of these places would know about DPI, node
 placement would be right, and node spacing would be consistent.
 
 Is this to avoid a wrapper around the GL calls for 2d operations? Does that
 overhead matter? They could be inlined.
 
 I don't know the reason behind this, Ton decided to do it this way
 when he worked on DPI and later retina support. I would have
 implemented it at a lower level too in the UI code, though maybe not
 as an OpenGL wrapper because you still want to round to integer
 coordinates for final button drawing I think, or have line thickness
 of 1 or 2, not 1.5 if you want things to draw crisp.
 
 Brecht.
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57871] trunk/blender/source/blender/ blenkernel/intern/mesh.c: fixed Blender crash, but unclear when this situation can happen

2013-06-29 Thread Brecht Van Lommel
Is there any more information you have about this, like a bug report
or a description of when this happens? Now it's adding an XXX comment
but there's no information for someone who might want to fix the
actual bug.

On Sat, Jun 29, 2013 at 10:38 AM, Gaia Clary
gaia.cl...@machinimatrix.org wrote:
 Revision: 57871
   
 http://projects.blender.org/scm/viewvc.php?view=revroot=bf-blenderrevision=57871
 Author:   gaiaclary
 Date: 2013-06-29 08:38:17 + (Sat, 29 Jun 2013)
 Log Message:
 ---
 fixed Blender crash, but unclear when this situation can happen

 Modified Paths:
 --
 trunk/blender/source/blender/blenkernel/intern/mesh.c

 Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
 ===
 --- trunk/blender/source/blender/blenkernel/intern/mesh.c   2013-06-29 
 07:00:38 UTC (rev 57870)
 +++ trunk/blender/source/blender/blenkernel/intern/mesh.c   2013-06-29 
 08:38:17 UTC (rev 57871)
 @@ -3938,7 +3938,10 @@
  {
 BLI_assert(ELEM3(type, ME_VSEL, ME_ESEL, ME_FSEL));

 -   if (me-totselect) {
 +   /* XXX how can it be that sometimes me-mselect is NULL here ?
 +  It happens, but its not clear why it happens!
 +   */
 +   if (me-totselect  me-mselect) {
 if (me-mselect[me-totselect - 1].type == type) {
 return me-mselect[me-totselect - 1].index;
 }

 ___
 Bf-blender-cvs mailing list
 bf-blender-...@blender.org
 http://lists.blender.org/mailman/listinfo/bf-blender-cvs
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57845] trunk/blender/source/blender: Fix #35884: crash opening . blend with generated color grid image and preview render.

2013-06-29 Thread Brecht Van Lommel
Fixed now.

On Sat, Jun 29, 2013 at 12:05 PM, Ton Roosendaal t...@blender.org wrote:
 Hi Brecht,

 Buildbot, scons compile error in Windows:

 Compiling == 'blf.c'
 blf.c
 source\blender\blenlib\BLI_threads.h(38) : fatal error C1083: Cannot open 
 include file: 'pthread.h': No such file or directory
 scons: building terminated because of errors.

 No idea why... Windows include files is not my territory :)

 -Ton-

 
 Ton Roosendaal  -  t...@blender.org   -   www.blender.org
 Chairman Blender Foundation - Producer Blender Institute
 Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands



 On 28 Jun, 2013, at 15:05, Brecht Van Lommel wrote:

 Revision: 57845
  
 http://projects.blender.org/scm/viewvc.php?view=revroot=bf-blenderrevision=57845
 Author:   blendix
 Date: 2013-06-28 13:05:15 + (Fri, 28 Jun 2013)
 Log Message:
 ---
 Fix #35884: crash opening .blend with generated color grid image and preview 
 render.

 Printing text on the color grid image would initialize font glyphs from a 
 thread at
 the same time as the UI, causing conflicts. The freetype glyph renderer 
 needs to be
 mutex locked because it uses a shared buffer internally even when rendering 
 for
 different fonts. Also needed to change the image generate function to use 
 the render
 monospace font to avoid conflicts in blenfont.

 What's still weak in the blenfont API is that there is no distinction 
 between a font
 and a thread using that font to render with some particular size, style, etc.

 Modified Paths:
 --
trunk/blender/source/blender/blenfont/intern/blf.c
trunk/blender/source/blender/blenfont/intern/blf_dir.c
trunk/blender/source/blender/blenfont/intern/blf_font.c
trunk/blender/source/blender/blenfont/intern/blf_glyph.c
trunk/blender/source/blender/blenfont/intern/blf_internal_types.h
trunk/blender/source/blender/blenkernel/intern/image_gen.c

 Modified: trunk/blender/source/blender/blenfont/intern/blf.c
 ===
 --- trunk/blender/source/blender/blenfont/intern/blf.c2013-06-28 
 06:54:49 UTC (rev 57844)
 +++ trunk/blender/source/blender/blenfont/intern/blf.c2013-06-28 
 13:05:15 UTC (rev 57845)
 @@ -44,6 +44,7 @@
 #include DNA_vec_types.h

 #include BLI_math.h
 +#include BLI_threads.h

 #include BIF_gl.h
 #include BLF_api.h

 Modified: trunk/blender/source/blender/blenfont/intern/blf_dir.c
 ===
 --- trunk/blender/source/blender/blenfont/intern/blf_dir.c2013-06-28 
 06:54:49 UTC (rev 57844)
 +++ trunk/blender/source/blender/blenfont/intern/blf_dir.c2013-06-28 
 13:05:15 UTC (rev 57845)
 @@ -46,6 +46,7 @@
 #include BLI_listbase.h
 #include BLI_path_util.h
 #include BLI_string.h
 +#include BLI_threads.h

 #include BIF_gl.h


 Modified: trunk/blender/source/blender/blenfont/intern/blf_font.c
 ===
 --- trunk/blender/source/blender/blenfont/intern/blf_font.c   2013-06-28 
 06:54:49 UTC (rev 57844)
 +++ trunk/blender/source/blender/blenfont/intern/blf_font.c   2013-06-28 
 13:05:15 UTC (rev 57845)
 @@ -48,6 +48,7 @@
 #include BLI_rect.h
 #include BLI_string.h
 #include BLI_string_utf8.h
 +#include BLI_threads.h
 #include BLI_linklist.h  /* linknode */

 #include BIF_gl.h
 @@ -64,15 +65,18 @@

 /* freetype2 handle ONLY for this file!. */
 static FT_Library ft_lib;
 +static SpinLock ft_lib_mutex;

 int blf_font_init(void)
 {
 + BLI_spin_init(ft_lib_mutex);
   return FT_Init_FreeType(ft_lib);
 }

 void blf_font_exit(void)
 {
   FT_Done_FreeType(ft_lib);
 + BLI_spin_end(ft_lib_mutex);
 }

 void blf_font_size(FontBLF *font, unsigned int size, unsigned int dpi)
 @@ -572,6 +576,7 @@
   font-buf_info.col[3] = 0;

   font-ft_lib = ft_lib;
 + font-ft_lib_mutex = ft_lib_mutex;
 }

 FontBLF *blf_font_new(const char *name, const char *filename)

 Modified: trunk/blender/source/blender/blenfont/intern/blf_glyph.c
 ===
 --- trunk/blender/source/blender/blenfont/intern/blf_glyph.c  2013-06-28 
 06:54:49 UTC (rev 57844)
 +++ trunk/blender/source/blender/blenfont/intern/blf_glyph.c  2013-06-28 
 13:05:15 UTC (rev 57845)
 @@ -48,6 +48,7 @@

 #include BLI_listbase.h
 #include BLI_rect.h
 +#include BLI_threads.h

 #include BIF_gl.h
 #include BLF_api.h
 @@ -224,6 +225,19 @@
   if (g)
   return g;

 + /* glyphs are dynamically created as needed by font rendering. this 
 means that
 +  * to make font rendering thread safe we have to do locking here. note 
 that this
 +  * must be a lock for the whole library and not just per font, because 
 the font
 +  * renderer uses a shared buffer internally */
 + BLI_spin_lock(font-ft_lib_mutex);
 +
 + /* search again after locking */
 + g = 

Re: [Bf-committers] x/y transposes in rna_wm.c? or not?

2013-06-29 Thread Brecht Van Lommel
Fixed now, these were indeed wrong, just a silly typo/mixup.

On Sat, Jun 29, 2013 at 8:46 AM, David Jeske dav...@gmail.com wrote:
 sorry, nub dev question.. I noticed these entires in rna_wm.c with tooltips
 saying X positions are vertical, and Y positions are horizontal...
 Is this the tooltip mistake it seems like to me, or is there some
 non-obvious reason for this?


 prop = RNA_def_property(srna, mouse_x, PROP_INT, PROP_NONE);

 RNA_def_property_int_sdna(prop, NULL, x);

 RNA_def_property_clear_flag(prop, PROP_EDITABLE);

 RNA_def_property_ui_text(prop, Mouse X Position, The window relative
 vertical location of the mouse);
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] DPI scaling question...

2013-06-29 Thread Ton Roosendaal
Hi,

This line:

 y = (ypixels = 39.0f * UI_DPI_FAC) ? (ypixels - 10.0f * UI_DPI_FAC) :
 29.0f * UI_DPI_FAC;

Is really an exception. It was code using hardcode pixel values before.
So it was this:

y = (ypixels = 39.0f) ? (ypixels - 10.0f) : 29.0f;

In order to make it respect DPI scaling, the multiplier was added.

Best would be to have this multiplication as litte as possible. Most of UI 
widget code is doing without already. It's just still there for code that was 
using hardcoded pixels for drawing.

The error for node placement on 'add node' is because it's python code trying 
to do patch DPI stuff, which it shouldn't do there. The API call there 
(v2d.region_to_view) should have been fixed for it.

I'll discuss it with Lukas or Campbell how to solve this best.

-Ton-


Ton Roosendaal  -  t...@blender.org   -   www.blender.org
Chairman Blender Foundation - Producer Blender Institute
Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands



On 27 Jun, 2013, at 6:56, David Jeske wrote:

 I'm trying to fix some Macbook Retina DPI scaling bugs, and I need some
 background on the UI_DPI_FAC.
 
 The first bug is that new compositor nodes are placed wrong on retina. I
 can see where they are created and placed in scripts/startup/bl_operators.
 However, I don't understand where DPI scaling is supposed to happen.
 
 It surprises me to see code all over which deals with DPI factor like
 this...
 
 y = (ypixels = 39.0f * UI_DPI_FAC) ? (ypixels - 10.0f * UI_DPI_FAC) :
 29.0f * UI_DPI_FAC;
 
 I expected it to be more centralized, where the whole UI would run in a
 virtualized coordinate-space automatically adjusted for DPI, and DPI
 scaling would be handled in the core mouse-event delivery and drawing code.
 Only a few places that care about raw pixels or should not respond to dpi
 changes would need to interact with DPI.
 
 I suspect there is a reason it wasn't done this way, but I don't know what
 it is, so it's hard for me to understand where DPI scaling should be done
 to fix these bugs.
 
 Can anyone enlighten me?
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


[Bf-committers] HiDPI notes for other OS'es

2013-06-29 Thread Ton Roosendaal
Hi,

As I explained before, I made MacBook retina to work for HiDPI in the least 
intrusive way for our code. But I also had to do it in a way it would work for 
everyone.

That meant I had to make two things work independently:

- DPI scaling for UIs in general.
- Apple's HiDPI implementation

Unfortunately these two features were not following an identical specification. 
That meant I had to seperate it in a Mac-only value (Pixelsize for now) and DPI.

For example, a retins dot is default set to be two pixels large. If you start 
Blender with 72 DPI, it will show visually the same button sizes whether you 
are in retina mode or not.

An important design decision from Apple was to decouple Desktop coordinates 
from pixels.
You can have retina desktops of 1024, 1440, 1920 wide which all get mapped to 
the actual 2880 screen pixels. But for each desktop width, a dot and standard 
line widths stay 2 pixels. Still following? :)

Mind boggling... especially if you draw the whole UI in OpenGL.

I'm still waiting for information how Linux or Windows will address HiDPI. 
Hopefully in the same way, but probably not...

-Ton-


Ton Roosendaal  -  t...@blender.org   -   www.blender.org
Chairman Blender Foundation - Producer Blender Institute
Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands



___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57871] trunk/blender/source/blender/ blenkernel/intern/mesh.c: fixed Blender crash, but unclear when this situation can happen

2013-06-29 Thread Gaia
i got a .blend file from a customer but i can not use that within a bug 
report.
The only hints i have so far:

1.) right after the (rigged) object enters weight Paint mode, i can see 
in the debugger:

me-totselect = 1
me-mselect = NULL
one vertex has the select flag enabled.

2.) The problem raises when the customer does:

- open the .blend file (now we are in Object mode)
- set the armature to pose mode (works)
- select the object (works)
- enter Weight Paint mode - Crash at the location i commented

I still try to find a simple example to create a bug report for this,
because i suspect the true cause is somewhere else.
But so far i could not recreate a blend file having this problem.
I am still looking at this and try to find out how the customer got
into this state.

-gaia-

On 29.06.2013 12:49, Brecht Van Lommel wrote:
 Is there any more information you have about this, like a bug report
 or a description of when this happens? Now it's adding an XXX comment
 but there's no information for someone who might want to fix the
 actual bug.

 On Sat, Jun 29, 2013 at 10:38 AM, Gaia Clary
 gaia.cl...@machinimatrix.org wrote:
 Revision: 57871

 http://projects.blender.org/scm/viewvc.php?view=revroot=bf-blenderrevision=57871
 Author:   gaiaclary
 Date: 2013-06-29 08:38:17 + (Sat, 29 Jun 2013)
 Log Message:
 ---
 fixed Blender crash, but unclear when this situation can happen

 Modified Paths:
 --
  trunk/blender/source/blender/blenkernel/intern/mesh.c

 Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
 ===
 --- trunk/blender/source/blender/blenkernel/intern/mesh.c   2013-06-29 
 07:00:38 UTC (rev 57870)
 +++ trunk/blender/source/blender/blenkernel/intern/mesh.c   2013-06-29 
 08:38:17 UTC (rev 57871)
 @@ -3938,7 +3938,10 @@
   {
  BLI_assert(ELEM3(type, ME_VSEL, ME_ESEL, ME_FSEL));

 -   if (me-totselect) {
 +   /* XXX how can it be that sometimes me-mselect is NULL here ?
 +  It happens, but its not clear why it happens!
 +   */
 +   if (me-totselect  me-mselect) {
  if (me-mselect[me-totselect - 1].type == type) {
  return me-mselect[me-totselect - 1].index;
  }

 ___
 Bf-blender-cvs mailing list
 bf-blender-...@blender.org
 http://lists.blender.org/mailman/listinfo/bf-blender-cvs
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] HiDPI notes for other OS'es

2013-06-29 Thread Brecht Van Lommel
Hi,

I had a look at this some months ago. For Windows there is a system
DPI that you can configure as a user and there's an API to query it.
It does not do this OS X trick with the 2x pixel size and decoupled
desktop coordinates, all coordinates are in actual pixels. Here's the
info:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd464660(v=vs.85).aspx

There might be some unforeseen issues to solve but a Windows developer
might be able to get this working quickly with just a few changes in
the code.

On Linux I don't know what the solution is, I couldn't even get any
desktop environment configured to properly work on my MacBook Retina.
Typically the advice seems to be to make the fonts bigger, and tweak
some settings to make icons bigger, etc. But that alone doesn't make
things look and work quite right, many things are still too small then
and many applications don't follow these settings anyway. The problem
for us is that there seems to be no standard system wide DPI setting
that can be reliably used. Until there is a standard solution here I
guess this will remain something that the user has to configure
manually.

Brecht.

On Sat, Jun 29, 2013 at 2:22 PM, Ton Roosendaal t...@blender.org wrote:
 Hi,

 As I explained before, I made MacBook retina to work for HiDPI in the least 
 intrusive way for our code. But I also had to do it in a way it would work 
 for everyone.

 That meant I had to make two things work independently:

 - DPI scaling for UIs in general.
 - Apple's HiDPI implementation

 Unfortunately these two features were not following an identical 
 specification. That meant I had to seperate it in a Mac-only value (Pixelsize 
 for now) and DPI.

 For example, a retins dot is default set to be two pixels large. If you 
 start Blender with 72 DPI, it will show visually the same button sizes 
 whether you are in retina mode or not.

 An important design decision from Apple was to decouple Desktop coordinates 
 from pixels.
 You can have retina desktops of 1024, 1440, 1920 wide which all get mapped 
 to the actual 2880 screen pixels. But for each desktop width, a dot and 
 standard line widths stay 2 pixels. Still following? :)

 Mind boggling... especially if you draw the whole UI in OpenGL.

 I'm still waiting for information how Linux or Windows will address HiDPI. 
 Hopefully in the same way, but probably not...

 -Ton-

 
 Ton Roosendaal  -  t...@blender.org   -   www.blender.org
 Chairman Blender Foundation - Producer Blender Institute
 Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands



 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] About the location of the Operator panel...

2013-06-29 Thread Ton Roosendaal
Hi,

A good guideline for UI design is to always consider options and choices to be 
done only in a last unfortunate case when nothing else can work.

If you need to patch design to make it usable, we better go back to look at the 
core design concepts itself.

-Ton-


Ton Roosendaal  -  t...@blender.org   -   www.blender.org
Chairman Blender Foundation - Producer Blender Institute
Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands



On 20 Jun, 2013, at 10:40, Gaia wrote:

 Hi, all;
 
 I asked myself:
 
 Why does the operator panel appear in the tool shelf
   although the operator has been called from the
   properties sidebar ?
 
 At least on a large display that can be really far far away :)
 
 I have an idea for the case where an operator is called by
 click on a button from within a Panel:  Add a panel option
 to specify where the operator panel shall show up:
 
 - Bottom of Tool Shelf (default)
 - Bottom of Properties sidebar
 - Bottom of current window (tool shelf or properties bar, ...)
 - Directly Below current panel (maybe not a good idea)
 
 If the operator was not called from within a panel, then
 fallback to defaults. Regardless of where it appears, the
 operator panel disappears when the next operator is called.
 
 Benefits:
 
 - Operator options can appear very near to where the
   operator was called, thus get much more awareness
 - less moving around on large screens to change operator
   options.
 
 Drawbacks:
 
 - operator panel no longer appears at one fixed location
 
 However letting the operator panel appear close to our
 current focus of work could possibly be more beneficial
 than relying on operator options to always appear in the
 lower left corner of the screen.
 
 What do you think about that ?
 
 -gaia-
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] A better way to display the Weight value in weight Paint mode ?

2013-06-29 Thread Gaia
Here are some alternatives which could solve potential problems with 
custom weight paint colors:

 http://pasteall.org/pic/show.php?id=54515

What do you think ? (my favorite is now the example in the middle).

-gaia-

On 29.06.2013 11:32, Ronan Ducluzeau aka zeauro wrote:
 On 29/06/2013 11:04, Gaia wrote:
 Hi;

 I know this breaks every rule of the Blender user interface.
 However please take a moment (or two) and think about
 these 2 alternatives for showing the Weight paint value
 in weight Paint mode:

http://pasteall.org/pic/show.php?id=54510

 On the left side: the bar changes its color from blue to red
 depending on the weight value.

 On the right side: the bar reveals a rainbow while the
 weight value increases.

 I think using color here is the most intuitive representation
 that is possible when working with weight values.

 And its practical usage ?
 Well, when i use the weight value then i always think in colors
 but i have to specify values between 0 and 1. For me this does
 not match up nicely. The color bar does a better job here imho.

 I have not made up my mind which of the alternatives works better.
 Probably the left one, but i am really not sure.

 -gaia-
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 Some users can use a custom weight paint gradient from black to white .
 In this case, RGB color is irrelevant and replacing it by BW could hide
 weight value.

 ronan
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] HiDPI notes for other OS'es

2013-06-29 Thread Dan McGrath
Hey Brecht,

Note sure if it would help, but on Linux for X dpi, perhaps these
options might be of help?:

Option UseEdidDpi FALSE
Option DPI 96x96

I need them in my xorg.conf here, but in my case, it is because my
monitor reports poor info. Anyways, just a side thought since you
mentioned. o/


Dan

On Sat, Jun 29, 2013 at 9:51 AM, Brecht Van Lommel
brechtvanlom...@pandora.be wrote:
 Hi,

 I had a look at this some months ago. For Windows there is a system
 DPI that you can configure as a user and there's an API to query it.
 It does not do this OS X trick with the 2x pixel size and decoupled
 desktop coordinates, all coordinates are in actual pixels. Here's the
 info:
 http://msdn.microsoft.com/en-us/library/windows/desktop/dd464660(v=vs.85).aspx

 There might be some unforeseen issues to solve but a Windows developer
 might be able to get this working quickly with just a few changes in
 the code.

 On Linux I don't know what the solution is, I couldn't even get any
 desktop environment configured to properly work on my MacBook Retina.
 Typically the advice seems to be to make the fonts bigger, and tweak
 some settings to make icons bigger, etc. But that alone doesn't make
 things look and work quite right, many things are still too small then
 and many applications don't follow these settings anyway. The problem
 for us is that there seems to be no standard system wide DPI setting
 that can be reliably used. Until there is a standard solution here I
 guess this will remain something that the user has to configure
 manually.

 Brecht.

 On Sat, Jun 29, 2013 at 2:22 PM, Ton Roosendaal t...@blender.org wrote:
 Hi,

 As I explained before, I made MacBook retina to work for HiDPI in the least 
 intrusive way for our code. But I also had to do it in a way it would work 
 for everyone.

 That meant I had to make two things work independently:

 - DPI scaling for UIs in general.
 - Apple's HiDPI implementation

 Unfortunately these two features were not following an identical 
 specification. That meant I had to seperate it in a Mac-only value 
 (Pixelsize for now) and DPI.

 For example, a retins dot is default set to be two pixels large. If you 
 start Blender with 72 DPI, it will show visually the same button sizes 
 whether you are in retina mode or not.

 An important design decision from Apple was to decouple Desktop coordinates 
 from pixels.
 You can have retina desktops of 1024, 1440, 1920 wide which all get mapped 
 to the actual 2880 screen pixels. But for each desktop width, a dot and 
 standard line widths stay 2 pixels. Still following? :)

 Mind boggling... especially if you draw the whole UI in OpenGL.

 I'm still waiting for information how Linux or Windows will address HiDPI. 
 Hopefully in the same way, but probably not...

 -Ton-

 
 Ton Roosendaal  -  t...@blender.org   -   www.blender.org
 Chairman Blender Foundation - Producer Blender Institute
 Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands



 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Blender roadmap article on code blog

2013-06-29 Thread Ton Roosendaal
Hi,

Been busy all week with other stuff, interesting long thread :)
Quick observations below:

 1) Include opt-in usage and automatic crash reporting in *every* blender
 build, and a web dashboard to live usage/crash stats to devs and the
 community. 

I always wondered what other projects/companies do with such reports. Is there 
a public example where I can see the handling of such report logging, with 
evidence for how this is being used well, the benefits? Or is it just for 
statistics?

 2) Increase community leverage, sharing, library asset encapsulation --
 more bridges between pro-artists and amateur blender pilots. snip

Good ideas, for me that's part of the asset project in our roadmap.

 3) Refine and add more end-to-end capabilities. IMO compositing and VFX
 have a multiplicative not additive effect on Blender's utility. Somehow
 having merely reasonable integrated 3d+compositing+vfx is better for some
 tasks than having non-integrated best-of-breed tools for each. snip

Lots of this is also just because how things evolved. One by one. Not as part 
of a grand master plan. Although I agree with the benefits you mention, I'm 
very wary for the consequences of simply adding it. We have to keep track of 
(existing) design focus, stability, keeping it manageable, etc. 

For example: the Sequencer code now can get a full makeover without breaking 
the rest of Blender. It's highly needed to do that.

Solutions for having tracking/compositing/sequencer work together are there 
too. What I'd like to explore is some kindof image-depsgraph. A user then can 
manage image dependencies in Blender like: render to image, which gets used as 
a texture in other render, which goes to compositor, which goes into a VSE, etc 
etc.

 4) Incorporate an extension language which can support Intellisense,
 type-checking, and fast execution. A big goal is to make scripting easier
 with Intellisense. Another goal is to enable both new blender additions and
 old code to be in a solid, typechecked, memory-managed high-level-language.
 Until recently, I wished for .NET/Mono/C# integration, like some people
 wished for in Maya before they decided on Python. However, I think there is
 a new exciting option which is lighter weight and may fit better, and that
 is TypeScript + Javascript-V8. (Typescript http://www.typescriptlang.org/is
 a class-based Javascript facade with optional-static typing, and
 Javascript-V8 is 10-30x
 fasterhttp://benchmarksgame.alioth.debian.org/u64/benchmark.php?test=alllang=python3lang2=v8data=u64than
 CPython 3). Obviously this would be done in a way which leverages the
 investment in Python exports/apis.

I can't add much to what has been said in other replies here. I also don't know 
any of these languages... but to me it seems we're really not doing that bad 
now. I don't see evidence Python is not satisfying current (technical) users 
either.

- Where Python is too slow (I/O), we can also improve the api a lot still. For 
our UI now it's more than fast enough.

- For Node plugins where speed is crucial (render, compo, future particle, 
modifiers, etc) we should explore first what already have. OpenCL, OpenShading, 
LLvm, ... or just a good C/C++ api.

-Ton-


 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] HiDPI notes for other OS'es

2013-06-29 Thread Brecht Van Lommel
It's not a reliable value to use, because it's not correctly reported
by many monitors, and does not actually correspond to the DPI assumed
by any other UI toolkit. I've looked for the right value for quite a
while, but only conclusion I can find is that none of
Gnome/KDE/Xfce/GTK/Qt/.. have proper high DPI support on Linux/X11,
it's just not implemented. If one of them did we could copy the same
mechanism to detect DPI.

On Sat, Jun 29, 2013 at 4:32 PM, Dan McGrath danmcgrath...@gmail.com wrote:
 Hey Brecht,

 Note sure if it would help, but on Linux for X dpi, perhaps these
 options might be of help?:

 Option UseEdidDpi FALSE
 Option DPI 96x96

 I need them in my xorg.conf here, but in my case, it is because my
 monitor reports poor info. Anyways, just a side thought since you
 mentioned. o/


 Dan

 On Sat, Jun 29, 2013 at 9:51 AM, Brecht Van Lommel
 brechtvanlom...@pandora.be wrote:
 Hi,

 I had a look at this some months ago. For Windows there is a system
 DPI that you can configure as a user and there's an API to query it.
 It does not do this OS X trick with the 2x pixel size and decoupled
 desktop coordinates, all coordinates are in actual pixels. Here's the
 info:
 http://msdn.microsoft.com/en-us/library/windows/desktop/dd464660(v=vs.85).aspx

 There might be some unforeseen issues to solve but a Windows developer
 might be able to get this working quickly with just a few changes in
 the code.

 On Linux I don't know what the solution is, I couldn't even get any
 desktop environment configured to properly work on my MacBook Retina.
 Typically the advice seems to be to make the fonts bigger, and tweak
 some settings to make icons bigger, etc. But that alone doesn't make
 things look and work quite right, many things are still too small then
 and many applications don't follow these settings anyway. The problem
 for us is that there seems to be no standard system wide DPI setting
 that can be reliably used. Until there is a standard solution here I
 guess this will remain something that the user has to configure
 manually.

 Brecht.

 On Sat, Jun 29, 2013 at 2:22 PM, Ton Roosendaal t...@blender.org wrote:
 Hi,

 As I explained before, I made MacBook retina to work for HiDPI in the least 
 intrusive way for our code. But I also had to do it in a way it would work 
 for everyone.

 That meant I had to make two things work independently:

 - DPI scaling for UIs in general.
 - Apple's HiDPI implementation

 Unfortunately these two features were not following an identical 
 specification. That meant I had to seperate it in a Mac-only value 
 (Pixelsize for now) and DPI.

 For example, a retins dot is default set to be two pixels large. If you 
 start Blender with 72 DPI, it will show visually the same button sizes 
 whether you are in retina mode or not.

 An important design decision from Apple was to decouple Desktop coordinates 
 from pixels.
 You can have retina desktops of 1024, 1440, 1920 wide which all get 
 mapped to the actual 2880 screen pixels. But for each desktop width, a 
 dot and standard line widths stay 2 pixels. Still following? :)

 Mind boggling... especially if you draw the whole UI in OpenGL.

 I'm still waiting for information how Linux or Windows will address HiDPI. 
 Hopefully in the same way, but probably not...

 -Ton-

 
 Ton Roosendaal  -  t...@blender.org   -   www.blender.org
 Chairman Blender Foundation - Producer Blender Institute
 Entrepotdok 57A  -  1018AD Amsterdam  -  The Netherlands



 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] HiDPI notes for other OS'es

2013-06-29 Thread David Jeske
I think there are at least three topics worth discussing here..

(a) how should blender appear on a hidpi display, relative to a regular
display (either dual monitor, or when moving a blend file between machines)

(b) how should the Blender code achieve this..

(c) how is hidpi detected on different systems.



first (a)... how should blender appear on hidpi?

On Sat, Jun 29, 2013 at 5:22 AM, Ton Roosendaal t...@blender.org wrote:

 ...it will show visually the same button sizes whether you are in retina
 mode or not.


I think this is the right behavior. Also, when a users has blender visible
on both retina and non-retina displays, those UI should appear the same
size. This requires HiDPI support to use something like the per-surface
pixelsize instead of the the user-preference dpi setting... so the
current strategy makes sense in that regard. (though the user-preference
might be better named ui-scaling, since it really isn't strictly dpi)

now (b)...how should the code achieve this?...

Today there are bugs in this hidpi/pixelsize behavior, and I believe this
is in large part because of how exposed dpi/pixelsize are to drawing/input
code. For example, node-editor and uv-editor do not appear the same size
on retina and non-retina at the same local-zoom, because the current zoom
is not translated for pixelsize. This seems to be the source of another
retina bug, where adding a node using the context menu causes it to appear
at the wrong place on hidpi.

Ton - Do you have any long-term opposition to the code encapsulating
pixelsize (hidpi) and dpi (aka ui scaling) issues at a lower-level -- by
introducing a virtual coordinate system for blender, much like apple has a
virtual coordinate system? This would require changes to 2d drawing code,
as well as 3d view projection setup functions.. but as a benefit would free
(most) other code from dealing with DPI / pixelsize.

I don't know enough to attempt this change now, and it may not be the right
time to do it, since it would make ui-code merges more difficult. However,
I would like to know what you think about it.

In the short-term, it may be easier to fix both the uv-editor and
node-editor to use the current pattern and properly use pixelsize / DPI to
appear the same on retina and non-retina.

finally (c)...how is hidpi detected on different systems, and different
monitors on the same system

On Mac, the system gives you the pixelsize for a display surface, and it
seems to magically deal with windows spanning multiple surfaces, by
telling you one surface DPI and automatically scaling the content for the
other display.

On Linux, there are multiple ways to achieve multi-monitor. Last time I
looked, the most common method was using a dual-headed graphics card with a
super big coordinate space that looks like a single big monitor. I don't
think this can support heterogeneous normal/hi-dpi. Xinerama might be able
to.

AFAIK, Windows still hasn't fully figured out their HiDPI API strategy. I
suspect a hetrogenius normal/hi-dpi setup in windows would be problematic
today...
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] HiDPI notes for other OS'es

2013-06-29 Thread Reuben Martin
On Saturday, June 29, 2013 04:47:09 PM Brecht Van Lommel wrote:
 It's not a reliable value to use, because it's not correctly reported
 by many monitors, and does not actually correspond to the DPI assumed
 by any other UI toolkit. I've looked for the right value for quite a
 while, but only conclusion I can find is that none of
 Gnome/KDE/Xfce/GTK/Qt/.. have proper high DPI support on Linux/X11,
 it's just not implemented. If one of them did we could copy the same
 mechanism to detect DPI.

Blog post from yesterday may provide insight into how others are tackling the 
issue.

http://blogs.gnome.org/alexl/2013/06/28/hidpi-support-in-gnome/

-Reuben
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] A better way to display the Weight value in weight Paint mode ?

2013-06-29 Thread Ronan Ducluzeau aka zeauro
I think that the best place to show weight color of brush is probably 
brush circle, itself.

Do you think it is possible to have an overlay feature for that in 
Weight Paint mode ?
Weight Paint Mode is the only one to have no overlay feature.
Sculpt, Texture and Vertex Paint modes are sharing the same Overlay color.

-ronan-

On 29/06/2013 16:10, Gaia wrote:
 Here are some alternatives which could solve potential problems with
 custom weight paint colors:

   http://pasteall.org/pic/show.php?id=54515

 What do you think ? (my favorite is now the example in the middle).

 -gaia-

 On 29.06.2013 11:32, Ronan Ducluzeau aka zeauro wrote:
 On 29/06/2013 11:04, Gaia wrote:
 Hi;

 I know this breaks every rule of the Blender user interface.
 However please take a moment (or two) and think about
 these 2 alternatives for showing the Weight paint value
 in weight Paint mode:

 http://pasteall.org/pic/show.php?id=54510

 On the left side: the bar changes its color from blue to red
 depending on the weight value.

 On the right side: the bar reveals a rainbow while the
 weight value increases.

 I think using color here is the most intuitive representation
 that is possible when working with weight values.

 And its practical usage ?
 Well, when i use the weight value then i always think in colors
 but i have to specify values between 0 and 1. For me this does
 not match up nicely. The color bar does a better job here imho.

 I have not made up my mind which of the alternatives works better.
 Probably the left one, but i am really not sure.

 -gaia-
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 Some users can use a custom weight paint gradient from black to white .
 In this case, RGB color is irrelevant and replacing it by BW could hide
 weight value.

 ronan
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] HiDPI notes for other OS'es

2013-06-29 Thread Ton Roosendaal
Hi,

 (a) how should blender appear on a hidpi display, relative to a regular
 display (either dual monitor, or when moving a blend file between machines)

That's supported and working already even!

 (b) how should the Blender code achieve this..

Given the fact every pixel in our UI is opengl code, it's inevitable that 
there's local conversions needed for UI items in views. In general this goes it 
very nice - when code itself is nice and using opengl correctly - and messy in 
parts only when hardcoded values are used.

The remainder bugs for HiDPI are mainly because hardly anyone is using it yet :)
Each reported issue is really an easy fix.

For image drawing... we can check on it. I just wasn't sure if you want to have 
zoom level 1 defined as 2 pixels for image pixels... that would be annoying I 
think. When 4k arrives on the desktop (during next years) we can figure out 
better. My experience with 4k production however is that you really want to see 
images as 1 pixel = 1 display pixel.

Not an easy fix in Blender is when 2d view transforms (like nodes) are used 
together with UI widget drawing. I kept this open, knowing node UI future is a 
todo item in general.

 Ton - Do you have any long-term opposition to the code encapsulating
 pixelsize (hidpi) and dpi (aka ui scaling) issues at a lower-level -- by
 introducing a virtual coordinate system for blender, much like apple has a
 virtual coordinate system?

Apple achieves HiDPI only via their own widget and Cocoa APIs. I think Blender 
is the first of non-Cocoa apps in Mac supporting this even. We could do this 
thanks to OpenGL, which is already using coordinate systems for all UI items. 
This is also why the DPI features works so well, and why you can zoom in/out 
for UI elements.

When 4k systems arrive on desktops for other OSes, they probably would just 
keep 1 desktop pixel to stay 1 display pixel. For these situations we can 
simply allow a user to set pixel size to 2, so you get nice lines and 'dot' 
units and buttons draw accordingly. We don't need to use the desktop coordinate 
system mapping from Apple then.

-Ton-

 
 (c) how is hidpi detected on different systems.
 
 
 
 first (a)... how should blender appear on hidpi?
 
 On Sat, Jun 29, 2013 at 5:22 AM, Ton Roosendaal t...@blender.org wrote:
 
 ...it will show visually the same button sizes whether you are in retina
 mode or not.
 
 
 I think this is the right behavior. Also, when a users has blender visible
 on both retina and non-retina displays, those UI should appear the same
 size. This requires HiDPI support to use something like the per-surface
 pixelsize instead of the the user-preference dpi setting... so the
 current strategy makes sense in that regard. (though the user-preference
 might be better named ui-scaling, since it really isn't strictly dpi)
 
 now (b)...how should the code achieve this?...
 
 Today there are bugs in this hidpi/pixelsize behavior, and I believe this
 is in large part because of how exposed dpi/pixelsize are to drawing/input
 code. For example, node-editor and uv-editor do not appear the same size
 on retina and non-retina at the same local-zoom, because the current zoom
 is not translated for pixelsize. This seems to be the source of another
 retina bug, where adding a node using the context menu causes it to appear
 at the wrong place on hidpi.
 
 Ton - Do you have any long-term opposition to the code encapsulating
 pixelsize (hidpi) and dpi (aka ui scaling) issues at a lower-level -- by
 introducing a virtual coordinate system for blender, much like apple has a
 virtual coordinate system? This would require changes to 2d drawing code,
 as well as 3d view projection setup functions.. but as a benefit would free
 (most) other code from dealing with DPI / pixelsize.
 
 I don't know enough to attempt this change now, and it may not be the right
 time to do it, since it would make ui-code merges more difficult. However,
 I would like to know what you think about it.
 
 In the short-term, it may be easier to fix both the uv-editor and
 node-editor to use the current pattern and properly use pixelsize / DPI to
 appear the same on retina and non-retina.
 
 finally (c)...how is hidpi detected on different systems, and different
 monitors on the same system
 
 On Mac, the system gives you the pixelsize for a display surface, and it
 seems to magically deal with windows spanning multiple surfaces, by
 telling you one surface DPI and automatically scaling the content for the
 other display.
 
 On Linux, there are multiple ways to achieve multi-monitor. Last time I
 looked, the most common method was using a dual-headed graphics card with a
 super big coordinate space that looks like a single big monitor. I don't
 think this can support heterogeneous normal/hi-dpi. Xinerama might be able
 to.
 
 AFAIK, Windows still hasn't fully figured out their HiDPI API strategy. I
 suspect a hetrogenius normal/hi-dpi setup in windows would be problematic
 today...
 

Re: [Bf-committers] A better way to display the Weight value in weight Paint mode ?

2013-06-29 Thread Antony Riakiotakis
Enabling overlay, even texture access for weight painting is not too hard.
I can probably add it after release.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] A better way to display the Weight value in weight Paint mode ?

2013-06-29 Thread Ronan Ducluzeau aka zeauro
Finally, I am not sure if overlay is needed. There is already radial 
control to set weight of brush.
Maybe it is possible just to color what is already there.

http://www.pasteall.org/pic/show.php?id=54536

But as gaia said; there is a keymap conflict when we use a rigged model.
W keymap for radial control in Weight Paint is used by Specials menu in 
Pose Mode.

http://www.pasteall.org/pic/show.php?id=54537

Keymap for radial control could be changed to something else like K.
There is also two other keymap conflicts.
A : Select All/ Stroke Method
Shift F : Flip Select Active Bone/ radial control for Strength

If Flip Select Active Bone can easily be reassigned to Ctrl F;
it is more difficult to find another keymap for Stroke Method.

-ronan-

On 29/06/2013 18:53, Antony Riakiotakis wrote:
 Enabling overlay, even texture access for weight painting is not too hard.
 I can probably add it after release.
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] A better way to display the Weight value in weight Paint mode ?

2013-06-29 Thread Ronan Ducluzeau aka zeauro
It would be probably better to display only one color.
http://www.pasteall.org/pic/show.php?id=54544

-ronan-

On 29/06/2013 18:53, Antony Riakiotakis wrote:
 Enabling overlay, even texture access for weight painting is not too hard.
 I can probably add it after release.
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] A better way to display the Weight value in weight Paint mode ?

2013-06-29 Thread Sean Olson
From a purely UX point of view the multicolor mockups are better even
though they may look worse in the UI.  It shows you without having to
play with the widget exactly where you need to be at a glance.  The other
one is an improvement over the current solution, but not as nice overall.

I guess it depends on the goal.  Are we looking to A) Make a widget that
does not intrude too much on overall look of the UI, yet gives more
functionality than exists currently or B) Make a widget that gives a lot of
info at a glance, but is very helpful to power users, but that might not
look great when taken in context of overall UI?

-Sean


On Sat, Jun 29, 2013 at 3:00 PM, Ronan Ducluzeau aka zeauro 
zeau...@gmail.com wrote:

 It would be probably better to display only one color.
 http://www.pasteall.org/pic/show.php?id=54544

 -ronan-

 On 29/06/2013 18:53, Antony Riakiotakis wrote:
  Enabling overlay, even texture access for weight painting is not too
 hard.
  I can probably add it after release.
  ___
  Bf-committers mailing list
  Bf-committers@blender.org
  http://lists.blender.org/mailman/listinfo/bf-committers

 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers




-- 
||-- Instant Messengers --
|| ICQ at 11133295
|| AIM at shatterstar98
||  MSN Messenger at shatte...@hotmail.com
||  Yahoo Y! at the_7th_samuri
||--
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] HiDPI notes for other OS'es

2013-06-29 Thread David Jeske
Looking away from the details for a moment.. It would be helpful to have a
clear Blender HiDPI philosophy, so we know the right way to fix these
bugs... I'll take a shot at this now...

If I understand your philosophy Ton, I think it is:

1) Editors where 2d pixels are not edited (everything except the
uv-editor), should appear to be at the same zoom-level/origin when loaded
on normal and high dpi displays. This means that a single blend file loaded
on normal and high dpi would have 3dviews and node-editors positioned and
zoomed to show roughly the same amount of stuff.

Can we agree on #1?

For image drawing... we can check on it. I just wasn't sure if you want to
 have zoom level 1 defined as 2 pixels for image pixels... that would be
 annoying I think.


Here is a second guidline to explain this...

2) Editors where 2d pixels can be directly edited (today just the
uv-editor), should keep their data-to-screen-pixel ratio constant when
loaded on normal and high dpi display. This means a uv-editor setup zoomed
to take up most of the screen on high-dpi, would be 2-4x the screen size
when loaded on normal dpi.

My sensibilities say to drop #2 and make everything #1. However, I'm not an
artist who paints on 2d uv-maps. It would be good to hear their opinion
here.  If #2 rule stays, it would be useful to know if this applies to
scenerios where the uv-editor is used a results display, such as
render/compositor results -- or only 2d image editing.

We might also consider these possible guidelines:

optional 3) Views showing 2d pixels have an obvious way to get to 1:1
mapping, and an obvious visual that they are in 1:1 mapping.

optional 4) Views showing 2d pixels have zoom steps and/or snaps to make
integer mappins easy to arrive at.

I like #3 more than #4, though I can see arguments for each.



After we get through the philosophy, we can apply it to the details

Not an easy fix in Blender is when 2d view transforms (like nodes) are used
 together with UI widget drawing. I kept this open, knowing node UI future
 is a todo item in general.


I see two related bugs in the node-editor which seem easy to fix, and I
would like to fix... but I don't know the agreed way to fix them without
the above HiDPI Philosophy. :)

A) Node-editor shift-a node placement not aligned to mouse on Retina...

http://projects.blender.org/tracker/index.php?func=detailaid=35920group_id=9atid=498

B) Node-editor content in a blend is zoomed different on retina vs
normal...  (this is a bug if we agree on HiDPI Philosophy point #1 above)

Fixing B should automatically fix A. However, if B is not a bug, then
the screen-to-nodespace coordinate transform for new node creation must be
changed to adjust for pixelsize. This is in python and AFAIK python does
not have access to pixelsize currently.

Given the fact every pixel in our UI is opengl code, it's inevitable that
 there's local conversions needed for UI items in views. In general this
 goes it very nice - when code itself is nice and using opengl correctly -
 and messy in parts only when hardcoded values are used.


The remainder bugs for HiDPI are mainly because hardly anyone is using it
 yet :)
 Each reported issue is really an easy fix.


I agree that today the easiest solution to fix the node-editor bugs above
is by adding a pixelsize adjustment in the right place, and I plan to do it
myself.

It is also easy to manually fix other similar bugs, and teach every
future blender UI coder to properly use DPI and pixelsize in their
screen-to-editor transforms.

However, in continuing to choose the short term easy route, we are
creating needless complexity, where unncessary amounts of code have to deal
with DPI and pixelsize.

I don't believe there is anything inevitable about having all drawing
code know about DPI and pixelsize. OSX Cocoa APIs pretty successfully hide
these details from all code that doesn't care about them by using a virtual
coordinate space. AFAIK, it's an easy but larger refactor to abstract DPI
and pixelsize behind drawing and drawing-setup abstractions -- freeign
future programmers from having to think about it.

Rather than debating what is possible though, perhaps I can rephrase this
as a more practical question When might be a good time to consider
such a large-but-easy refactor patch, given GSOC branch merging and other
such things?  I'd personally like to make this patch and show how it would
work, but there is no hurry, as it's going to be a while before I
understand blender code enough anyhow.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Blender roadmap article on code blog

2013-06-29 Thread David Jeske
On Sat, Jun 29, 2013 at 7:41 AM, Ton Roosendaal t...@blender.org wrote:

  1) Include opt-in usage and automatic crash reporting in *every* blender
  build, and a web dashboard to live usage/crash stats to devs and the
  community.

 I always wondered what other projects/companies do with such reports. Is
 there a public example where I can see the handling of such report logging,
 with evidence for how this is being used well, the benefits? Or is it just
 for statistics?


I'm not aware of anyone who publishes information about how much their own
software crashes, this would probably be very hard to manage PR on.

I will say that at the large well known companies I've worked for, we
tracked and graphed usage, error, and performance stats for nearly-all
server-side and most client side software (opt-in on the client side).

When the graphs all look good they are not used much, but when odd things
start happening, the graphs are often the only way to know something is
going wrong. It also helps avoid bad priorities, because the data is more
statistically relevant than one person telling you XYZ when there are
thousands or millions of users.

As for the detailed crash dumps, and stack backtraces.. The utility of
these is very related to how much correlation there is between the stack
and the actual bug. Parasitic memory-stomp bugs can't be found with these
reports. However, many other types of bugs become quite obvious by
correlating the stacks and looking at a few user-written descriptions. I
have more personal experience with this for server-side than client-side,
but then I have been more involved with server-side than client-side
development.

The real kicker is, IMO, usage, crash, and performance reporting has more
value for the application than ANY other similar amount of feature work --
because it tracks activity of all code. Reliability and Performance are two
of software's most important features, so it is very useful to pay
attention to them.

Solutions for having tracking/compositing/sequencer work together are there
 too. What I'd like to explore is some kindof image-depsgraph. A user then
 can manage image dependencies in Blender like: render to image, which gets
 used as a texture in other render, which goes to compositor, which goes
 into a VSE, etc etc.


That's an excellent vision. It feels very much like blender as an art
build pipeline. AFAIK, big shops setup that kind of stuff with builds and
scripts. Doing it inside blender could have a bunch of great advantages (a)
interactivity, (b) easier sharing, (c) more accessible to artists who are
not programmers... among others..
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Blender roadmap article on code blog

2013-06-29 Thread Jed
Campbell Barton wrote
 theres not much incentive to
 rewrite - only for the sake of cleaner code.

I totally understand and wouldn't argue they should be, never touch a
working system and all that. Having the TODO make pep 8 compliant comment
in the header is also a good hint that they are perhaps not the best
inspiration for new code.


Campbell Barton wrote
 Afraid every time I try do something non-trivial in someone else's
 open-source project (non-blender), its pretty steep learning curve
 too, getting from some template/example code to something useful is
 just tricky and theres so much assumed knowledge about how components
 work together, what kind of patterns your expected to use etc...
 
 ...clip...
 
 For functions local to a file they often aren't commented much. I can
 see why you might like comments here but I would leave this up to the
 author of each script to choose how much to comment internal
 functions, classes etc - rather then defining a policy

As you note, one of the hardest parts of getting your head around a complex,
unfamiliar, code base is figuring out all the unstated assumptions about
component interactions and design patterns. The only way I can do that is by
diving in to the existing production code. Having the API documented is
great but it is no substitute for being able to see how people intimately
familiar with it are using it. Sure I can work out what is going on by
reading the code, but having consumer functions that are using the API well
document goes a long way towards flattening out the learning curve.


David Jeske wrote
 On Fri, Jun 28, 2013 at 1:35 PM, Knapp lt;

 magick.crow@

 gt; wrote:
 I think it would be nice to see a typed scripting option

How about Python Traits? Note I have no idea how difficult it would be to
use Traits as a wrapper for Blender's API, although Enthought does provide a
Traits based wrapper for VTK so I'm sure it would be possible.




--
View this message in context: 
http://blender.45788.x6.nabble.com/Blender-roadmap-article-on-code-blog-tp109587p110358.html
Sent from the Bf-committers mailing list archive at Nabble.com.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] About the location of the Operator panel...

2013-06-29 Thread David Jeske
On Jun 29, 2013 7:01 AM, Ton Roosendaal t...@blender.org wrote:

 If you need to patch design to make it usable, we better go back to look
 at the core design concepts itself.


While the 3 current operator UIs (menu-bar modal text, tools-opperator
panel, and F6 floating panel) are usable.. they don't seem to be part of
any core design concept. They don't even have the same visual style, so
they appear unrealted to each-other for the untrained user.

I saw one ultra-simple blenderartists proposal to merely make them visually
consistent, by simply standardizing on the F6-floating-panel color-theme
(white text on the black background) for all 3. Please forgive my super-bad
mockup... I couldn't find the better looking original mockup. I hope you
get the idea...

http://www.pasteall.org/pic/54578

A slightly larger change, which I personally like, also from blender
artists, is to combine the F6 panel and tools-operator-panel into one
thing In the lower right of 3dview. It would normally show collapsed
with only the current/last operator title. Clicking on it, or pressing F6,
would toggle it open, providing the full operator edit UI.

Again, I couldn't find the original mockups, so I made these really bad
ones... please forgive the bad quality...

http://www.pasteall.org/pic/54573
http://www.pasteall.org/pic/54574

In the case of trigger-buttons like Gaia's property panel button case, or
add-on UI like for cell-fracture http://www.pasteall.org/pic/54579, the
panel could open floating next to the button press and retire to the
lower-right corner after the user stopped interacting with it.

I plan to eventually generate a patch to the second one just to see how it
feels.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Blender roadmap article on code blog

2013-06-29 Thread David Jeske
When I fix bugs in unfamiliar projects, I spend 90% of my time getting it
to build and playing sherlock holmes tracking down weak-linkages like
dynamic-typed variables and weak-linkages (like strings used as enums in C)
-- and 10% of my time actually trying to understand or fix code.

In strong typed code (C, C++, C#, TypeScript, etc) and a modern IDE (Visual
Studio or one of its many clones), that 90% shrinks dramatically, as I can
see, understand, and explore the types of variables immediately. I
hover-over a variable in the IDE it shows the type. I hit goto
declaration it takes me to the type-declaration. No project wide grep or
guessing at the type of that dynamic-typed a paramater.

 How about Python Traits? Note I have no idea how difficult it would be to

 use Traits as a wrapper for Blender's API, although Enthought does
provide a
 Traits based wrapper for VTK so I'm sure it would be possible.

I'm not very familiar with Traits, but from a quick look it appears to be a
run-time assignment validation and format coercion package. It does not
appear to contain any compiled time variable type information, or the
ability to do type-aware code-navigation or completion.
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


[Bf-committers] Community leverage, asset encapsulation (was: Blender Roadmap)

2013-06-29 Thread David Jeske
On Tue, Jun 25, 2013 at 7:19 AM, Campbell Barton ideasma...@gmail.comwrote:

 2) Increase community leverage, sharing, library asset encapsulation --
   more bridges between pro-artists and amateur blender pilots.


 Material-sharing is being figured out. I'd like to be able to enapsulate a
  more complex parameterized block into something with external easy to
 use
  push-buttons...



 +1


Any thoughts on how we might make this work?

Here are some brainstorm thoughts about these two strawman goals..

(a) let [a user] group/encapsulate/re-use/share a 10
  node color-keying setup with an external mask-input,
  key-color-input, and exposed internal RGB curve editor used for
  foreground feather color correction;


A first question is... does this concept of exposing internal node
parameter UI for specific fields, while hiding other internal nodes,
enable an interesting set of reusable compositing node-groups? What might
specific examples be?

 foreground object chrome key with color correction ~ 7 nodes
 vignetting ~4 nodes
...?


 (b) let me wrap up the (scene, model,
  logic, animation, script, and render setup) for a 3d rendered and
  composited video-title-effect which can be used directly from the
  video-sequence-editor with simple animatable fields like color, title
  text, font, position.


This seems like it needs some way to hide scene parts, so the scene
becomes locked and opaque from the outside, except for a set of easy to use
parameters -- which would be shown as easy to use things in the VSE. The
scene(s) might even be hidden from the scene list unless the VSE user
pushes the edit button to customize their internals.

Any other community sharing ideas?

Another one on my list is a bit simpler and related to asset sharing..

(c) create metadata to link the purpose of assets based on compatibility,
and use that meta to make it easier to browse, pick, and load relevant
pieces for a currently active object.  For example, if I want to load
alternate textures for a wagon model my local or a public asset library,
it would be useful to see only textures which have been mapped to fit the
wagon model. Likewise for shape keys, poses, etc..
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Blender roadmap article on code blog

2013-06-29 Thread Jonathan Merritt
I think that you've hit upon two of the important factors here:
  - familiarity
  - discoverability
To which I would also add
  - refactorability (is that a word? :-)

Those familiar with a project might not see the value in strong typing
simply because it doesn't add much to their personal experience.  They have
less need to explore types, usage locations, etc., because they're already
familiar with them.  However, strong typing does add an additional level of
confidence when re-factoring, which can even benefit those who are
intimately familiar with a code base.  Anecdotally, you hear about this
from people who have had to re-factor Python... things like You really
come to appreciate your test suite when refactoring, etc.  The reliance on
test suites arising because many compile-time checks are impossible with
dynamically-typed languages.

Jonathan Merritt.


On Sun, Jun 30, 2013 at 1:13 PM, David Jeske dav...@gmail.com wrote:

 When I fix bugs in unfamiliar projects, I spend 90% of my time getting it
 to build and playing sherlock holmes tracking down weak-linkages like
 dynamic-typed variables and weak-linkages (like strings used as enums in C)
 -- and 10% of my time actually trying to understand or fix code.

 In strong typed code (C, C++, C#, TypeScript, etc) and a modern IDE (Visual
 Studio or one of its many clones), that 90% shrinks dramatically, as I can
 see, understand, and explore the types of variables immediately. I
 hover-over a variable in the IDE it shows the type. I hit goto
 declaration it takes me to the type-declaration. No project wide grep or
 guessing at the type of that dynamic-typed a paramater.

  How about Python Traits? Note I have no idea how difficult it would be to

  use Traits as a wrapper for Blender's API, although Enthought does
 provide a
  Traits based wrapper for VTK so I'm sure it would be possible.

 I'm not very familiar with Traits, but from a quick look it appears to be a
 run-time assignment validation and format coercion package. It does not
 appear to contain any compiled time variable type information, or the
 ability to do type-aware code-navigation or completion.
 ___
 Bf-committers mailing list
 Bf-committers@blender.org
 http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers