@liquidcars/atlas 0.1.34 → 0.1.37
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 +23 -6
- package/dist/liquidcars-atlas.js +452 -386
- package/dist/liquidcars-atlas.js.map +1 -1
- package/package.json +1 -1
- package/src/liquidcars-atlas.js +120 -13
package/README.md
CHANGED
|
@@ -54,11 +54,14 @@ También se puede cargar el modelo desde JavaScript:
|
|
|
54
54
|
```js
|
|
55
55
|
const atlas = document.querySelector('liquidcars-atlas');
|
|
56
56
|
atlas.model = model;
|
|
57
|
-
atlas.select('distribution-agreement');
|
|
57
|
+
atlas.select('distribution-agreement'); // selecciona sin mover la cámara
|
|
58
|
+
atlas.focusSelection(); // centra y amplía la selección explícitamente
|
|
59
|
+
atlas.setSelectionNavigation('preserve'); // 'preserve' | 'center' | 'fit'
|
|
58
60
|
atlas.selectRelation(0); // también acepta el id de una relación
|
|
59
61
|
atlas.setRelationMode('all'); // 'all' | 'selected' | 'none'
|
|
60
62
|
atlas.setToolbarVisible(true); // también se puede usar toolbar="on" | "off"
|
|
61
63
|
atlas.setPanelVisible(true); // también se puede usar panel="on" | "off"
|
|
64
|
+
atlas.setItemFacing('camera'); // valor por defecto; usa 'model' para conservar la orientación original
|
|
62
65
|
atlas.zoomIn();
|
|
63
66
|
atlas.zoomOut();
|
|
64
67
|
atlas.panBy(-1.5, 0); // desplazamiento horizontal/vertical en el plano de cámara
|
|
@@ -111,7 +114,7 @@ por lo que una aplicación puede adaptar la apariencia sin modificar el bundle.
|
|
|
111
114
|
Las propiedades `atlas.theme` y `atlas.styles` son alias prácticos de esta configuración.
|
|
112
115
|
|
|
113
116
|
Eventos disponibles: `lc-ready`, `lc-error`, `lc-warning`, `lc-select`, `lc-model-change`,
|
|
114
|
-
`lc-relation-mode`, `lc-focus-change`, `lc-print-ready`, `lc-print-error`,
|
|
117
|
+
`lc-relation-mode`, `lc-item-facing-change`, `lc-focus-change`, `lc-print-ready`, `lc-print-error`,
|
|
115
118
|
`lc-print-restored` y `lc-disconnect`. `lc-select` usa un detalle discriminado:
|
|
116
119
|
las entidades incluyen `{ kind: 'entity', id, entity, source }` y las relaciones
|
|
117
120
|
`{ kind: 'relation', id, index, relation, source }`. Los campos históricos `id`
|
|
@@ -126,6 +129,19 @@ emite `lc-select` con `source: "pointer"`, pero deja la decisión a la página
|
|
|
126
129
|
anfitriona. La API equivalente es `setSelectionMode()` (también disponible
|
|
127
130
|
como `setClickBehavior()`).
|
|
128
131
|
|
|
132
|
+
La selección interna conserva la cámara por defecto. Un doble clic, el botón
|
|
133
|
+
**Enfocar selección** del panel o `focusSelection()` centran y amplían el
|
|
134
|
+
elemento seleccionado. El comportamiento automático puede cambiarse con el
|
|
135
|
+
atributo `selection-navigation="preserve|center|fit"`, mediante
|
|
136
|
+
`setSelectionNavigation()` o declarativamente en el modelo:
|
|
137
|
+
|
|
138
|
+
```yaml
|
|
139
|
+
render:
|
|
140
|
+
navigation:
|
|
141
|
+
onSelect: preserve
|
|
142
|
+
itemFacing: model # opt-out; camera es el valor por defecto
|
|
143
|
+
```
|
|
144
|
+
|
|
129
145
|
## Impresión
|
|
130
146
|
|
|
131
147
|
Atlas prepara automáticamente una representación WYSIWYG al entrar en el modo
|
|
@@ -223,9 +239,10 @@ proporciones canónicas y anchors. Las piezas declarativas admiten primitivas,
|
|
|
223
239
|
posición, rotación, escala, materiales, iconos de texto o emoji e imágenes por
|
|
224
240
|
URL/data URI; los SVG también pueden proporcionarse inline. Para planos con
|
|
225
241
|
imagen, `imageFit` admite `cover`, `contain` y `stretch`. El renderer mantiene Three.js encapsulado para evitar que los packs
|
|
226
|
-
dependan de su versión interna. Las relaciones parten
|
|
227
|
-
|
|
228
|
-
|
|
242
|
+
dependan de su versión interna. Las relaciones parten por defecto de la
|
|
243
|
+
superficie orientada hacia el otro extremo. `anchor: center` conserva el
|
|
244
|
+
comportamiento centrado cuando sea necesario, y `fromAnchor` y `toAnchor`
|
|
245
|
+
permiten elegir puertos explícitos declarados por una geometría.
|
|
229
246
|
|
|
230
247
|
Si un namespace no está registrado, Atlas conserva el modelo renderizable con
|
|
231
248
|
una caja roja de fallback y emite `lc-warning` con el código
|
|
@@ -234,7 +251,7 @@ una caja roja de fallback y emite `lc-warning` con el código
|
|
|
234
251
|
|
|
235
252
|
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.
|
|
236
253
|
|
|
237
|
-
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()`, `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.
|
|
254
|
+
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.
|
|
238
255
|
|
|
239
256
|
Cada cambio del estado vivo emite `lc-container-state-change`. Su detalle contiene
|
|
240
257
|
`openContainers`, `changedContainers`, `changedContainer`, `open` y `source`, de
|