c5b980b134Refactor hydraulic tank implementation and remove unnecessary UI message boxesMiguel2025-09-12 04:14:20 +0200
baed392d90Enhance TSNet simulation: optimize tank configurations, improve time settings, and extract dynamic tank levels. Update INP generator to utilize real tank data and add methods for tank adapter retrieval.Miguel2025-09-12 02:58:39 +0200
88c8eea35eImplement comprehensive tests and solutions for TSNet division by zero issues, including extraction of results, configuration validation, and timestep stability demonstrations. Added multiple test scripts to ensure robustness and correctness of the simulation, along with detailed documentation of identified problems and their resolutions.Miguel2025-09-12 02:16:27 +0200
1b21f86886Refactor hydraulic components: Enhance UI elements and add flow indicatorsMiguel2025-09-11 14:52:45 +0200
1df7a24140Implement threading optimizations and error handling improvements in MCP server and hydraulic componentsMiguel2025-09-11 10:28:26 +0200
5727c1b376Refactor TSNet test suites and migrate CtrEditor MCP to CPythonMiguel2025-09-11 07:54:52 +0200
55b0767685Add comprehensive test suites for TSNet Phase 2 functionalityMiguel2025-09-10 22:47:07 +0200
d8c03fdc39Refactor project structure and remove unused filesMiguel2025-09-10 11:10:55 +0200
fa637eb323fix: Mejorar la lógica de captura en ScreenshotManager para manejar posiciones relativas y errores de VisualBrushMiguel2025-09-08 22:52:57 +0200
369bcce3d7feat: Implement circular debug log system with pattern matching and statistics retrievalMiguel2025-09-08 22:49:24 +0200
59c1c0cd3eRefactor code structure for improved readability and maintainabilityMiguel2025-09-08 22:10:19 +0200
4ef265705cfeat: Enhance base64 generation logic in ScreenshotManager with conditions and skip reasonsMiguel2025-09-08 21:43:03 +0200
3153f38068Implement ScreenshotManager for enhanced screenshot functionalityMiguel2025-09-08 21:32:04 +0200
181a3db41cImplement Python execution support and enhance hydraulic component managementMiguel2025-09-08 11:52:06 +0200
3c9c0e2479Refactor hydraulic components: Simplify pump and tank logic, remove unused properties, and enhance flow calculationsMiguel2025-09-07 17:06:15 +0200
b39c58e6d6feat: Add three-section tank properties and converters for enhanced fluid managementMiguel2025-09-07 09:19:02 +0200
3635169f86feat: Update simulation speed display in UI for improved user feedbackMiguel2025-09-06 23:17:24 +0200
322d335eddfeat: Add detailed status properties and margin converter for tank sections in hydraulic componentsMiguel2025-09-06 23:09:55 +0200
380fb5ba50refactor: Enhance ucHydTank layout and improve information panel with detailed flow metricsMiguel2025-09-06 22:33:08 +0200
c76e4c1749Remove outdated hydraulic system test scripts and resultsMiguel2025-09-06 22:29:28 +0200
5c03e19207Implementación del sistema de pruebas hidráulicas con timing preciso y generación de resultados en formato JSON. Se agregaron clases para tanques, bombas y tuberías, junto con métodos para gestionar la simulación y realizar pruebas de equilibrio de flujo. Se documentaron resultados de pruebas y se identificaron mejoras necesarias en la visualización de datos. Se creó un resumen completo de las pruebas realizadas y se actualizaron las recomendaciones para futuras mejoras del sistema.Miguel2025-09-06 22:18:26 +0200
10a1617833feat: Implement Debug Console Server for enhanced logging and remote monitoringMiguel2025-09-06 19:49:03 +0200
749f0f7effAdd comprehensive documentation and technical specifications for Hydraulic Simulator and Fluid Management SystemMiguel2025-09-06 19:10:20 +0200
642f4e71ffrefactor: Optimize LLM usage guide for token efficiency and command clarityMiguel2025-09-06 17:54:35 +0200
fd57091d73refactor: Remove connection indicators from hydraulic pipe UIMiguel2025-09-06 17:46:44 +0200
f07e7895f6Add MCP Server and Proxy for CtrEditor with LLM IntegrationMiguel2025-09-06 17:05:59 +0200
04565d21d0Implement NPSH verification system in hydraulic simulationMiguel2025-09-06 10:32:42 +0200
e06efacaafrefactor: Update hydraulic components to implement IHydraulicComponent interfaceMiguel2025-09-06 03:09:09 +0200
e6a8bb8cbefeat: Enhance hydraulic simulation components and integrate new object managementMiguel2025-09-06 02:58:18 +0200
8e6d457047Refactor hydraulic components: Updated osHydPipe and osHydPump to improve code clarity by changing region comments to regular comments. Enhanced osHydTank with a new OnMove method and improved initialization in ucHydTank.xaml. Updated StateSerializer to include default values during serialization.Miguel2025-09-06 00:38:07 +0200
0147e010d3Refactor hydraulic components: Updated osHydPump and added osHydTank class with dynamic level and pressure management. Enhanced XAML for tank visualization and implemented converters for UI binding. Improved error handling in converters and added tests for hydraulic component detection.Miguel2025-09-05 15:41:17 +0200
70bc74fa7dFix hydraulic simulation issues: prevent double registration of objects, correct MaxFlow unit conversion, enable verbose output for debugging, and ensure proper convergence of the hydraulic solver.Miguel2025-09-04 18:52:46 +0200
de4193dee3Add unit test for hydraulic component type assignabilityMiguel2025-09-04 18:25:31 +0200
42c9ab9449Refactor hydraulic components: removed ucPumpExample, added ucHydDischargeTank and ucHydPipe with corresponding logic and XAML. Introduced new converters for UI bindings and created a simple hydraulic system example with testing capabilities.Miguel2025-09-04 17:29:20 +0200
3f21061524Agregada base HidraulicaMiguel2025-09-04 15:14:47 +0200
1e6ad6377eImplementar temporizadores más precisos utilizando System.Timers en MainViewModel y optimizar la lógica de simulación en BEPU para evitar cálculos innecesarios cuando no hay objetos simulables.Miguel2025-09-04 14:16:12 +0200
091170b70dAgregado de NombreCategoria a los osSimulablesMiguel2025-09-04 12:26:24 +0200
6e48539d2eAgregar modo de lectura a ucAnalogTag, permitiendo la lectura condicional del valor. Se implementa la propiedad Read_Mode y se ajusta la lógica de actualización para utilizarla.Miguel2025-09-04 11:59:32 +0200
3fe5b5497fBase antes de agregar logica de HydraulicSimulatorMiguel2025-09-04 11:41:26 +0200
4f2a109332Implementar sistema de persistencia de configuración del entorno de trabajo, incluyendo captura y restauración de estado para el GridSplitter, canvas y actualizaciones 3D. Se añade la clase WorkspaceConfiguration y se actualizan varios archivos para integrar esta funcionalidad.Miguel2025-09-03 20:51:51 +0200
cad650b3d0Mejorar la gestión del foco en la interfaz, evitando interferencias con el PLCControl. Se implementaron verificaciones para forzar actualizaciones de bindings sin robar el foco y se añadió un método para buscar controles padres en el árbol visual.Miguel2025-09-02 18:55:48 +0200
3b953b7998Ajustar parámetros de fricción estática y dinámica en la simulación de botellas, mejorando el comportamiento en situaciones de contacto. Implementar límites de velocidad en el plano XY y corregir la lógica de actualización de posición para evitar elevaciones excesivas.Miguel2025-09-02 12:30:30 +0200
18017db56aSe eliminó el sistema de limitación de fuerzas para contactos múltiples, reemplazándolo por un enfoque de intervención post-solver que mejora el control de velocidades Z y simplifica la lógica de simulación. Se ajustaron los parámetros de fricción y recuperación, optimizando el comportamiento de las botellas en situaciones de contacto. Además, se eliminaron funciones relacionadas con el seguimiento de densidad de contactos, simplificando el código y mejorando la eficiencia del sistema.Miguel2025-07-09 12:05:49 +0200
b44bdc5eceSe implementó un nuevo sistema de limitación de fuerzas para contactos múltiples simultáneos en la simulación de botellas, mejorando la estabilidad y realismo al evitar fuerzas armónicas irreales. Se introdujo un enfoque post-solver para controlar velocidades Z excesivas y se simplificó la lógica de integración de velocidad. Además, se ajustaron los parámetros de fricción y recuperación para optimizar el comportamiento en situaciones de contacto. Se añadieron nuevas funciones para el seguimiento de densidad de contactos y la calibración visual del deslizamiento.Miguel2025-07-09 09:47:39 +0200
6887ede5e0Se realizaron ajustes significativos en la configuración de fricción y recuperación en la simulación de botellas, mejorando la estabilidad y el comportamiento en contactos. Se implementaron nuevas funciones para limitar fuerzas Z y calcular la profundidad de penetración, optimizando la respuesta de las botellas en situaciones de contacto. Además, se ajustaron los parámetros de amortiguamiento y velocidad de separación para lograr un comportamiento más realista en la simulación.Miguel2025-07-08 17:10:44 +0200
62b45ebf1cSe implementaron mejoras en la gestión de imágenes de fondo en el viewport 3D, permitiendo agregar, remover y sincronizar imágenes de fondo con la visualización 3D. Se corrigieron las convenciones de posicionamiento y escalado para asegurar coherencia visual entre el canvas 2D y la representación 3D. Además, se ajustaron los coeficientes de fricción en la simulación de botellas, optimizando el comportamiento en contactos y curvas.Miguel2025-07-06 21:29:53 +0200
f7f49d5df0Se implementó un sistema de fricción dinámica que simula el comportamiento de fricción estática y dinámica en contactos botella-transporte y botella-curva, mejorando el flujo de materiales y reduciendo atascos. Se reemplazó el sistema de presión por un nuevo sistema de calibración visual que permite ajustar las fricciones de cada componente, mostrando el nivel de deslizamiento en las botellas. Además, se realizaron ajustes en la lógica de colisiones y se optimizó la gestión de fricción en la simulación.Miguel2025-07-06 21:07:11 +0200
d1ec7f4d12Se mejoró el sistema de guías curvas para incluir apertura en cono en los extremos, facilitando la entrada y salida de botellas. Se añadió un nuevo parámetro `AnguloAperturaGuias` para ajustar la apertura, optimizando el flujo de materiales. Además, se implementaron nuevas propiedades en `ucBottGenerator` para gestionar la distancia mínima sin botellas y se realizaron ajustes en la lógica de colisiones y visualización en 3D.Miguel2025-07-06 00:07:36 +0200
83fc828a4cSe implementaron mejoras en la visualización y animación de transportes en movimiento, incluyendo un indicador visual que cambia de color según el estado de movimiento. Se añadió un sistema de animaciones automáticas utilizando StoryBoard de WPF, que combina rotación y pulsación de color para los transportes activos. Además, se ajustaron las propiedades de presión en las botellas para mejorar la gestión de fricción y se optimizó la lógica de animación y limpieza de objetos en la simulación.Miguel2025-07-05 20:20:59 +0200
c91b1419b4Se implementó un sistema para controlar la presión y evitar que las botellas floten en la simulación. Ahora, las botellas registran su última altura de contacto con transportes y ajustan su posición Z si no están en contacto durante varios frames. Además, se centraron las botellas en el eje longitudinal de los transportes al entrar en contacto con transportes de frenado. Se añadieron nuevas propiedades en simBotella para gestionar la presión y el estado de contacto.Miguel2025-07-05 18:43:28 +0200
71c08d8047Se ajustaron los coeficientes de fricción y configuraciones de resorte en la simulación de botellas, diferenciando entre transportes con y sin freno. Además, se modificó la visibilidad de triángulos en la visualización 3D, mejorando la iluminación y corrigiendo la creación de mallas continuas a partir de triángulos de BEPU. Se eliminaron métodos obsoletos relacionados con la geometría de curvas, optimizando la lógica de creación de mallas.Miguel2025-07-05 17:53:22 +0200
eb6ed62d5bEliminación del archivo "Memoria de evolución" y cambios en la creación de botellas en la simulación. Se reemplazó el método AddCircle por AddBotella en ucBotella y ucBotellaCuello, y se ajustaron propiedades en simBotella para mejorar la gestión de inercia y fricción. Se eliminaron referencias a barreras físicas en BEPU, optimizando la lógica de colisiones y ajustando parámetros de fricción para mejorar la simulación.Miguel2025-07-05 17:04:39 +0200
de0e3ce5f0Eliminacion de LinearAxisMotor por solo velocity y fricciones normales en los cuerposMiguel2025-07-05 15:24:54 +0200
3eee0e3d9bSe ajustó el coeficiente de fricción en múltiples secciones del archivo BEPU, reduciéndolo de 0.3f a 0.01f para mejorar la simulación de transportes y curvas. Además, se corrigió el acceso al factor de conversión de velocidad, reemplazando la constante por una propiedad estática en simBase. Se eliminaron métodos obsoletos relacionados con la configuración de velocidad en simCurve y simTransporte, optimizando la lógica de actualización de motores.Miguel2025-07-04 23:20:53 +0200
a6cbd8c4abSe realizaron mejoras en la gestión de barreras en el sistema de simulación. Se eliminó la dependencia de cuerpos físicos para las barreras, implementando un sistema de detección basado en RayCast. Se actualizaron los métodos de creación y actualización de barreras, así como su visualización en 3D, optimizando la representación del haz de luz. Además, se simplificó la lógica de detección y se eliminaron métodos obsoletos relacionados con la geometría de barreras.Miguel2025-07-04 22:45:26 +0200
095228144aSe comentaron líneas de depuración en el archivo BEPU para mejorar la legibilidad y evitar la salida innecesaria de información durante la ejecución. Estos cambios no afectan la lógica del programa, pero optimizan el rendimiento al reducir el ruido en los registros de depuración.Miguel2025-07-04 10:20:10 +0200
ab8066d1e8Se añadieron nuevas propiedades y métodos en BEPU para gestionar la velocidad de las curvas en metros por segundo, incluyendo la capacidad de invertir y detener la curva. Se simplificó la lógica de configuración de velocidad y se corrigió el uso de la propiedad SpeedMetersPerSecond en la creación de motores dinámicos. Además, se eliminaron comentarios y código obsoleto, optimizando la estructura del archivo.Miguel2025-07-03 23:50:20 +0200
f431ede7bdSe añadió una referencia al SimulationManagerBEPU en las clases simTransporte y simCurve. Se implementaron nuevos métodos para limpiar restricciones de botellas conectadas antes de eliminar cuerpos y para obtener botellas conectadas a un elemento específico. Además, se simplificó el método RemoverBody y se mejoró la gestión de restricciones internas, optimizando la lógica de eliminación y limpieza de datos.Miguel2025-07-03 23:11:48 +0200
a00183c4f6Se corrigió el factor de conversión de velocidad en BEPU y se simplificó la creación de motores dinámicos, utilizando la dirección tangencial calculada. Se añadió un nuevo límite de distancia para curvas y se implementó la eliminación segura de este límite al remover motores. Además, se optimizó la lógica de actualización de motores, eliminando métodos obsoletos y mejorando la gestión de propiedades internas.Miguel2025-07-03 21:56:25 +0200
ba073a9e80Se simplificó el método RemoverBody en simTransporte y simCurve, confiando en BEPU para la limpieza de constraints. Se implementaron nuevos métodos para la creación y actualización de motores, mejorando la gestión de motores dinámicos. Además, se optimizó la verificación de contacto entre botellas y transportes/curvas, y se introdujo un sistema de eliminación diferida para objetos, mejorando la seguridad y eficiencia del código. Se eliminaron métodos obsoletos relacionados con la depuración de triángulos en BEPU.Miguel2025-07-03 17:47:21 +0200
c1584e8d55Se añadió una nueva librería para la simulación y se realizaron mejoras en la gestión de motores en simTransporte y simCurve. Se unificaron métodos para la creación de motores lineales y angulares, optimizando la lógica de detección de colisiones y la visualización de triángulos en 3D. Además, se corrigieron errores en la extracción de triángulos de BEPU, asegurando que se utilicen coordenadas locales para evitar transformaciones duplicadas. Se implementaron métodos para activar y desactivar el modo de depuración de triángulos, mejorando la experiencia de visualización.Miguel2025-07-03 11:47:09 +0200
501f0ffb9bImplementación de un sistema simplificado para la gestión de motores en simCurve, unificando métodos y eliminando redundancias. Se introdujeron nuevas propiedades para el manejo de motores lineales y angulares, y se mejoró la creación de triángulos en la simulación. Además, se optimizó la visualización 3D extrayendo triángulos reales de BEPU y se añadieron métodos para depuración y verificación de triángulos válidos. Se eliminaron métodos y propiedades obsoletas, mejorando la eficiencia del código.Miguel2025-07-03 01:47:46 +0200
4ff93a5802Antes de cambios en simCurveMiguel2025-07-02 23:39:22 +0200
e38adc9f56Se eliminaron archivos de documentación innecesarios en el proyecto y se realizaron ajustes en la visibilidad de métodos en la clase osBase, cambiando de privado a protegido. Se implementó un nuevo método para verificar las dimensiones de los descartes y se mejoró la lógica de actualización de geometrías en ucDescarte y ucGuia, utilizando un sistema inteligente para optimizar el rendimiento. Además, se corrigieron errores en la conversión de coordenadas y se restauró el factor de conversión de velocidad en BEPU.Miguel2025-07-02 17:19:31 +0200
fd215bc677Intento con LinearAxisMotorMiguel2025-07-02 15:17:50 +0200
3e53a51e8bSe añadió un comando para alternar la actualización 3D en MainViewModel, permitiendo habilitar o deshabilitar esta función para mejorar el rendimiento. Se implementó la lógica correspondiente en la visualización 3D y se eliminaron propiedades redundantes en varias clases, optimizando la gestión de objetos en la simulación.Miguel2025-07-01 23:08:05 +0200
3773da0ee3Se añadió un nuevo manager para la visualización 3D en MainWindow y se conectó con el simulation manager. Además, se implementaron métodos para manejar cambios de posición en ucTransporteCurvaGuias, actualizando la geometría en BEPU y sincronizando con la visualización 3D. Se mejoró la creación de guías desde dos puntos y se corrigieron errores en la actualización de curvas.Miguel2025-07-01 20:02:23 +0200
fbac81ec45Codigo adaptado base aun erroresMiguel2025-07-01 19:47:10 +0200
121e586d53Inicio de Migracion de 2D a 3DMiguel2025-07-01 19:03:06 +0200
2cb90ec2dcSe añadieron configuraciones para Hot Reload en CtrEditor.csproj y se ajustaron las propiedades de depuración en los grupos de configuración. En MainViewModel.cs, se corrigió un error en el tiempo de simulación. En Aether.cs, se implementaron nuevas propiedades y métodos para gestionar la presión entre botellas, mejorando la lógica de colisiones y evitando superposiciones. Estas mejoras optimizan la simulación y la interacción entre objetos.Miguel2025-06-25 13:59:07 +0200
256d86aca5Se realizaron actualizaciones en múltiples clases para mejorar la legibilidad y la organización de las propiedades. Se añadieron nuevos atributos de descripción y nombre en varias clases, como ucBasicExample, ucTransporteCurva, y ucTransporteGuias, facilitando la identificación de los elementos en la interfaz de usuario. Además, se eliminaron archivos innecesarios del proyecto y se ajustaron las categorías de propiedades para una mejor clasificación. Estas mejoras optimizan la experiencia del usuario y la gestión de los objetos en la simulación.Miguel2025-06-24 21:35:17 +0200
3bc314182cSe realizaron mejoras en la clase MainViewModel al agregar espacios en blanco para mejorar la legibilidad. En TagEditorAttribute, se añadieron nuevos atributos y se implementó la lógica para manejar nombres personalizados de propiedades. En UserControlFactory, se optimizó la obtención de nombres de propiedades y se eliminaron espacios en blanco innecesarios. Finalmente, se añadió un atributo Name en ucTransporteTTop para el coeficiente de fricción, mejorando la claridad en la interfaz de usuario.Miguel2025-06-24 17:45:47 +0200
6928088691Se añadieron nuevas propiedades y métodos en el control CircularSegment para gestionar guías visuales, incluyendo la distancia, grosor y color de las guías. Se implementó la lógica para dibujar las guías en el segmento circular, mejorando la visualización y personalización del control.Miguel2025-06-24 17:32:17 +0200
81329e4c09Se añadieron nuevas propiedades y métodos en la clase ucTransporteCurvaGuias para gestionar guías curvas, incluyendo la creación y actualización de segmentos de guías. Se implementaron validaciones para el número de segmentos y se mejoró la lógica de actualización de geometrías al cambiar propiedades relevantes.Miguel2025-06-24 17:07:37 +0200
b6f616f6ccAgregado del control TransportCurva con GuiasMiguel2025-06-24 16:53:03 +0200
1449544d71Se actualizaron las propiedades en las clases osBase, ucCustomImage y ucVMmotorSim para utilizar el nuevo atributo [property: JsonIgnore], mejorando la gestión de la serialización JSON. Además, se ajustó la configuración del serializador en StateSerializer.cs para respetar los atributos JsonIgnore, optimizando la deserialización de objetos.Miguel2025-06-24 11:17:34 +0200
5c2daaeb98Se añadió un estilo global para TreeViewItem en App.xaml para evitar errores de binding. Se actualizaron las referencias de paquetes en CtrEditor.csproj, cambiando la versión de LiveChartsCore.SkiaSharpView.WPF y añadiendo SkiaSharp.Views.WPF. Se mejoró la gestión de carga de imágenes en osBase.cs y ucCustomImage.xaml.cs, implementando un manejo de errores más robusto y estableciendo imágenes por defecto en caso de fallos. Se ajustó el XAML de ucBoolTag para mejorar la conversión de color. Se implementó un convertidor seguro para ImageSource en StateSerializer.cs, mejorando la deserialización de imágenes.Miguel2025-06-24 10:59:58 +0200
3af9ad99d8Se añadió un nuevo parámetro de ángulo en el método CrearAnimacionStoryBoardTrasnporteCircular en la clase osBase, permitiendo ajustar la dirección de la animación según el valor del ángulo. Se actualizaron las llamadas a este método en ucTransporteCurva para incluir el nuevo parámetro, mejorando la lógica de animación en función de la dirección y el ángulo proporcionado.Miguel2025-06-23 23:40:48 +0200
da8d0516cbSe añadió la funcionalidad para crear y actualizar animaciones de transporte circular en la clase osBase y se integró en ucTransporteCurva. Se implementaron métodos para gestionar la dirección de las animaciones y se mejoró la lógica de actualización de geometrías. Además, se realizaron ajustes en el XAML de CircularSegment para incluir un patrón visual en el Path.Miguel2025-06-23 22:10:00 +0200
ac8773ebc7Se realizaron mejoras en la gestión de objetos visuales en la clase ObjectManipulationManager. Se optimizó la lógica para purgar objetos eliminados y se mejoró la rotación de objetos, permitiendo rotaciones en incrementos de 45 grados al mantener presionada la tecla Shift. Además, se ajustaron espacios en blanco y se mejoró la legibilidad del código en varias secciones.Miguel2025-06-23 21:36:53 +0200
75c507be4eSe añadieron nuevas propiedades relacionadas con el encoder en la clase ucVMmotorSim, permitiendo la lectura del valor actual de la posición del encoder y la habilitación de su uso. Se eliminaron instancias innecesarias de Stopwatch en las clases ucEncoderMotor y ucEncoderMotorLineal, optimizando el código. Además, se realizaron ajustes en la interfaz de usuario de ucBoolTag para incluir una opción de visualización de descripción.Miguel2025-06-23 15:29:40 +0200
fefc0a700dSe añadió un nuevo método para verificar si un objeto visual es un hijo visual de otro, mejorando la gestión de transformaciones en la clase osBase. Además, se implementaron mejoras en la obtención de coordenadas de rectángulos, incluyendo validaciones para asegurar que los rectángulos estén cargados y disponibles antes de realizar transformaciones. Se mejoró la lógica de creación de geometría en ucTransporteTTop, asegurando que el layout esté actualizado y manejando excepciones para evitar fallos en la creación de simulaciones.Miguel2025-06-22 16:44:19 +0200
58781c13a3Se implementó una nueva ventana de configuración de escala que permite a los usuarios ajustar la escala de simulación de manera modeless. Se añadió un temporizador para aplicar automáticamente los cambios de escala después de 0.5 segundos. Además, se mejoró la gestión de la escala en el ViewModel principal y se actualizaron los bindings de posición en osBase para asegurar una correcta visualización. Se incluyó un botón de "Aplicar" en la interfaz de usuario para facilitar la aplicación de cambios.Miguel2025-06-18 21:23:39 +0200
b48dbeb76eSe añadió un nuevo método para configurar la escala desde el menú contextual en MainViewModel, permitiendo a los usuarios ajustar la escala de simulación. Se implementó la lógica para detener simulaciones, actualizar la escala en el convertidor de unidades y forzar el redibujo del canvas. Además, se agregó una opción en el menú contextual de MainWindow para acceder a esta funcionalidad. Se mejoró la gestión de bindings de posición y tamaño en osBase para asegurar actualizaciones adecuadas tras cambios de escala.Miguel2025-06-18 19:54:51 +0200
ca70f66ff1Se añadió la funcionalidad para cargar datos de imágenes desde archivos JSON en la clase DatosDeTrabajo, mejorando la gestión de imágenes. Se implementó un nuevo método para obtener configuraciones de serialización JSON y se mejoró la lógica de carga de datos, incluyendo compatibilidad con versiones anteriores. Además, se actualizó el método de obtención de nombres de imágenes en MainViewModel para incluir etiquetas, y se ajustó el convertidor correspondiente en ImageDisplayNameConverter.Miguel2025-06-18 18:55:04 +0200
354b4a8acfSe mejoró la funcionalidad de renombrado de imágenes en la interfaz, integrando un PropertyGrid para editar propiedades de imágenes, incluyendo etiquetas. Se actualizó la lógica para eliminar entradas vacías y se modificó el diseño de la ventana de renombrado para una mejor experiencia de usuario. Además, se implementó un editor de etiquetas que permite gestionar etiquetas de manera más eficiente.Miguel2025-06-18 15:20:26 +0200
909e438f5bSe añadió la capacidad de gestionar datos de imágenes en la clase DatosDeTrabajo, permitiendo la carga de datos desde archivos JSON y la integración con MainViewModel. Se implementó un nuevo método para establecer el ViewModel principal y se mejoró la lógica de renombrado de imágenes en la interfaz de usuario, incluyendo un comando para renombrar imágenes desde el contexto del ListBox. Además, se incorporó un convertidor para mostrar nombres de imágenes personalizados en la interfaz.Miguel2025-06-18 13:40:49 +0200
9b710fcb00Se implementó un sistema para gestionar múltiples ventanas de biblioteca, permitiendo la activación de una ventana existente o la creación de una nueva. Además, se mejoró la lógica de pegado de objetos, integrando la validación del contenido del portapapeles y la capacidad de pegar desde el portapapeles del sistema. Se añadió un método para recargar la imagen actual después de pegar en el proyecto actual, mejorando la experiencia del usuario al gestionar objetos en la biblioteca.Miguel2025-06-18 11:49:22 +0200
c03f6970d8Se añadió la clase LibraryWindowSettings para gestionar la configuración de la ventana de la biblioteca, incluyendo propiedades para dimensiones y posición. Se implementó la persistencia de estas configuraciones al abrir y cerrar la ventana. Además, se mejoró la interfaz de usuario con un TreeView jerárquico para la gestión de bibliotecas y se añadieron comandos para crear y eliminar directorios de bibliotecas. Se implementó la selección múltiple de objetos en la ventana de la biblioteca, mejorando la experiencia del usuario al gestionar objetos.Miguel2025-06-18 02:11:38 +0200
c353f6c6eaSe añadió la funcionalidad de gestión de bibliotecas de objetos en la interfaz de usuario, incluyendo un nuevo comando para abrir la ventana de gestión de bibliotecas. Se incorporó una nueva propiedad en la clase EstadoPersistente para almacenar directorios de bibliotecas y se realizaron mejoras en la estructura del código para una mayor claridad y mantenimiento.Miguel2025-06-18 01:24:28 +0200
67fa5eef3dSe implementó un sistema de filtrado por etiquetas en la interfaz de usuario, permitiendo a los usuarios buscar y seleccionar objetos basados en etiquetas personalizadas. Se añadieron nuevas propiedades y métodos en la clase osBase para gestionar etiquetas, así como mejoras en la lógica de actualización de filtros en función de los objetos disponibles. Además, se realizaron ajustes en la visualización y manejo de los filtros en el control osVisFilter.Miguel2025-06-17 18:38:00 +0200
99248e9112Se implementaron mejoras en la gestión de copias de objetos seleccionados, reutilizando la lógica de duplicación para crear copias serializables. Se agregó manejo de errores al intentar copiar objetos y se implementaron nuevas propiedades en la clase osBase para gestionar el punto de pivote en la rotación. Además, se aseguraron validaciones para evitar diámetros inválidos en la simulación, garantizando un comportamiento más robusto en la manipulación de objetos.Miguel2025-06-17 17:35:35 +0200
f85c707cfcSe añadieron mejoras en la gestión de la manipulación de objetos rotados, incluyendo métodos para adaptar los cursores y el comportamiento de los handles según la rotación del objeto. Se implementó la transformación de cambios del mouse en coordenadas locales para un redimensionamiento más intuitivo. Además, se documentaron las nuevas funcionalidades en la clase ObjectManipulationManager.Miguel2025-06-14 22:48:00 +0200
88e6de77cbSe implementaron métodos para actualizar la posición relativa de los objetos en función de un FramePlate, incluyendo la gestión de la rotación orbital. Se añadieron propiedades para almacenar la posición relativa y el ángulo inicial, y se mejoró la lógica de actualización de posición al cambiar la posición del FramePlate. Además, se implementó un método para recalcular la posición relativa al mover los objetos, asegurando un comportamiento más preciso en la simulación.Miguel2025-06-14 17:07:05 +0200
94b11cf068Se implementó un sistema de gestión de historial de deshacer (undo) en la aplicación, permitiendo capturar y restaurar estados de objetos seleccionados. Se añadieron métodos para limpiar el historial y se mejoró la interfaz de usuario para mostrar información sobre el estado del historial de deshacer. Además, se realizaron ajustes en la lógica de manipulación de objetos para asegurar la correcta captura de estados antes de movimientos y redimensionamientos.Miguel2025-06-14 16:47:25 +0200