Named Layers Update

Compiling, libraries, modules, coding guidelines and porting

Moderators: jesterKing, stiv

Post Reply
ace1
Posts: 0
Joined: Mon Feb 19, 2007 4:21 am
Location: Miami,Florida
Contact:

Named Layers Update

Post by ace1 »

I've coded a very powerful layer UI for Blender with many new features. I'm humbly requesting the Blender community to test it and give feedback before further coding ensues.The latest build can be downloaded at graphicall.org or the latest update patch (named_layers_update5) can be downloaded in the patch tracker.Dynamic layer allocation and "possibly" outliner tie in is next if I can decipher the outliner codebase. My goal is a solid feature and not a quick hack.

Thanks in advance :D :D :D
DIGIMATOR

alarionfirn
Posts: 0
Joined: Sun Nov 27, 2005 11:04 am

Post by alarionfirn »

Just had a quick go with the new build on graphicall. I think that the need of an overhaul of the way layers work in Blender has been there for a long time. I think you're really on the right track. Don't know on what else I should comment on :) . I guess most users (including myself) appreciate what you've done so far and can't wait to see the patch applied to svn :) .

stiv
Posts: 0
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Post by stiv »

In the meantime, the developers are waiting for some sort of proposal or design document describing where this is all going. Don't misunderstand. I'm a big fan of incremental development, but having a clear view of the project is easier than trying to reverse engineer what is going on from a series of patches. The code comments are not much help. I do like how you have given the patches distinct sequential names.

Another missing bit is some user documentation. You will have to write this eventually anyway. Having some doc or an example .blend with some notes makes it easier to test. Making it easier to test makes it easier to commit.

A good place for the proposal/design document is the blender wiki. If there are problems with where you are going, it is better to work them out in advance.

Yes, doing all this is a pain, but it helps get patches into the main line of development.

ace1
Posts: 0
Joined: Mon Feb 19, 2007 4:21 am
Location: Miami,Florida
Contact:

Post by ace1 »

I forwarded a e-mail to the developers mailing list as to what I did and asked what I needed to do to proceed.A few days later I recieved an e-mail from the developer's mailing list stating that my email was reject as to being posted for the developers to see.The reason was given.The reason,"No Reason" says the email.

I posted to the funboard.All I got was that the developers didn't want to start developing a layer system that they had to piece together incrementally. And basically the overall sentiments were that it's a good idea but not a priority.

So,I decided to write the whole system myself (nothing to piece together).
As far as reverse engineering the patch, I've had to reverse engineer Blender to build the layer system to what is now which is far more powerful than it has ever been.Even at this stage of development, It can compete with high end 3D layer systems and it's not even finished.

It actually uses pieces of code that already exists in Blender with a few tweaks and a few newly coded functions to give the system it's power.
The code was intentionally designed to be non hostile to any of Blender's funtionality.
Basically it's a front end or advanced GUI for Blender's already exisiting system.

The code is quite simple to read and the system is fully backward compatible with .blend files of earlier generations (it's been tested). It's done in Blender's coding style. And unlike most code I've seen in SVN currently as I make compiles, I make sure my code is free of compiler warnings and flags and compiles clean every time.

Writing docs is no problem.Writing code is definitely not a problem.But getting positive help and response has been a problem.
I'm hoping to be able to have at least some diologue with a developer about the feature.There are certain factors concerning the layer system that I would like to dismantle ,redo,or rethink but who do I talk to who has some authority in the matter?

As far as the testing,There is no .blend file that can test a layer system.
A layer system has to be tested and judged on the basis of it's workflow and efficiency. That's what good 3D UI is all about. It's goal is to facilitate an efficient and user friendly workflow. A layer system is a tool of organization. Therefore a person actually has to use it to test it.

All my patch submissions come complete with a description of what I've done and the functions that it is capable of.

Granted, I love Blender.I love what the developers have done with Blender but my code is just sitting and waiting. My work on the system will continue because of the nature of my work in 3D and my workflow needs but I would love the community to benifit as well.

Every project that's being worked on now is being incrementally developed and rethought as coding continues: bmesh,qdune,cloth etc. I'm just another in the line.

Most people talk the talk but don't walk the walk.
I don't talk about good ideas, I try to implement them.
When inventors invent, the usual question that is asked is "do you have a prototype?"

My proposal or prototype is not an idea in a PDF file.My proposal is an actual working feature already capable of doing what it's supposed to do and which can always be improved upon.That's why I always ask for feedback.
Use it and judge it on it's own merit and make an unbiased estimation of matters.With much respect to all the developers, that's all I'm asking.
I want Blender as do you to be the best it can be.
DIGIMATOR

stiv
Posts: 0
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Post by stiv »

ace1 wrote:I forwarded a e-mail to the developers mailing list as to what I did and asked what I needed to do to proceed.A few days later I recieved an e-mail from the developer's mailing list stating that my email was reject as to being posted for the developers to see.The reason was given.The reason,"No Reason" says the email.
Don't know about the reason. We get a few hundred spam posts to that list a week. Posts over 100K or so get help for approval. Overlooking something is easy.

You need to subsribe to the list in order for your posts to go thru. Subscribe first or let the list administrator know your mail did not go thru.

I posted to the funboard.All I got was that the developers didn't want to start developing a layer system that they had to piece together incrementally. And basically the overall sentiments were that it's a good idea but not a priority.
IIRC, Nothing you posted to the funboard described the architecture of what your are doing. That was what we were asking for. You basically stated you had to look at the blender code to understand the layer system, therefore anyone would have to look at your code to understand the architecture of your project. It struck me as childish.

Writing docs is no problem.

A layer system has to be tested and judged on the basis of it's workflow and efficiency. That's what good 3D UI is all about. It's goal is to facilitate an efficient and user friendly workflow. A layer system is a tool of organization. Therefore a person actually has to use it to test it.
So write some docs. Tell us how to use this. Describe the features.

Without some description of how it works and what the features are, we are back to experimenting to find out what you are doing and if it works.

All my patch submissions come complete with a description of what I've done and the functions that it is capable of.
That is good. But due to the incremental nature of the development (not a bad thing!) it is necessary to read thru the whole batch and assemble an idea of the current state. Nowhere is there a description of the final state. Again, the wiki is a good place for this.
Writing code is definitely not a problem.But getting positive help and response has been a problem.
I'm hoping to be able to have at least some diologue with a developer about the feature.There are certain factors concerning the layer system that I would like to dismantle ,redo,or rethink but who do I talk to who has some authority in the matter?
This is the 2nd time we have suggested you write a proposal or architecture document describing your project. What you are doing is more than a quick patch to add a minor feature or bugfix. Sometimes people get the mistaken idea that open source projects are somehow excempt from software development practices.

The current bitmask layer system is deeply embedded in blender. Tell us you how are going to interface with or change it. Tell us about the details:
- do we get an infinite number of layers?
- how do they get named?
- are there limits to the names?
- how does this interact with the existing system?

note: IRC is a good place for real-time discussion and feedback. It does not replace having a written plan, though.
Every project that's being worked on now is being incrementally developed and rethought as coding continues: bmesh,qdune,cloth etc. I'm just another in the line.
Incremental development is good! But you still need a goal and a plan.

Those projects are being developed in svn branches by existing developers. They are much larger in scope and longer term than what you are trying to do, hence they are being done in a branch. The features and architecture have been discussed and debated. The developer(s) will merge them with trunk when they are ready.

All I'm trying to do is suggest how to get your ideas into blender faster. Feel free to sit there and ignore the advice. It will only draw out the process, frustrate you and make our job harder.

ace1
Posts: 0
Joined: Mon Feb 19, 2007 4:21 am
Location: Miami,Florida
Contact:

Post by ace1 »

Now, I have a good idea of what you are looking for.

My layer system could be described as follows:

At the present the layer system that is presently under development
interfaces the present 20 scene layers and the present 16 bone layers.

As far as it's internal acrchitecture, it uses Blender's current button system with it's present bitmasks.That is left intact.

What is it's function:
It gives the total 36(at present) layers the ability to be labeled for easy reference (especially in large projects).Also an additional feature is that the UI enables the user to move objects and bones from layer to layer within the new UI (even with multiple selections). What is more, the new system has the ability to toggle individual scene layers to wireframe mode.That means layer 1 can be viewed as solid,layer 2 can be wireframe,layer3 can be shaded etc. This function was coded with animators in mind to facilitate faster playback when dealing with complex scenes. Also, the draw UI was taken from the constraints panel and integrated into the new scene layers UI for workflow efficiency and to give the new UI more benifit. Each scene layer has a tan button on the right.Those buttons toggle the individual's layer view from whatever it was before to it's individual wireframe mode.

Yet another feature is that individual layers can be toggled on to another even in edit mode(not presently possible in 2.45).Eventually "dynamic allocation" of layers will be added(being able to add and delete layers as needed).But the final UI design is still in flux as workflow considerations are addressed.
A goal is to tie it in with the outliner and to deal with how to identify occupied layers in the layer buttons UI in the 3D header so it won't be so ambiguous as to what's in what. Finally dealing with the present state of bone layers.I my humble opinion the layer system should intergate the 16
into the 20 and just have 36 layers and now that layers can be labeled,there would be no need for bone layers as we know them now.

Maybe if needed,more layers can be added.

I hope this gives you an idea of what I'm doing.
Much love. :D :D
DIGIMATOR

Koba
Posts: 0
Joined: Thu Apr 15, 2004 9:48 am

Post by Koba »

Ah yes!

It has been on the back of my mind for a while now and now I remember! Forgive me if it is already there, but I would love the ability to *lock* layers!

In other words, I would like to display - but prevent myself from accidentally editing - a specified selection layers.

That would be very useful.

Koba

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip »

ace1,

your post did make it through but didn't receive much comment - sometimes everyone happens to be busy and no one comments :)

stivs provides some good advice,

LetterRip

ace1
Posts: 0
Joined: Mon Feb 19, 2007 4:21 am
Location: Miami,Florida
Contact:

Post by ace1 »

I really do appreciate the feedback.Thanks both to Stiv and to you as well. :D :D
DIGIMATOR

shadowman99
Posts: 6
Joined: Wed Oct 16, 2002 3:14 am

Post by shadowman99 »

I would love to see a new layers system utilize either folders or groups. It would be useful for organization in complex scenes.

Also: Why not an unlimited number of layers?

Post Reply