vis-core 0.33.5 → 0.33.6

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 ADDED
@@ -0,0 +1,58 @@
1
+ # vis-core
2
+
3
+ `vis-core` owns scene documents, project material catalogs, map/earth behavior
4
+ and multi-scene navigation. `gl-draw` supplies rendering, native objects,
5
+ resources and snapshot primitives.
6
+
7
+ Use the root for SDK APIs, and `/io` for lightweight document transport:
8
+
9
+ ```ts
10
+ import {
11
+ SceneManager,
12
+ splitSceneDocument,
13
+ materialDocumentOperations,
14
+ duplicateSceneDocument,
15
+ editorObjects,
16
+ findAdcodeInfo,
17
+ type VisSceneDocument,
18
+ type MaterialAsset,
19
+ } from 'vis-core';
20
+ import { jsonFetch } from 'vis-core/io';
21
+ ```
22
+
23
+ | Entry | Responsibility |
24
+ | --- | --- |
25
+ | `vis-core` | Scene runtime, documents, material catalogs, editing operations, object registries, THREE/TWEEN and version |
26
+ | `vis-core/io` | JSON/GZip transport and request-cache options without renderer dependencies |
27
+
28
+ The former `/document`, `/materials`, `/operations` and `/editor` entries have
29
+ been merged into `vis-core`. Update their import paths to the root, including
30
+ type imports. Their named exports and behavior are retained; the old subpaths
31
+ are no longer exported. Base, Map, Earth and PlaneMap remain public types.
32
+ SceneManager continues to create and own scene instances.
33
+
34
+ The release contains two JavaScript entries, one shared transport chunk and two
35
+ bundled declaration files. The main entry retains bundled Three.js and gl-draw.
36
+ Runtime and editor APIs share one declaration bundle, including classes with
37
+ private members. Consumers can use strict NodeNext or Bundler resolution without
38
+ source aliases or `skipLibCheck`.
39
+
40
+ Only the two declared package entries are public. Source/build paths and aliases
41
+ such as `@sdk` and `@vis` are internal. Local source integration only needs aliases
42
+ for `vis-core` and `vis-core/io`.
43
+
44
+ Implementation modules stay grouped under `src/sdk/document`, `materials`,
45
+ `vis/sceneManager`, `vis/map`, `vis/base`, `vis/earth` and object directories.
46
+ They import concrete lower-level modules instead of their package root. The
47
+ internal `sceneDocument.ts` and `materials/projectMaterials.ts` facades remain
48
+ for SDK code; they are not additional package entries.
49
+
50
+ SceneManager owns navigation cancellation, transactions and disposal. Map owns
51
+ region rebuilding and Base lifecycle. See `src/sdk/vis/LIFECYCLE.md` for resource
52
+ ownership and commit/rollback rules.
53
+
54
+ Run `pnpm --filter vis-core test` for unit regressions and
55
+ `pnpm --filter vis-core test:dist` for release checks. Those tests install only
56
+ `package.json` and `dist` into an isolated consumer, check the complete public
57
+ API, shared types/runtime identities and private paths, and compile strict
58
+ NodeNext/Bundler consumers. They also verify that `/io` stays renderer-free.