@liquidcars/atlas 0.1.30 → 0.1.31
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 +13 -2
- package/dist/liquidcars-atlas.js +497 -397
- package/dist/liquidcars-atlas.js.map +1 -1
- package/package.json +1 -1
- package/src/liquidcars-atlas.js +164 -15
package/README.md
CHANGED
|
@@ -100,7 +100,7 @@ por lo que una aplicación puede adaptar la apariencia sin modificar el bundle.
|
|
|
100
100
|
Las propiedades `atlas.theme` y `atlas.styles` son alias prácticos de esta configuración.
|
|
101
101
|
|
|
102
102
|
Eventos disponibles: `lc-ready`, `lc-error`, `lc-warning`, `lc-select`, `lc-model-change`,
|
|
103
|
-
`lc-relation-mode` y `lc-disconnect`. `lc-select` usa un detalle discriminado:
|
|
103
|
+
`lc-relation-mode`, `lc-focus-change` y `lc-disconnect`. `lc-select` usa un detalle discriminado:
|
|
104
104
|
las entidades incluyen `{ kind: 'entity', id, entity, source }` y las relaciones
|
|
105
105
|
`{ kind: 'relation', id, index, relation, source }`. Los campos históricos `id`
|
|
106
106
|
y `entity` se conservan para las selecciones de entidad. Al volver a la vista
|
|
@@ -119,6 +119,7 @@ como `setClickBehavior()`).
|
|
|
119
119
|
- `palette`: mapa de nombres de color a valores CSS/hex.
|
|
120
120
|
- `theme` (opcional): configuración de `background`, `lighting`, `panel`, `toolbar`, `breadcrumbs`, `hint` y `ui`. `ui` permite mostrar u ocultar `panel`, `toolbar`, `breadcrumbs` y `hint`.
|
|
121
121
|
- `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.
|
|
122
|
+
- `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`).
|
|
122
123
|
- `entities`: objetos con `id`, `name`, `p`, `s`, `c`, `type`, `text` y opcionalmente `parent`, `geometry`, `radius`, `segments`, `frontLabel`, `anchor` y `ports`.
|
|
123
124
|
- `p` es la posición local respecto a `parent`; una entidad sin `parent` usa coordenadas de escena.
|
|
124
125
|
- `s` son dimensiones absolutas locales `[x, y, z]`.
|
|
@@ -200,18 +201,28 @@ una caja roja de fallback y emite `lc-warning` con el código
|
|
|
200
201
|
|
|
201
202
|
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.
|
|
202
203
|
|
|
203
|
-
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()`, `setShellLabels()`, `toggleShellLabels()`, `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.
|
|
204
|
+
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()`, `setShellLabels()`, `toggleShellLabels()`, `setFocusFilter()`, `clearFocusFilter()`, `getFocusedIds()`, `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.
|
|
204
205
|
|
|
205
206
|
Una vista inicial portable puede declararse dentro del modelo:
|
|
206
207
|
|
|
207
208
|
```yaml
|
|
208
209
|
render:
|
|
210
|
+
focus:
|
|
211
|
+
mode: connected
|
|
212
|
+
effect: dim
|
|
213
|
+
layout: preserve
|
|
214
|
+
opacity: 0.12
|
|
209
215
|
camera:
|
|
210
216
|
position: [12.4, 7.2, 18.6]
|
|
211
217
|
target: [0, 1.5, 0]
|
|
212
218
|
zoom: 1.35
|
|
213
219
|
```
|
|
214
220
|
|
|
221
|
+
La API equivalente es `setFocusFilter({ mode, effect, layout, opacity })`.
|
|
222
|
+
`getFocusedIds()` devuelve la selección, sus vecinos directos y los contenedores
|
|
223
|
+
ancestros necesarios. El evento `lc-focus-change` permite que un host conectado a
|
|
224
|
+
`@liquidcars/atlas-layout` recompile una proyección cuando `layout` es `reflow`.
|
|
225
|
+
|
|
215
226
|
`position` y `target` fijan la dirección observada. Cuando existe `zoom`, éste
|
|
216
227
|
prevalece para calcular la distancia final y mantener el encuadre; si se omite,
|
|
217
228
|
Atlas lo deriva de la distancia declarada.
|