{"action":"created","issue":{"url":"https://api.github.com/repos/highfidelity/hifi/issues/14172","repository_url":"https://api.github.com/repos/highfidelity/hifi","labels_url":"https://api.github.com/repos/highfidelity/hifi/issues/14172/labels{/name}","comments_url":"https://api.github.com/repos/highfidelity/hifi/issues/14172/comments","events_url":"https://api.github.com/repos/highfidelity/hifi/issues/14172/events","html_url":"https://github.com/highfidelity/hifi/pull/14172","id":368314442,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIxNTIwNzk2","number":14172,"title":"Entity properties refactor / reorder and merge particle explorer into properties","user":{"login":"dback2","id":31390055,"node_id":"MDQ6VXNlcjMxMzkwMDU1","avatar_url":"https://avatars3.githubusercontent.com/u/31390055?v=4","gravatar_id":"","url":"https://api.github.com/users/dback2","html_url":"https://github.com/dback2","followers_url":"https://api.github.com/users/dback2/followers","following_url":"https://api.github.com/users/dback2/following{/other_user}","gists_url":"https://api.github.com/users/dback2/gists{/gist_id}","starred_url":"https://api.github.com/users/dback2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dback2/subscriptions","organizations_url":"https://api.github.com/users/dback2/orgs","repos_url":"https://api.github.com/users/dback2/repos","events_url":"https://api.github.com/users/dback2/events{/privacy}","received_events_url":"https://api.github.com/users/dback2/received_events","type":"User","site_admin":false},"labels":[{"id":751510477,"node_id":"MDU6TGFiZWw3NTE1MTA0Nzc=","url":"https://api.github.com/repos/highfidelity/hifi/labels/Create","name":"Create","color":"e288db","default":false},{"id":278749229,"node_id":"MDU6TGFiZWwyNzg3NDkyMjk=","url":"https://api.github.com/repos/highfidelity/hifi/labels/Feedback%20Welcome","name":"Feedback Welcome","color":"cafc94","default":false},{"id":461634431,"node_id":"MDU6TGFiZWw0NjE2MzQ0MzE=","url":"https://api.github.com/repos/highfidelity/hifi/labels/HMD%20required","name":"HMD required","color":"d4c5f9","default":false},{"id":733764234,"node_id":"MDU6TGFiZWw3MzM3NjQyMzQ=","url":"https://api.github.com/repos/highfidelity/hifi/labels/Project%20Approved","name":"Project Approved","color":"009800","default":false},{"id":313595519,"node_id":"MDU6TGFiZWwzMTM1OTU1MTk=","url":"https://api.github.com/repos/highfidelity/hifi/labels/QA%20Ready","name":"QA Ready","color":"bfd4f2","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/highfidelity/hifi/milestones/35","html_url":"https://github.com/highfidelity/hifi/milestone/35","labels_url":"https://api.github.com/repos/highfidelity/hifi/milestones/35/labels","id":3290834,"node_id":"MDk6TWlsZXN0b25lMzI5MDgzNA==","number":35,"title":"v0.75.0","description":"","creator":{"login":"conklin94122","id":12115653,"node_id":"MDQ6VXNlcjEyMTE1NjUz","avatar_url":"https://avatars2.githubusercontent.com/u/12115653?v=4","gravatar_id":"","url":"https://api.github.com/users/conklin94122","html_url":"https://github.com/conklin94122","followers_url":"https://api.github.com/users/conklin94122/followers","following_url":"https://api.github.com/users/conklin94122/following{/other_user}","gists_url":"https://api.github.com/users/conklin94122/gists{/gist_id}","starred_url":"https://api.github.com/users/conklin94122/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/conklin94122/subscriptions","organizations_url":"https://api.github.com/users/conklin94122/orgs","repos_url":"https://api.github.com/users/conklin94122/repos","events_url":"https://api.github.com/users/conklin94122/events{/privacy}","received_events_url":"https://api.github.com/users/conklin94122/received_events","type":"User","site_admin":false},"open_issues":13,"closed_issues":88,"state":"open","created_at":"2018-04-23T19:27:18Z","updated_at":"2018-10-24T00:22:17Z","due_on":null,"closed_at":null},"comments":22,"created_at":"2018-10-09T17:21:16Z","updated_at":"2018-10-24T04:33:33Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/highfidelity/hifi/pulls/14172","html_url":"https://github.com/highfidelity/hifi/pull/14172","diff_url":"https://github.com/highfidelity/hifi/pull/14172.diff","patch_url":"https://github.com/highfidelity/hifi/pull/14172.patch"},"body":"Data-driven refactored and reordered entity properties window with particle explorer tab merged into it.\r\n\r\nAddresses:\r\nhttps://highfidelity.manuscript.com/f/cases/19039\r\n\r\nDesign:\r\nhttps://www.figma.com/file/fp0BkWnvm1WSvzWmpqGFcqCO/Properties\r\n\r\n### Design exceptions:\r\nIt is intended that the Properties window does not match the latest visual design style above, and should in fact be generally more in line with the current Properties window style on master. That being said, the order and names of properties should match the above design with the following exceptions:\r\n- \"Ignore IK\" is now \"Follow Controller\"\r\n- Scale is still the way it was before with % number and rescale/reset buttons\r\n- For all entity types the first 5 property boxes should be Name, ID, Description, Parent and Parent Joint Index\r\n- Has Lifetime is a future planned property\r\n- Align with \"Selection To Grid\" and \"All To Grid\" buttons is under Pivot in Spatial section\r\n- Cloneable properties for Lifetime, Limit, Avatar Entity, and Dynamic will still start with \"Clone\"\r\n- \"Collides With\" sub-header will still be above the checkboxes for Static Entities, Kinematic Entities, etc. under Collides\r\n- Property indentations are not included in these changes and will be part of the following style changes\r\n\r\n### Property groups per entity type:\r\n  **No or multiple entities selected:** Base, Spatial, Collision, Behavior, Physics\r\n  **Shape:** Base, Shape (visually part of Base), Spatial, Collision, Behavior, Physics\r\n  **Text:** Base, Text (visually part of Base), Spatial, Collision, Behavior, Physics\r\n  **Zone:** Base, Zone (visually part of Base), Spatial, Collision, Behavior, Physics\r\n  **Model:** Base, Model (visually part of Base), Spatial, Collision, Behavior, Physics\r\n  **Image:** Base, Image (visually part of Base), Spatial, Collision, Behavior, Physics\r\n  **Web:** Base, Web (visually part of Base), Spatial, Collision, Behavior, Physics\r\n  **Light:** Base, Light (visually part of Base), Spatial, Collision, Behavior, Physics\r\n  **Material:** Base, Material (visually part of Base), Spatial, Behavior\r\n  **ParticleEffect:** Base, Particles (visually part of Base), Emit, Size, Color, Alpha, Acceleration, Spin, Constraints, Spatial, Behavior, Physics\r\n\r\nFor all types besides Shape, compare their property groups starting with Spatial to the groups in the Shape Properties design in the above link.\r\n\r\n### Verifying property changes:\r\nWhen verifying any property's functionality, you can compare against behavior on a current master build. Or if you are unsure of anything changing due to changing the property value in the Properties window, then you can query the entity property value directly via the Developer menu > Console. \r\n\r\nTo do that, use the following command in the Console:\r\n_Entities.getEntityProperties(\"entityID\").propertyID_\r\nwhere entityID is the entity ID pasted in from the ID property field. \r\nFor propertyID, this is the propertyID found by searching for the property label in:\r\nhttps://github.com/highfidelity/hifi/blob/45a92fd53745bf961e028cbf6dd9342ca8c1485b/scripts/system/html/js/entityProperties.js\r\nand copying the associated propertyID under the matching property label. If there is also a propertyName value set for that label then use that instead. If you are comparing any of the properties whose propertyID starts with \"collidesWith\" then check with me as they have special behavior.\r\n\r\nFor color properties, you should compare against:\r\n_Entities.getEntityProperties(\"entityID\").propertyID.red\r\nEntities.getEntityProperties(\"entityID\").propertyID.green\r\nEntities.getEntityProperties(\"entityID\").propertyID.blue_\r\nto check their values.\r\n\r\nFor x, y, z or pitch, yaw, roll vector properties you should compare against:\r\n_Entities.getEntityProperties(\"entityID\").propertyID.x\r\nEntities.getEntityProperties(\"entityID\").propertyID.y\r\nEntities.getEntityProperties(\"entityID\").propertyID.z_\r\nand in the case of the following properties, you have to multiply the displayed value by PI / 180 to get the actual value that is being set to the property:\r\nPhysics Group: Angular Velocity\r\nParticle Spin Group: Spin, Spin Spread, Spin Start, Spin Finish\r\nParticle Constraints Group: Horizontal Angle Start, Horizontal Angle Finish, Vertical Angle Start, Vertical Angle Finish\r\n\r\nIf any of the above is unclear please ask me.\r\n\r\n### Test Plan:\r\n\r\n1. Enter Interface in desktop mode\r\n2. Open Create and view the properties tab\r\n3. Verify there is no longer a Particle explorer tab and that it is only Create, Properties, and Grid tabs\r\n4. Verify that without any entity selected that \"No selection\" appears italic at the top left with no icon next to it, and verify all properties are disabled and cleared (except for Scale having default value of 100%)\r\n5. Create or select any Shape entity and verify all properties for Shape match the name and ordering in the design\r\n6. Verify all properties for Shape perform as expected including all Base, Shape, Spatial, Collision, Behavior, Physics group properties (compare against current behavior on master if necessary, or use above suggestion to check the actual set property value on the entity via Console)\r\n7. Verify the ID field is not modifiable\r\n8. Verify User Data works exactly the same as before including the Clear User Data, Save User Data, and Edit as JSON buttons, as well as the Saved! text displaying next to Save button when saving\r\n9. Verify locked and visible checkboxes cause their icon to turn white when checked, and that when locked all properties are disabled with their current values\r\n10. Deselect this entity and verify the Properties window returns to the \"No selection\" state with cleared/disabled properties\r\n11. Select multiple entities of the same type and verify the Properties window is cleared/disabled but that the entity type icon still appears in the top left with (#) of selected entities next to the type name\r\n12. Select multiple entities of different types and verify the Properties window is cleared/disabled but that the entity type appears as Multiple with (#) of selected entities next it\r\n13. Create or select any Zone entity and verify all properties for Zone match the name and ordering in the design\r\n14. Verify all properties for Zone in the Base section perform as expected (compare against current behavior on master if necessary, or use above suggestion to check the set property value on the entity via Console). It is intended here that the sliders now follow the same style as the sliders from the old Particle Explorer tab and not the previous slider style for these properties.\r\n15. Verify that when choosing On under any of the Zone dropdowns in the Base section that it expands to show the associated property group below it\r\n16. Create or select any Model entity and verify all properties for Model match the name and ordering in the design\r\n17. Verify all properties for Model in the Base section perform as expected (compare against current behavior on master if necessary, or use above suggestion to check the set property value on the entity via Console)\r\n18. Create or select any Material entity and verify all properties for Material match the name and ordering in the design\r\n19. Verify all properties for Material in the Base section perform as expected (compare against current behavior on master if necessary, or use above suggestion to check the set property value on the entity via Console)\r\n20. Verify Material Data works exactly the same as before including the Clear Material Data, Save Material Data, and Edit as JSON buttons, as well as the Saved! text displaying next to Save button when saving\r\n21. Create or select any Web entity and verify all properties for Web match the name and ordering in the design\r\n22. Verify all properties for Web in the Base section perform as expected (compare against current behavior on master if necessary, or use above suggestion to check the set property value on the entity via Console)\r\n23. Create or select any Image entity and verify all properties for Image match the name and ordering in the design\r\n24. Verify all properties for Image in the Base section perform as expected (compare against current behavior on master if necessary, or use above suggestion to check the set property value on the entity via Console)\r\n25. Create or select any Text entity and verify all properties for Text match the name and ordering in the design\r\n26. Verify all properties for Text in the Base section perform as expected (compare against current behavior on master if necessary, or use above suggestion to check the set property value on the entity via Console)\r\n27. Create or select any ParticleEffect entity and verify all properties for ParticleEffect match the name and ordering in the design\r\n28. Verify all properties for ParticleEffect in all sections above Spatial perform as expected (compare against current behavior on master if necessary, or use above suggestion to check the set property value on the entity via Console)\r\n29. Verify the Texture property correctly shows the image for the texture URL, when modifying the URL it changes to a grey checkered box with a broken image link icon in the top left, and when completely deleting the URL it changes to \"No Texture Defined\" \r\n30. Find or create any entity with a server script on it (https://hifi-content.s3.amazonaws.com/davidback/development/flamethrower/flamethrower.json could be imported and used)\r\n31. Verify the entity displays \"Running\" next to Server Script Status and that when clicking the refresh button it goes from \"[ Fetching Status ]\" back to Running. Verify if cutting the whole URL from the Server Script field that it displays \"Not running\" and when pasting it back it displays \"Running\". Verify if writing any invalid text to the Server Script field that the Server Script Status starts as \"Loading\" then displays \"Error loading script\" with a \"Failed to load script (NotFound)\" box underneath.\r\n32. For any entity type except Material, verify that when checking and unchecking Collides that the Collides With group appears underneath Dynamic (including it's sub-header and it's associated 5 checkboxes for colliding with types) as well as the Collision sound URL box. Verify these properties perform as expected if you haven't yet done so above.\r\n33. For any entity type, verify that when checking and unchecking Cloneable that the Cloneable group appears underneath Cloneable (no-subheader but including Clone Lifetime, Clone Limit, Clone Dynamic, and Clone Avatar Entity). Verify these properties perform as expected if you haven't yet done so above.\r\n34. Enter HMD mode and open Create in the tablet\r\n35. Re-run the above tests to verify property name and ordering for each entity type matches the design and matches desktop Create\r\n36. Verify at least one property of each type (checkbox, text, number, slider, vector, color, dropdown, textarea such as user data, and texture in Particles) performs as expected"},"comment":{"url":"https://api.github.com/repos/highfidelity/hifi/issues/comments/432509486","html_url":"https://github.com/highfidelity/hifi/pull/14172#issuecomment-432509486","issue_url":"https://api.github.com/repos/highfidelity/hifi/issues/14172","id":432509486,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMjUwOTQ4Ng==","user":{"login":"hifi-gustavo","id":4554450,"node_id":"MDQ6VXNlcjQ1NTQ0NTA=","avatar_url":"https://avatars0.githubusercontent.com/u/4554450?v=4","gravatar_id":"","url":"https://api.github.com/users/hifi-gustavo","html_url":"https://github.com/hifi-gustavo","followers_url":"https://api.github.com/users/hifi-gustavo/followers","following_url":"https://api.github.com/users/hifi-gustavo/following{/other_user}","gists_url":"https://api.github.com/users/hifi-gustavo/gists{/gist_id}","starred_url":"https://api.github.com/users/hifi-gustavo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hifi-gustavo/subscriptions","organizations_url":"https://api.github.com/users/hifi-gustavo/orgs","repos_url":"https://api.github.com/users/hifi-gustavo/repos","events_url":"https://api.github.com/users/hifi-gustavo/events{/privacy}","received_events_url":"https://api.github.com/users/hifi-gustavo/received_events","type":"User","site_admin":false},"created_at":"2018-10-24T04:33:33Z","updated_at":"2018-10-24T04:33:33Z","author_association":"NONE","body":"Mac OS X build is available at: https://deployment.highfidelity.com/jobs/pr-build/label%3Dmacos/14345/HighFidelity-Beta-PR14172-c7ba386.dmg"}}
{"actor":{"display_login":"hifi-gustavo"}}