GithubHelp home page GithubHelp logo

Comments (9)

Nyan11 avatar Nyan11 commented on June 3, 2024 1

image

Example of icons

from pyramid.

Nyan11 avatar Nyan11 commented on June 3, 2024

These actions modify the elevation property but not always.

Bloc store the children elements in an ordered collction.

The drawing sequence is done by drawing the element with thehighest elevation.
In case of a conflict, two elements with the same elevation, bloc will draw first the element with the smallest index of the list (i.e. the element added first).

The Pyramid command (Top, Up, Down, Bottom) will try to change the order of the elements in the list to modify the drawing sequence but there are some cases where it also need to change the elevation.

For example:

image

All three squares belong to the same parent.

  • Red has an elevation of 0 and is first in the ordered collection.
  • Blue has an elevation of 1 and is second in the ordered collection.
  • Green has an elevation of 2 and is last in the ordered collection.

If i send the command "send up" to Green, The Green elevation will change from 1 to 2 (To be on the same level as Blue), and will switch it's position with Blue in the collection to be render after Blue.

Personally i found very confusing to have two differents systems to represent the drawing sequence (elevation, and order in the list).

from pyramid.

Nyan11 avatar Nyan11 commented on June 3, 2024

Plus in the example,

If we now use the command "send down" to Green, Green will just swap position with Blue, but keep it's elevation at 2.

We loose the information about the elevation.

from pyramid.

Nyan11 avatar Nyan11 commented on June 3, 2024

I see elevation more has a sort of group of "drawing sequence" and the order in the collection has the "drawing sequence" but it is really confusing.

from pyramid.

labordep avatar labordep commented on June 3, 2024

Thanks @Nyan11 for your feedback. If I understood the "z" order property is different than the "elevation" property which is the order in the child list ?

from pyramid.

Nyan11 avatar Nyan11 commented on June 3, 2024

Z index = BlElevation

The drawing sequence follows the rules:

  1. The children are drawn on top of their parent.

  2. The child with the highest z index (or elevation) is drawn on top of the other children.

  3. If multiples elements have the same z index, then the children index is taken into account.

You have two differents properties to change the drawing sequence:

The elevation (z index or BlElevation) and the index position in the parent's children collection.

from pyramid.

labordep avatar labordep commented on June 3, 2024

Ok great ! So we need to be very clear on what we edit.
First I want to edit the order : this is most basic case (for 2D library): the paint order in a tree branch (parent).
Second, I want to edit the z index, this is most used in 3D library but usefull for us.

The difficulty is to present a clear state of these two property to identity bugs or problems.

from pyramid.

labordep avatar labordep commented on June 3, 2024

If z value = 0: don't cannot display it in the cell.

4 options:

  • Put on background
  • Move backward
  • Move forward
  • Put on foreground

from pyramid.

Nyan11 avatar Nyan11 commented on June 3, 2024

ok with 124

from pyramid.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.