[Avances] Semana 11


Avances anteriores

El reporte anterior se puede encontrar en el devlog [Avances] Semana 10

Semana 11

Esta semana se logró avanzar a la versión 0.6.0 del proyecto.

Tareas planeadas:

  • [Límite: S12] Clase de ejemplo
  • [Límite: S12] Desarrollo de módulos

Tareas realizadas:

  • Primera versión de módulos: Se creó una primera versión del sistema de módulos, que permite agregar código y escenas que luego pueden ser utilizadas para extender el programa. Esto permite que el programa sea extensible de forma independiente a la versión que se ocupe del mismo. Los módulos son archivos .pck que están en la subcarpeta mods de la carpeta de datos del usuario. Estos de momento pueden identificarse con una o varias de estas etiquetas, según las funcionalidades que añadan:
    • core: corresponden a funcionalidades relacionadas con las entidades, grupos y widgets, con los que se puede extender una clase. Una clase que haga uso de estas funcionalidades debería declararlo como dependencia (la forma de hacer esto está pendiente aún).
    • player: corresponden a funcionalidades relacionadas con el reproductor. Estos módulos pueden definir pantallas que se añaden al (hasta ahora oculto) panel derecho y que extienden las funcionalidades del reproductor.
    • editor: corresponden a funcionalidades relacionadas con el editor. Estos módulos pueden definir pantallas que se añaden al editor y extienden sus funcionalidades al momento de crear clases.
    • custom: corresponden a funcionalidades que no calzan dentro de las etiquetas anteriores.
  • Módulo de ejemplo: Se desarrolló un módulo de ejemplo para probar las funcionalidades y mostrar el potencial de los módulos. Este módulo añade tres funcionalidades:
    • core: Se añadieron las clases ExampleEntity y ExampleEntityProperty, que se pueden utilizar para extender las clases.
    • editor: Se añadió una pantalla para el editor de entidades, que permite añadir entidades de tipo ExampleEntity a la clase actual. image.png
    • reproductor: Se añadió una pantalla al reproductor de clases, que permite pausar la clase durante 5 minutos para tomar un descanso. image.png
  • Editor y reproductor: El desarrollo de los módulos mostró nuevos bugs en el editor y el reproductor, y cosas que se dejaron inconclusas en las iteraciones anteriores. Todos los bugs encontrados fueron resueltos y se añadieron funcionalidades que estaban pendientes en el editor:
    • Botón de pantalla completa en reproductor no tomaba en cuenta estado del panel derecho, esto se descubrió ahora ya que el panel estaba completamente oculto hasta ahora.
    • Añadir entidades con los editores de entidades no actualizaba la lista de entidades del panel de secciones.
    • Panel de guion recibió dos funcionalidades que estaban pendientes:
      • Se puede crear la lista de secciones y diapositivas de la clase a partir del guion. Esta funcionalidad reemplaza el contenido actual de las secciones y diapositivas, por lo que se muestra un diálogo de confirmación. image.png
      • Se pueden convertir los textos del guion en entidades de tipo TextEntity y añadirlas a las entidades de la clase.

Tareas pendientes:

  • Finalizar la edición de la clase de ejemplo.
  • Crear un menú o botón para cargar módulos en vez de hacerlo de forma automática, y mostrar diálogo con alerta de problemas de seguridad relacionados con los módulos, que el usuario debe aceptar para hacer uso de ellos.
  • Definir sistema de dependencias a módulos o fallback a widgets built-in en caso de no existir el módulo necesario.
  • Configurar el soporte de módulos para ser desactivado por completo en ciertas variantes del programa.

Get POODLE

Leave a comment

Log in with itch.io to leave a comment.