Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Objects panel #6898

Merged
merged 55 commits into from
Sep 27, 2024
Merged

Objects panel #6898

merged 55 commits into from
Sep 27, 2024

Conversation

4ian
Copy link
Owner

@4ian 4ian commented Aug 29, 2024

This is a testing version for the new "objects panel". It it displayed when you select an object and is much faster to use than the existing object editor.

Important

Please read all the "bugs or things yet to address" to fully understand what is not finished yet.

Caution

⚠️ Make multiple backups of your game before opening it and saving it with this version.

Bugs or things yet to address:

  • When you close the modal, all of the collapsed behaviors spring back open again.
  • Changing padding of button does not work (but works when opening/closing the modal).
  • The text "This object has no properties" is shown for Multitouch Joystick child objects: should be hidden.
  • We'll hide the variable search/copy/cut/paste when there are no variables. Decided against this.
  • External tilemaps must be updated to react to changes made in the objects panel. For now, they must be modified through the existing editor.
  • UI fixes to do:
    • Missing labels for Font and other resource pickers.
    • Allow to edit/paste in the resource fields.
    • The arrow in the select list are not always visible
    • The Particle Emitter field that allows to set particles should have a small "♾️" button to enable infinite (instead of manually entering -1)

Limitations:

  • Effects are not shown in the scene editor - this is a feature request for the future.

Missing features:

  • Performance issue because instance rendering were reading from getProperties which is too slow and heavy (because using translations and constructing objects). Replaced by direct JS object usage or C++ methods.
  • 3D cube texture loading. Fixed.
  • Update title
    image
  • Hide advanced properties for object properties + display see more/see less
    • image
  • Display custom objects children.
    • Allow to un/collapse them, collapse them by default.
  • Smaller search field
    image
  • "There are no variables" text for variables.
  • Make each section collapsible
    image
  • Updated design for group titles. Don't display it for instances
    image
    • Ensure we've not broken the quick customization display.
  • Hide "required behavior" with a single choice.

Object adaptation/instance renderer fixes:

  • Sprite object: add properties
    • Button "Edit animations, points and hitboxes"
  • Tiled Sprite. Properties added. Instance renderer updated, ok.
    • Remove Tiled Sprite editor
  • Panel Sprite. Properties added. Instance renderer updated, ok.
    • ⚠️ Fixed crash (in master)
    • Remove Panel Sprite editor
  • 3D Box: properties ok. Instance renderer updated, ok.
  • 3D model: properties ok. Instance renderer updated, ok.
  • Tilemap:
    • ⚠️ fix Cannot read properties of null (reading 'valid') in getOrLoadSimpleTileMap in RenderedSimpleTileMapInstance.updateTileMap when creating a new instance (in master)
    • Button "Edit tileset and collisions". Don't display properties.
    • Instance renderer to update
  • Text object: properties added. Instance renderer updated, ok.
  • Bitmap Text: properties added. Instance renderer updated, ok.
  • BBText: properties added. Instance renderer updated, ok.
  • Text input: properties ok. Instance renderer updated, ok.
  • Video: properties ok. Instance renderer updated, ok.
  • Light: properties ok. Instance renderer updated, ok.
  • Particle Emitter: add properties. Instance renderer updated, ok.
    • Handle changing the type property which impacts the other properties.

    • Add a "Infinite" number field
      image

    • Remove Particle Emitter editor

  • 3D particle emitter: properties ok. Instance renderer updated, ok.
  • Shape painter: properties added. Instance renderer ok because just an icon.
    • Remove editor
  • External Tilemap: update properties group names. Instance renderer to update
  • External Tilemap collision mask: instance renderer to update.
    • ⚠️ fix Cannot read properties of null (reading 'worldTransform') (in master)
  • Spine: updated instance renderer, ok.
    • Update when scale, resource changed
    • Button "Edit animations"

Behaviors adaptation:

  • Physics Engine 2.0: Add groups to properties (and mark some as advanced)
  • Other behaviors: ensure advanced properties are marked as such

Add stories for new "compact" components:

  • Color field stories
  • Text area stories
  • Stories for Toggle field + disabled state
  • Resource field stories

Nice to have:

  • Redesign at some point the variables.

@4ian 4ian force-pushed the feat/object-panel branch 9 times, most recently from d400f80 to c68f113 Compare September 8, 2024 10:38
Extensions/3D/JsExtension.js Show resolved Hide resolved
Extensions/3D/JsExtension.js Show resolved Hide resolved
Extensions/3D/JsExtension.js Show resolved Hide resolved
newIDE/app/src/UI/CompactSearchBar/index.js Outdated Show resolved Hide resolved
newIDE/app/src/Utils/Analytics/EventSender.js Outdated Show resolved Hide resolved
newIDE/app/src/Utils/Behavior.js Outdated Show resolved Hide resolved
newIDE/app/src/VariablesList/VariablesList.js Show resolved Hide resolved
newIDE/app/src/VariablesList/VariablesListToolbar.js Outdated Show resolved Hide resolved
@4ian 4ian merged commit 43f5bd1 into master Sep 27, 2024
5 of 6 checks passed
@4ian 4ian deleted the feat/object-panel branch September 27, 2024 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants