<div dir="ltr">Answers are inlined<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 20, 2014 at 12:30 AM, Jonathan deWerd <span dir="ltr">&lt;<a href="mailto:jjoonathan@gmail.com" target="_blank">jjoonathan@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div class="">On Aug 19, 2014, at 5:30 AM, Sergey Sharybin &lt;<a href="mailto:sergey.vfx@gmail.com" target="_blank">sergey.vfx@gmail.com</a>&gt; wrote:<br>
</div><div><div class=""><br><blockquote type="cite"><div dir="ltr">I&#39;m not really sure why you spent time on adding some new functionality (which is not even documented and in the really questionable way) at the last coding week instead of making sure someone can actually test your work.</div>
</blockquote></div><blockquote type="cite">- What is the whole point of the NURBS UV editor? And when this raised in the project?</blockquote><div>I added the new functionality to make sure people could test my work. Both you and Ton were surprised and displeased when you found that the only way to get trims in Blender was to import a Rhino file. We never made specific plans for how to edit trims in blender but you said (and I agreed) that not being able to do this was &quot;very bad&quot; -- so I dropped what I was doing and prioritized the feature that allowed users to define and edit trims in Blender.</div>
</div></div></blockquote><div><br></div><div>Yes, improving blender itself is much more priority than supporting more formats, especially if you need to improve blender in order to make import to work.</div><div><br></div>
<div>But that doesn&#39;t mean you couldn&#39;t have shared some imported .blend files which demonstrates the progress.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div>It would be nice to have the ability to define and edit trims from the 3D viewer. I sketched out several possible strategies to do this, but they all required nontrivial math that would have taken too long to get working well. The UV Editor is the &quot;minimum viable product&quot; and even so it barely managed to arrive on time. Since the UV Editor is needed both in the big picture (texturing NURBS, editing tessellations, aligning supersurfaces) and in the little picture (I need in-blender trim editing to show off my work) I still think it was a good move. But regardless of whether it was &quot;good,&quot; it was necessary.<br>
</div></div></div></blockquote><div><br></div><div>Texturing NURBS is rather a huge project on it&#39;s own. It&#39;ll touch all the areas starting from the viewport shading ending with making blender renderer and Cycles work with the textured NURBS (currently they only supports generated coordinates). This could be considered into account when making decision about editing trims, but it&#39;s rather well separated project.</div>
<div><br></div><div>And the thing here is, after doing the sketches you shouldn&#39;t have making final decision on your own, but discuss with the mentor at least, making sure all this fits nicely into the pipeline. Plus in such a things artists feedback is really important before doing decisions on how the edit pipeline will work.</div>
<div><br>Adding such a functionality (and even planning to add more stuff) to the Image/UV editor sounds just wrong. But what&#39;s done is done. Just before continuing working in there get the artists feedback.</div><div>
 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div></div><div class=""><blockquote type="cite"><div dir="ltr">Sample .blend files were requested ages ago, but the whole work is still remains a mystery (apart from some screenshots in the wiki which are not so much informative).</div>
</blockquote></div><div>I put a sample .blend file in the wiki last week and importable Rhino files since ~midterm time.</div><div><br></div><div><a href="http://wiki.blender.org/index.php/User:Jjoonathan/NURBS_UVEdit" target="_blank">http://wiki.blender.org/index.php/User:Jjoonathan/NURBS_UVEdit</a>  search for &quot;Sample_trimmed_nurbs.blend&quot;</div>
</div></div></blockquote><div><br></div><div>Cool, raises the tip of the day i bet: link might easily be lost inbetween of loads of images..</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div class=""><blockquote type="cite"><div dir="ltr"><div>- C90 is still not met, you&#39;ve got loads of cases when you mix code and declarations. Here&#39;s the patch for you <a href="http://www.pasteall.org/53523/diff" target="_blank">http://www.pasteall.org/53523/diff</a> (and hey, most of the stuff i already sent to you like 2 weeks ago) </div>

<div>- This is tuesday already, and there&#39;s still C++11 existing in the code (c&#39;mon, it takes 3min to zap it), also there&#39;s still no final summary page.</div></div></blockquote></div><div>Thanks for the patch. The holdup on my end is not fixing the nonconforming C90 and C++11 bits, it&#39;s finding them in such a way that I know I have found all of them. I have put a total of ~2 working days into this task. Clang&#39;s dialect options (e.g. &quot;-ansi&quot;, &quot;-std=c89&quot;, &quot;-std=gnu89&quot;, &quot;-std=c90&quot;, etc) seem to be too strict to compile at all (errors everywhere in blender), too lenient to catch the nonconforming bits, or put out so many warnings that the interesting nonconforming bits are very difficult to find in millions of &quot;extra semicolon&quot;, &quot;comma at end of enum&quot;, etc warnings (officially those are C99 features?). It is a nontrivial task to use GCC because Xcode doesn&#39;t seem to support it and CMake seems to require tweaking to discover the 3rd party GCC installs even for &quot;Unix Makefile&quot; builds (and then gcc complains about the libraries in ../lib). I set up VS2013 on a Windows computer as an alternative but now the computer doesn&#39;t boot (and &quot;automatic repair&quot;, whatever that&#39;s supposed to do, doesn&#39;t work) :/</div>
<div><br></div><div>I did manage to get Clang to emit useful errors for C89 violations. I have not managed to get it to emit useful C++98 violations. If I can&#39;t get it working in a few hours I&#39;ll try the buildbots.</div>
</div></div></blockquote><div><br></div><div>Again, you shouldn&#39;t have wasted time on this, but ask folks around in IRC. We&#39;ve got quite reasonable amount of devs who uses windows and don&#39;t have issues detecting C90 violations. My best guess would be that installing mingw is rather really easy and it&#39;ll compile minimal subset of blender (you don&#39;t need osl and such) making you able to find the issues. Also bet msvc could be configured in the way that will at least generate the warning when mixing code and declarations.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div class=""><blockquote type="cite"><div dir="ltr"><div>- It&#39;s too early to prepare patch for the review, the branch is to be cleaned up.</div>
</div></blockquote></div><div>Yes. Now that the NURBS UV Editor (&quot;Trim Editor&quot;?) has reached minimum-viable-product status I will focus on cleanup.</div></div></div></blockquote><div><br></div><div>Wrapping trim editing is for sure crucial, also requires loads of user feedback. There are also quite a few of other things to be cleaned up but those are better to be discussed after all the stuff for the evaluatio nare done.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div class=""><blockquote type="cite"><div dir="ltr"><div>Things to be done ASAP:</div>
<div>- Make sure your branch compiles for average artist (my bet is that the proposed patch makes it compilable, but it might be some extra things required)</div></div></blockquote></div><div>I assume this means &quot;builds on Windows/Linux with gcc&quot;. I&#39;ll grab some virtual machines and see what I can do. While those are building, I&#39;ll try the buildbot.</div>
</div></div></blockquote><div><br></div><div>With the patch i&#39;ve provided it should all work. No need to do virtual machines, linux i&#39;ve tested. Windows seems you know that it works. For OSX you can poke someone in IRC. (and yeah, hope you got it -- development is not only about sitting in the cave and coding, but also communicating in IRC).</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div class=""><blockquote type="cite"><div dir="ltr"><div>- Write the final documentation, making sure artists can follow it and see the benefits</div>
</div></blockquote></div><div>In progress.</div></div></div></blockquote><div><br></div><div>Cool. Make it really good documentation, with all the information needed for both artists and developers. Don&#39;t worry about the code yet, better to be around after the evaluation (which is really cool when GSoC student sticks around after the program is over). Then you&#39;ll have enough time to clean all the stuff up making it an ultimate patch.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div class=""><blockquote type="cite"><div dir="ltr"><div>- Prepare sample .blend files which demonstrates the new functionality (which keeps being requested since weeks ago!)</div>
</div></blockquote></div><div>It has been done since weeks ago :P</div></div></div></blockquote><div><br></div><div>Alright, got it. Would check in details tomorrow.</div><div><br></div></div><div><br></div>-- <br><div><span style="color:rgb(102,102,102)">With best regards, Sergey Sharybin</span></div>

</div></div>