@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 +10 -5
- package/dist/liquidcars-atlas.js +279 -238
- package/dist/liquidcars-atlas.js.map +1 -1
- package/package.json +1 -1
- package/src/liquidcars-atlas.js +128 -36
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
|
|
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
|