Search

US-12625682-B2 - Methods and systems for automated generation of a user interface

US12625682B2US 12625682 B2US12625682 B2US 12625682B2US-12625682-B2

Abstract

A method and system for automated generation of a user interface that includes one or more components for one or more entities in an entity component system. The method includes receiving one or more data objects for one or more component properties of the one or more components for the user interface; storing the one or more data objects for the one or more component properties in storage; and accessing the one or more data objects from the storage and determining property fields for the user interface corresponding to the one or more data objects using a property fields provider module. The method further includes generating the user interface comprising the one or more components, in an automated manner, based on the property fields corresponding to the one or more data objects.

Inventors

  • Diego Escala
  • Priyeshkumar Wani
  • James Gualtieri

Assignees

  • LEMON INC.

Dates

Publication Date
20260512
Application Date
20230626

Claims (20)

  1. 1 . A method for automated generation of a user interface comprising one or more components for one or more entities in an entity component system, the method comprising: receiving one or more data objects representing one or more component properties of the one or more components for the user interface; storing the one or more data objects for the one or more component properties in storage, wherein storing of the one or more data objects for the one or more component properties comprises registering the one or more data objects with a component registry using a class decorator included in the one or more data objects; accessing the one or more data objects from the storage; determining property fields for the user interface corresponding to the one or more data objects using a property fields provider module, wherein determining the property fields for the user interface comprises: determining a schema of the one or more data objects, the schema comprising one or more user interface attributes derived from the one or more data objects; and translating the schema into the property fields for rendering the user interface; and generating the user interface comprising the one or more components, in an automated manner, based on the property fields corresponding to the one or more data objects.
  2. 2 . The method of claim 1 , wherein the one or more component properties include interactive features of the one or more entities in the entity component system.
  3. 3 . The method of claim 1 , wherein the storage is the component registry.
  4. 4 . The method of claim 1 , wherein the storing of the one or more data objects for the one or more component properties includes accessing the one or more data objects for the one or more component properties through an accessor module.
  5. 5 . The method of claim 1 , wherein the one or more data objects for the one or more component properties includes one or more attributes for one of the one or more component properties.
  6. 6 . The method of claim 1 , wherein the generating of the user interface further includes an automated integration of the one or more component properties as a visual scripting graph such that the one or more component properties are made available as nodes in the visual scripting graph.
  7. 7 . The method of claim 1 , wherein the generating of the user interface includes changing one or more of existing components of the user interface.
  8. 8 . The method of claim 1 , further comprising creating interactive effects for the one or more entities in the entity component system using the one or more components.
  9. 9 . The method of claim 1 , further comprising customizing properties of the one or more components in the user interface.
  10. 10 . The method of claim 1 , wherein the one or more user interface attributes comprises one or more of inspector panels, labels, property names, types, defaults, buttons, or controls.
  11. 11 . A system for automated generation of a user interface having one or more components for one or more entities in an entity component system, the system comprising: a component module configured to receive one or more data objects representing one or more component properties of the one or more components of the user interface; a component registry module configured to receive and/or provide the one or more data objects for the one or more component properties and to register the one or more data objects with a component registry using a class decorator included in the one or more data objects; a property fields provider module configured to access the component registry module, and determine property fields for the user interface corresponding to the one or more data objects, wherein determining the property fields for the user interface comprises: determining a schema of the one or more data objects, the schema comprising one or more user interface attributes derived from the one or more data objects; and translating the schema into the property fields for rendering the user interface; and a rendering module configured to generate the user interface having the one or more components, in an automated manner, based on the property fields corresponding to the one or more data objects.
  12. 12 . The system of claim 11 , wherein the rendering module is configured to determine rendering conditions for one or more existing components of the user interface.
  13. 13 . The system of claim 12 , wherein the property fields provider module is further configured to determine rendering conditions for the one or more data objects for the one or more component properties received from the component module with the one or more existing components of the user interface.
  14. 14 . The system of claim 11 , further comprising at least one of an effects engine or a gaming engine that is configured to access the one or more component properties from the property fields provider module.
  15. 15 . The system of claim 11 , further comprising a visual scripting graph module configured to automatically integrate the one or more component properties of the user interface into a visual scripting graph.
  16. 16 . The system of claim 15 , wherein the visual scripting graph module is further configured to automatically generate context menus for obtaining and setting property values for the one or more component properties in the visual scripting graph and configured such that nodes corresponding to the one or more component properties are available in the visual scripting graph to automate effects features for the one or more entities.
  17. 17 . The system of claim 11 , wherein the one or more component properties include interactive features of the one or more entities in the entity component system.
  18. 18 . A non-transitory computer-readable medium having computer-executable instructions stored thereon that, upon execution, cause one or more processors to perform operations comprising: receiving one or more data objects representing one or more component properties of one or more components for a user interface; storing the one or more data objects for the one or more component properties in storage, wherein storing of the one or more data objects for the one or more component properties comprises registering the one or more data objects with a component registry using a class decorator included in the one or more data objects; accessing the one or more data objects from the storage; determining property fields for the user interface corresponding to the one or more data objects using a property fields provider module, wherein determining the property fields for the user interface comprises: determining a schema of the data objects, the schema comprising one or more user interface attributes derived from the one or more data objects; and translating the schema into the property fields for rendering the user interface; and generating the user interface comprising the one or more components, in an automated manner, based on the property fields corresponding to the one or more data objects.
  19. 19 . The system of claim 11 , wherein the one or more user interface attributes comprises one or more of inspector panels, labels, property names, types, defaults, buttons, or controls.
  20. 20 . The non-transitory computer-readable medium of claim 18 , wherein the one or more user interface attributes comprises one or more of inspector panels, labels, property names, types, defaults, buttons, or controls.

Description

FIELD The embodiments described herein pertain generally to creating user interfaces for an entity component system and component property management. More specifically, the embodiments described herein pertain to methods and systems for automated generation of a user interface or portion thereof such that developers or creators may add, change, or remove one or more entities and/or components in the entity component system and component property management of the added, changed, or removed entities and/or components. BACKGROUND An entity component system or architecture (referred to herein as “entity component system”) may be used in many applications including, but not limited to effects engines or gaming engines for the generation of a virtual reality, augmented reality, and/or gaming environment. The entity component system may include entities that may represent players, characters, buildings, or anything else that may be part of the game, simulation, or augmentation. Each entity may include one or more components that may include properties that modify the behavior of the entity, e.g., an effect that may define or characterize the entity as possessing a particular aspect(s). The behavior of the entity may be changed, for example, by adding or removing components. In order to configure and/or customize the properties of the entities and/or components, code associated with the configuring and/or customizing of the properties needs to be developed for rendering the user interface for use by the user of the application, effects engine, or gaming engine, which may be tedious, repetitive, and error-prone. Moreover, since the code must be developed, the developers or creators of the new entities or components for the entity component system must have coding knowledge, and particularly, front-end coding knowledge so that the user interface has the appropriate appearance to display the component and component properties, allow their editing, and also maintain the state of user controls for usability by the user of the application, effects engine, or gaming engine. SUMMARY Features in the embodiments disclosed herein may provide for the automated generation of the user interface or portion thereof having one or more components and/or property update mechanisms for one or more components, such that the adding, changing, or removal of a component or entity in the entity component system is made easier and less error-prone, e.g., less coding errors and in which no knowledge of front-end development coding is necessary. For example, in an embodiment, the developer or creator of the entity or component does not have to: develop the code to render the user interface or portion thereof and controls for interacting with the component, develop the code for storing and retrieving component properties, or develop the code for sending component property updates. Rather, the developer or creator creates or inputs pure-data representations of the component properties and may register the data-based representation of the component with a component registry. The data-based representation of the component may then be translated, e.g., by a property fields provider module, to determine the property fields for generating the user interface or portion thereof having the components. As such, the embodiments disclosed herein provide for the automated generation of the user interface that a user of the application, effects engine, or gaming engine may use for interacting with the new component or entity, e.g., user interface or portion thereof for modifying or interacting with the component to provide interactive effects in the application, effects engine, or gaming engine. Furthermore, the embodiments disclosed herein provide for the handling of the storage, retrieval, and propagation of component property updates to one or more of the property fields provider module, applications, effects engines, or gaming engines. In one example embodiment, a method for automated generation of a user interface that includes one or more component for one or more entities in an entity component system is provided. The method includes receiving one or more data objects for one or more component properties of the one or more components for the user interface; storing the one or more data objects for the one or more component properties in storage; and accessing the one or more data objects from the storage and determining property fields for the user interface corresponding to the one or more data objects using a property fields provider module. The method further includes generating the user interface comprising the one or more components, in an automated manner, based on the property fields corresponding to the one or more data objects. In an example embodiment, the determining of the property fields for the user interface includes translating the one or more data objects for the one or more components into the property fields for rendering the use