v0.3.19

ingelibre/ingetrazov0.3.19Sep 14, 2026by tuxiasumari

Upgrading?

AI Summary

Introduces a major architectural change where the map rotates around the model, not vice versa. Includes alignment tools and UI improvements.

Key Highlights

  • Map rotates around model axes (Project North logic change)
  • Endless model alignment tool
  • Large icons toggle for toolbars
  • Fixed Shift key axis blocking
  • Fixed dashed construction lines rendering

New Features

  • Map rotates around model axes (North field in Terrain/Map panel)
  • Endless model alignment (straightens model to map without changing coordinates)
  • Large icons in toolbars (toggle between 24px and 32px)

Full Release Notes

> **Downloads removed on 2026-09-28.** This version is kept for its history; its installers were withdrawn. Get the current version from the [latest release](https://github.com/ingelibre/ingetrazo/releases/latest).

**El norte del proyecto.** La plaza de Yanque, dibujada a escuadra con los
ejes, se había girado 33,5° como grupo para encajar en el satélite — y las
vistas Frontal, Derecha e Izquierda dejaron de significar nada. Desde esta
versión el modelo se queda en sus ejes y el que gira
es el mapa. Y llegan los tres primeros arreglos de un colaborador externo,
@pacaeiro, con sus issues: el bloqueo de eje con Shift, las guías
punteadas y los iconos grandes.

### Añadido
- **Norte del proyecto: el mapa gira bajo el modelo, no el modelo bajo el
  mapa.** En el panel Terreno/Mapa base, el campo **Norte** dice hacia dónde
  queda el norte verdadero, en grados en sentido horario desde el eje verde
  (0° = el verde apunta al norte; la convención habitual del norte solar). Al cambiarlo giran por debajo el mapa base, el terreno 3D, las
  rutas y puntos importados, la lectura UTM de la barra de estado y el sol
  de las sombras; el modelo no se toca, así que las vistas estándar, los
  bloqueos de eje y el rectángulo siguen a escuadra. Se guarda en el `.igz`
  (clave `north`, solo si no es 0: los documentos y lectores anteriores no
  ven nada nuevo).
- **Enderezar modelo sobre el mapa.** Para un modelo que ya se giró y
  arrastró como grupo para encajar en el sitio: se selecciona ese componente
  y con un botón vuelve a sus propios ejes, el origen pasa a su esquina y el
  ángulo del norte queda calculado, de modo que ningún punto cambia de
  latitud/longitud. Viajan con él los demás grupos, la geometría suelta, las
  cotas, textos, guías, planos de sección, imágenes, rutas y puntos, las
  escenas guardadas y los marcos y cotas ancladas de las láminas. Un paso de
  deshacer. Un modelo inclinado o escalado se rechaza (no hay norte para
  eso); la parte vertical de la colocación se descarta, porque el mapa solo
  puede estar en z = 0.
- **Iconos grandes en las barras** (@pacaeiro, #15): clic derecho sobre una
  barra ▸ «Iconos grandes en las barras» pasa de 24 a 32 px; se recuerda
  entre sesiones y viene apagado.

### Arreglado
- **Shift bloqueaba una dirección torcida** (@pacaeiro, #13): con la
  inferencia de eje activa, Shift capturaba la dirección del cursor —unos
  grados fuera del eje— en vez del eje X, Y o Z exacto. Ahora bloquea el
  eje inferido, conservando el sentido.
- **Las guías de construcción salían a línea llena en vez de punteadas.** La
  Cinta de medir trazaba sus guías continuas, sin su punteado fino. El lápiz siempre fue `Qt.DashLine`: lo que fallaba era la ESCALA.
  Una guía se recorta en `_clip_segment_front` justo delante del plano de la
  cámara (con `w = 1e-3`), de modo que su extremo se proyecta a MILLONES de
  píxeles del origen, y el trazador de trazos de Qt —que trabaja en punto
  fijo— colapsa el patrón a una línea sólida a esa distancia. Medido con una
  sonda sobre un `QOpenGLWidget` real: un segmento de 400 000 px todavía
  puntea (8 huecos), uno de 4 000 000 px sale lleno (0 huecos), y da igual el
  color o el grosor del lápiz. Arreglo: `_clip_pixel_line` recorta el
  segmento —en espacio de píxel, por Liang-Barsky— a la ventana ANTES de
  dibujarlo, de forma que el `drawLine` nunca recibe más que la diagonal de la
  vista y el punteado se conserva; de paso el rasterizador deja de generar
  cientos de miles de trazos que iba a descartar. Vale para las guías
  (`_draw_guides`) y para la línea punteada de inferencia del snap
  (`_draw_snap_indicator`), los dos únicos trazos punteados de extensión
  ilimitada del visor: la caja de selección, los contornos de imagen y los
  planos de sección viven dentro de la pantalla y no sufrían esto.

---
Descargas: Windows (instalador y zip), Linux (AppImage, tarball, Flatpak, snap) y los ejemplos. El repo Flatpak se actualiza a mano tras publicar.

Related Repositories