@liquidcars/atlas 0.1.50 → 0.1.52

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
@@ -2,6 +2,12 @@
2
2
 
3
3
  Componente web reutilizable para explorar modelos conceptuales en 3D. El componente lee una isla de datos con `palette`, `entities` y `relations`, resuelve coordenadas relativas mediante `parent` y permite explorar geometrías, contenedores, relaciones animadas y selección contextual.
4
4
 
5
+ Core recibe modelos planos con posiciones `p` relativas al padre y dimensiones `s`.
6
+ La [guía de modelos declarativos y nativos](../../apps/atlas-studio/docs/model-representations.md)
7
+ explica cómo compilar una declaración con `atlas-layout`, cómo conservar coordenadas
8
+ nativas y qué validaciones aplica el formato portable. La tolerancia de la API directa
9
+ de core no sustituye esas validaciones de Studio y Platform.
10
+
5
11
  ## Prueba local
6
12
 
7
13
  Desde la carpeta del paquete:
@@ -292,7 +298,31 @@ terceros una sola vez y cada recurso puede sobrescribir `authors` o `license`.
292
298
  Las piezas declarativas admiten primitivas, posición, rotación, escala,
293
299
  materiales e imágenes por URL/data URI; los SVG también pueden proporcionarse
294
300
  inline. Para planos con imagen, `imageFit` admite `cover`, `contain` y
295
- `stretch`. Desde `0.1.40`, `shape: "svg-extrude"` convierte rutas SVG en una
301
+ `stretch`. `imageBackground` admite `auto`, `light`, `dark`, `transparent` o
302
+ un color CSS. En imágenes transparentes, `auto` escoge blanco o negro a partir
303
+ de la luminancia de los píxeles visibles; en imágenes opacas estima el color de
304
+ fondo a partir del perímetro. Con `contain`, el fondo cubre el plano completo y
305
+ la imagen conserva su proporción. `imagePadding` admite `auto`, `none`,
306
+ `compact`, `roomy` o una fracción numérica entre `0` y `0.24`; el modo
307
+ automático detecta los límites del contenido y reserva una zona segura. La
308
+ pieza `shape: "rounded-frame"` crea un marco con hueco real mediante `size`,
309
+ `innerSize`, `radius` e `innerRadius`. Las URL remotas necesitan CORS para
310
+ convertirse en texturas WebGL.
311
+ Un host que pueda recuperar recursos públicos de forma segura puede evitar esa
312
+ dependencia configurando un resolvedor; este puede devolver `Response`, `Blob`,
313
+ una URL `data:`/`blob:` o una URL alternativa:
314
+
315
+ ```js
316
+ atlas.setImageResolver(async ({ source, signal, geometry, entityId }) =>
317
+ fetch(`/api/image?url=${encodeURIComponent(source)}`, { signal }));
318
+
319
+ // También disponible como valor por defecto para todas las instancias del host.
320
+ LiquidCarsAtlas.setDefaultImageResolver(resolver);
321
+ ```
322
+
323
+ Si el resolvedor falla, Atlas conserva el intento CORS directo y emite
324
+ `IMAGE_LOAD_FAILED` cuando tampoco puede decodificar el recurso. Desde
325
+ `0.1.40`, `shape: "svg-extrude"` convierte rutas SVG en una
296
326
  malla con profundidad real, por lo que una marca puede formar parte del volumen
297
327
  sin convertirse en texto ni en una textura plana:
298
328
 
@@ -396,6 +426,9 @@ npm install ./liquidcars-atlas-0.1.40.tgz
396
426
 
397
427
  ## Estado
398
428
 
429
+ `0.1.52` añade resolución delegable de imágenes remotas, fondos adaptativos,
430
+ padding sensible al contenido y marcos redondeados con hueco real para
431
+ geometrías de medios.
399
432
  `0.1.40` añade SVG extruido nativo para que los geometry packs puedan construir
400
433
  marcas volumétricas a partir de recursos vectoriales sin recurrir a campos de
401
434
  texto. `0.1.39` incorpora metadatos normalizados de autoría, licencia,
@@ -472,3 +505,39 @@ In that fallback, Save opens a picker or downloads a copy because the selected
472
505
  files cannot be written in place.
473
506
  See `examples/hyperlinks` for two linked documents and an external Markdown
474
507
  information file.
508
+
509
+ ### Named models and cloud destinations
510
+
511
+ The optional `model` selector identifies a technical model key within the
512
+ destination document. Titles may change without changing the reference:
513
+
514
+ | Destination | Reference |
515
+ | --- | --- |
516
+ | Current document | `atlas:?model=process` |
517
+ | Local collection | `atlas:actors/dealer.atlas.md?model=inventory` |
518
+ | Current cloud publication | `atlas://cloud/DOCUMENT_ID@published?model=process` |
519
+ | Fixed cloud revision | `atlas://cloud/DOCUMENT_ID@r3?model=process` |
520
+ | Authorized cloud Draft | `atlas://cloud/DOCUMENT_ID@draft?model=process` |
521
+
522
+ Append `#entityId` to select an entity. URI-encode model keys and fragments.
523
+ Omitting `model` uses the destination document's `defaultModel`. A cloud origin
524
+ cannot resolve local document or content paths; a local origin may open cloud
525
+ documents through its host resolver.
526
+
527
+ The exported `atlasReferenceTarget(reference, from)` parses the document kind,
528
+ version and model selector. The resolver may return `context` alongside `uri`
529
+ and `model`; the runtime carries that context in history and navigation events.
530
+ Return a canonical revision URI when resolving `@published` to pin the visit.
531
+ Cloud history visits invoke the resolver again so the host can recheck access.
532
+ The runtime does not grant authorization or contact a cloud deployment itself.
533
+
534
+ Use `setNavigationGuard(async () => { ... })` to finish pending saves before
535
+ navigation. Resolution errors, missing models and missing entity fragments leave
536
+ the origin active. History retains 2D/3D mode, camera, diagram zoom and scroll,
537
+ selection, open containers and filters. Hosts that rebuild the component can use
538
+ `restoreNavigationState(state, { restorePresentation: true })` to restore its
539
+ presentation as well as its history.
540
+
541
+ ## Public model contract
542
+
543
+ `@liquidcars/atlas/model` exports `validateRuntimeModel`, `runtimeModel`, `runtimeSnapshot`, relation normalization and presentation capture without DOM, Three or layout. It validates supplied vectors and hierarchy before core applies defaults. See the [model/document contract](../atlas-layout/spec/ATLAS-MODEL-CONTRACT-v1.md).