@liquidcars/atlas 0.1.42 → 0.1.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -17,7 +17,7 @@ Después abre <http://localhost:4173/> (o <http://localhost:4173/demo/>). La dem
17
17
  ```html
18
18
  <script type="module" src="./dist/liquidcars-atlas.js"></script>
19
19
 
20
- <liquidcars-atlas height="720" relation-mode="selected" shell-labels="on" toolbar="on">
20
+ <liquidcars-atlas height="720" relation-mode="selected" relation-marker="cone" shell-labels="on" toolbar="on">
21
21
  <script type="application/json">
22
22
  {
23
23
  "palette": {
@@ -58,7 +58,8 @@ atlas.select('distribution-agreement'); // selecciona sin mover la cámara
58
58
  atlas.focusSelection(); // centra y amplía la selección explícitamente
59
59
  atlas.setSelectionNavigation('preserve'); // 'preserve' | 'center' | 'fit'
60
60
  atlas.selectRelation(0); // también acepta el id de una relación
61
- atlas.setRelationMode('all'); // 'all' | 'selected' | 'none'
61
+ atlas.setRelationMode('all'); // 'all' | 'selected' | 'callers' | 'called' | 'none'
62
+ atlas.setRelationMarker('cone'); // 'cone' por defecto; 'ring' conserva el indicador clásico
62
63
  atlas.setToolbarVisible(true); // también se puede usar toolbar="on" | "off"
63
64
  atlas.setPanelVisible(true); // también se puede usar panel="on" | "off"
64
65
  atlas.setItemFacing('camera'); // valor por defecto; usa 'model' para conservar la orientación original
@@ -114,7 +115,7 @@ por lo que una aplicación puede adaptar la apariencia sin modificar el bundle.
114
115
  Las propiedades `atlas.theme` y `atlas.styles` son alias prácticos de esta configuración.
115
116
 
116
117
  Eventos disponibles: `lc-ready`, `lc-error`, `lc-warning`, `lc-select`, `lc-model-change`,
117
- `lc-relation-mode`, `lc-item-facing-change`, `lc-focus-change`, `lc-print-ready`, `lc-print-error`,
118
+ `lc-relation-mode`, `lc-relation-marker-change`, `lc-item-facing-change`, `lc-focus-change`, `lc-print-ready`, `lc-print-error`,
118
119
  `lc-print-restored` y `lc-disconnect`. `lc-select` usa un detalle discriminado:
119
120
  las entidades incluyen `{ kind: 'entity', id, entity, source }` y las relaciones
120
121
  `{ kind: 'relation', id, index, relation, source }`. Los campos históricos `id`
@@ -137,6 +138,7 @@ atributo `selection-navigation="preserve|center|fit"`, mediante
137
138
 
138
139
  ```yaml
139
140
  render:
141
+ relationMarker: cone # ring conserva el indicador circular clásico
140
142
  navigation:
141
143
  onSelect: preserve
142
144
  itemFacing: model # opt-out; camera es el valor por defecto
@@ -148,6 +150,8 @@ Atlas prepara automáticamente una representación WYSIWYG al entrar en el modo
148
150
  de impresión del navegador. La captura conserva el ángulo, el zoom, el foco y
149
151
  los objetos visibles, pero omite la toolbar, el panel de información y las
150
152
  indicaciones de interacción. Al terminar se restaura el canvas WebGL.
153
+ Los conos animados indican el sentido incluso en una captura estática. Un
154
+ modelo puede recuperar los aros clásicos con `render.relationMarker: ring`.
151
155
 
152
156
  La misma funcionalidad puede controlarse explícitamente:
153
157
 
@@ -169,6 +173,7 @@ componente aplica `break-inside: avoid` durante la impresión.
169
173
  - `theme` (opcional): configuración de `background`, `lighting`, `panel`, `toolbar`, `breadcrumbs`, `hint` y `ui`. `ui` permite mostrar u ocultar `panel`, `toolbar`, `breadcrumbs` y `hint`.
170
174
  - `render.camera` (opcional): vista inicial con `position`, `target` y `zoom`. Las coordenadas pertenecen al espacio del modelo; `zoom` conserva el encuadre relativo entre tamaños de visor.
171
175
  - `render.focus` (opcional): filtrado visual por selección. `mode` acepta `all` o `connected`, `effect` acepta `dim` o `hide`, y `layout` distingue posiciones estables (`preserve`) de una proyección recompilada (`reflow`).
176
+ - `render.relationMarker` (opcional): forma de los indicadores animados de relación. Admite `cone` (por defecto, conserva el sentido en capturas estáticas) o `ring`.
172
177
  - `style.label.anchor` (opcional): posición predeterminada de las etiquetas de los elementos (`auto`, `top`, `bottom`, `left` o `right`). Si se omite, los elementos usan `bottom`; una entidad puede sobrescribirlo con su propio `style.label.anchor`. Los títulos de contenedores mantienen su colocación automática salvo override explícito.
173
178
  - `entities`: objetos con `id`, `name`, `p`, `s`, `c`, `type`, `text`, `url` y opcionalmente `parent`, `geometry`, `radius`, `segments`, `frontLabel`, `anchor` y `ports`. Un contenedor puede declarar `open: true` para comenzar abierto; el valor predeterminado es cerrado y se omite al serializar. Las URL HTTP(S) se abren en una pestaña nueva desde el panel de información.
174
179
  - `p` es la posición local respecto a `parent`; una entidad sin `parent` usa coordenadas de escena.
@@ -177,7 +182,7 @@ componente aplica `break-inside: avoid` durante la impresión.
177
182
  El campo visual opcional `mode` admite `directed` (por defecto),
178
183
  `bidirectional` y `broken`. En modo bidireccional los indicadores animados
179
184
  circulan en ambos sentidos por el mismo tubo; en modo broken los dos tramos
180
- se sustituyen por un único tubo rojo con tres anillos que vibran localmente,
185
+ se sustituyen por un único tubo rojo con tres indicadores que vibran localmente.
181
186
  distribuidos a lo largo del recorrido.
182
187
 
183
188
  Geometrías incluidas en esta primera versión: `box`, `cylinder`, `sphere`, `cone`, `frustum-cone`, `frustum-pyramid`, `frustum-triangle`, `prism`, `pyramid-square`, `pyramid-triangle`, `octahedron`, `dodecahedron` e `icosahedron`. Las variantes `frustum-*` son sólidos truncados con dos caras finitas paralelas; las dimensiones `s` se aplican sobre su caja final normalizada.
@@ -302,7 +307,7 @@ una caja roja de fallback y emite `lc-warning` con el código
302
307
 
303
308
  La paleta puede cambiarse después de cargar el modelo mediante `atlas.setPalette({ nombre: color })` o asignando `atlas.palette = { ... }`. El cambio actualiza las piezas, aristas y relaciones sin reconstruir el modelo.
304
309
 
305
- Las acciones de navegación y exploración también están disponibles para la página anfitriona: `zoomIn()`, `zoomOut()`, `panBy()`, `panTo()`, `fit()`, `frontView()`, `getCameraView()`, `setCameraView()`, `restoreInitialCamera()`, `setItemFacing()`, `toggleItemFacing()`, `setShellLabels()`, `toggleShellLabels()`, `setPanelVisible()`, `setFocusFilter()`, `clearFocusFilter()`, `getFocusedIds()`, `isContainerOpen()`, `getOpenContainerIds()`, `setContainerOpen()`, `setOpenContainers()`, `toggleContainer()`, `restoreInitialContainerState()`, `openAllContainers()` y `closeAllContainers()`. El usuario puede desplazar la vista con el botón derecho, con `Shift` + arrastre o mediante dos dedos en una pantalla táctil. Así se puede construir una barra de controles propia sin depender de la toolbar interna.
310
+ Las acciones de navegación y exploración también están disponibles para la página anfitriona: `zoomIn()`, `zoomOut()`, `panBy()`, `panTo()`, `fit()`, `frontView()`, `getCameraView()`, `setCameraView()`, `restoreInitialCamera()`, `setRelationMarker()`, `setItemFacing()`, `toggleItemFacing()`, `setShellLabels()`, `toggleShellLabels()`, `setPanelVisible()`, `setFocusFilter()`, `clearFocusFilter()`, `getFocusedIds()`, `isContainerOpen()`, `getOpenContainerIds()`, `setContainerOpen()`, `setOpenContainers()`, `toggleContainer()`, `restoreInitialContainerState()`, `openAllContainers()` y `closeAllContainers()`. El usuario puede desplazar la vista con el botón derecho, con `Shift` + arrastre o mediante dos dedos en una pantalla táctil. Así se puede construir una barra de controles propia sin depender de la toolbar interna.
306
311
 
307
312
  Cada cambio del estado vivo emite `lc-container-state-change`. Su detalle contiene
308
313
  `openContainers`, `changedContainers`, `changedContainer`, `open` y `source`, de