ID:2337799
 
Resolved
FLOAT_PLANE didn't work correctly in multiply-nested cases.
BYOND Version:512.1403
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 63.0.3239.84
Applies to:Dream Seeker
Status: Resolved (512.1404)

This issue has been resolved.
Descriptive Problem Summary:

When an object with FLOAT_PLANE/FLOAT_LAYER is added to the vis_contents of an object with FLOAT_PLANE/FLOAT_LAYER, which is in the vis_contents of an object with a specific plane/layer, the floating behavior does not conform to the top-level object's plane/layer as one would expect.

This causes components of components to become mislayered when rendered.

Object A has layer of 1, and plane of 2.

Object B has layer of FLOAT_LAYER, and plane of FLOAT_PLANE.

Object C has layer of FLOAT_LAYER, and plane of FLOAT_PLANE.

They are nested via vis contents:

A{B{C}}

A renders properly.

B renders properly.

C renders beneath A.


One would expect, that C would use A's layer/plane for rendering, given that C is inside of B, which defers to A for layer/plane. Instead, FLOAT_LAYER/FLOAT_PLANE only attempt to look to the parent for layering, rather than the last explicit plane/layer being carried down the visual hierarchy, which in my opinion, would be the correct behavior.
Man, that's a weird one. I know that Unfloat() isn't called until the top parent returns, so this is kinda baffling. Maybe it has something to do with two successive inherited FLOAT_PLANEs.

If by any chance you can whip up a quick demo that would be helpful. I can investigate myself in a test project if not though.
Lummox JR resolved issue with message:
FLOAT_PLANE didn't work correctly in multiply-nested cases.