decentraland / cli

💻 Decentraland command-line interface
https://docs.decentraland.org
Apache License 2.0
69 stars 61 forks source link

Deployments that overlap previous scenes have various unexpected results #354

Open cfravel opened 5 years ago

cfravel commented 5 years ago

--- Summary Sometimes content does not get replaced when expected Sometimes overlaps don't issue a warning Sometimes old content reappears Detailed steps provided, and a zip is attached containing all of the test scenes

--- Environment Windows 10 CLI 2.0.1-20190111190610.commit-547cd83 https://client.decentraland.today/?position=58%2C147

--- Scenes used in these tests: Scene A: an 8-parcel "donut" with SW/base parcel at 57,147
(a nine parcel square with missing central parcel) It has a standard static boilerplate in the 57,147 parcel, the other 7 parcels are empty.

Scene B: a 1-parcel "donut hole" at 58,148. Static boilerplate, but the sphere is blue

Scene C: a 9 parcel square (donut+hole) deployed at 57,147. ' Standard static boilerplate in 57,147 but the ball is dark red/brown, and there is a bright green sphere in 58,148

Scene D1: a 4-parcel scene with 4 instances of the static boiler plate, SW/base parcel is at 58,149 but each parcel also has a lowpoly mesh gltf-embedded big number (1, 2, 3, 4) this scene is organized with having 4 "entity" tags wrapping each of the parcels' contents.

Scene D2: same as D1 but deployed with its SW/base parcel at 56,147

--- Steps to reproduce

  1. Deploy A: success (you can upload a donut)

  2. Deploy B: success, (you can place a scene into a donut hole)

  3. Deploy D1: warns about overlap. Yes, replace. // Is this normal: the content in the sw parcel of A didn't disappear.
    // That is a parcel in an overlapping scene, but that particular parcel isn't part of the overlap.

  4. Deploy C (9 parcel scene that replaces both A and B). Warns about overlap. // As expected, the dark red and green balls appear, and the donut hole content with the blue sphere disappears.

  5. Deploy B (to replace the "hole" of scene C. I don't recall whether it warned of overlap. // Unexpected: Scene B (blue ball etc does NOT replace the green ball of Scene C // This is probably a bug.

  6. Deploy D2 // it shows up, replacing the red ball etc of C // green ball is still present in 58,148 // It seems that generally replacements happen on a parcel by parcel basis, an overlapping scene does not replace all of the old scene.

  7. Deploy A (donut), overlapping with D2.
    // Unexpected: no warning of overlap // Unexpected: Its content at 57,147 does not replace the content in that parcel from D2 // Unexpected: the blue ball from B shows up again! (the hole in A allows some old content to reappear) this is probably a bug.

cfravel commented 5 years ago

I attach a zip of all of the scenes. Issue-354-material.zip Do note that scenes D1 and D2 are organized with four entity "containers" in the static xml And Scene D materials were uploaded at two different locations during the testing.

twaldorf commented 5 years ago

deploy diagram @cfravel does this diagram match your description, where the bordered empty boxes represent scenes that should be present in a particular deploy but are not?

fmiras commented 5 years ago

cc @m-sossich

menduz commented 5 years ago

quick comment, if you deploy a scene of 3x3 (9 in total), then you deploy a scene that overlaps one of those scenes, that initial 9-land parcel won't work anymore in the client. Also the scene will keep having all the 9 parcels in the scene.json

twaldorf commented 5 years ago

How detailed can we make the message in #366 ? We should detail which scene titles are breaking if possible.

Deploying this scene will override and break the overlapping scene(s): 'scene-title-1', 'scene-title-2', 'scene-title-3'

fmiras commented 5 years ago

TODO: test and see that this is still happening and if so, move the issue to client repo

cfravel commented 5 years ago
  1. @menduz My tests and assumptions assume that the scene.json has the correct parcels for the new scenes each time.

  2. @twaldorf those test cases look almost right to me (from my memory of how it all occurs) except in the next to last one, D2, because it might in that case still only show the yellow C scene, or it might show D2 and none of C any more. (And I have a hunch that which way is which has to do with the orienation of these pieces in X and Y, as if it perhaps does something like scans parcels/scenes in increasing X and Y order or something.