@3driseai/3drise-viewer 0.1.11 → 0.1.12
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/dist/components/volumetricClouds/VolumetricCloudsPass.d.ts.map +1 -1
- package/dist/components/volumetricClouds/VolumetricCloudsPass.js +10 -1
- package/dist/types/cloudConfigs.d.ts +13 -0
- package/dist/types/cloudConfigs.d.ts.map +1 -1
- package/dist/types/cloudConfigs.js +25 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/utils/handleCloudsAnimations.d.ts +12 -1
- package/dist/utils/handleCloudsAnimations.d.ts.map +1 -1
- package/dist/utils/handleCloudsAnimations.js +13 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VolumetricCloudsPass.d.ts","sourceRoot":"","sources":["../../../src/components/volumetricClouds/VolumetricCloudsPass.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEvH,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAErF;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAC/D,6EAA6E;IAC7E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,mBAAmB,CAAC;IAC7B;oDACgD;IAChD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAkBD,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"VolumetricCloudsPass.d.ts","sourceRoot":"","sources":["../../../src/components/volumetricClouds/VolumetricCloudsPass.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEvH,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAErF;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAC/D,6EAA6E;IAC7E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,mBAAmB,CAAC;IAC7B;oDACgD;IAChD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAkBD,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmW7D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -108,6 +108,15 @@ const VolumetricCloudsPass = ({ id = '3drise-clouds', deck, cirrus, quality, thu
|
|
|
108
108
|
// React tree sixty times a second.
|
|
109
109
|
const override = useRef({});
|
|
110
110
|
const startValues = useRef({});
|
|
111
|
+
// When the current animation set started, in ms. calculateTimeProgress divides by
|
|
112
|
+
// duration, so it wants time *since the animation began* — not a wall clock and not
|
|
113
|
+
// seconds. Reset when the animations change so editing one restarts it from the
|
|
114
|
+
// beginning rather than dropping the user somewhere mid-cycle.
|
|
115
|
+
const animStart = useRef(0);
|
|
116
|
+
useEffect(() => {
|
|
117
|
+
animStart.current = performance.now();
|
|
118
|
+
startValues.current = {};
|
|
119
|
+
}, [animations]);
|
|
111
120
|
// Live controller overrides. A slider drag writes here every pointer-move and the
|
|
112
121
|
// frame loop reads it on top of the config, so the deck responds without a Redux
|
|
113
122
|
// dispatch per frame. Cleared when the config identity changes, which is exactly
|
|
@@ -223,7 +232,7 @@ const VolumetricCloudsPass = ({ id = '3drise-clouds', deck, cirrus, quality, thu
|
|
|
223
232
|
// the pointer snapping back to the stored config every frame.
|
|
224
233
|
for (const k in override.current)
|
|
225
234
|
delete override.current[k];
|
|
226
|
-
applyCloudsKeyframeAnimations(animations?.clouds?.animations, startValues.current, deck, override.current,
|
|
235
|
+
applyCloudsKeyframeAnimations(animations?.clouds?.animations, startValues.current, deck, override.current, performance.now() - animStart.current);
|
|
227
236
|
if (mouseMove?.enabled && mouseMove.clouds?.enabled) {
|
|
228
237
|
applyCloudsMouseMove(mouseMove.clouds.properties, deck, override.current, pointer);
|
|
229
238
|
}
|
|
@@ -293,5 +293,18 @@ export declare function normalizeCirrus(raw: unknown): CirrusLayerConfig | null;
|
|
|
293
293
|
* block is absent, because the default is `enabled: false` — nothing appears, and a
|
|
294
294
|
* scene saved before thunder existed simply has it switched off. */
|
|
295
295
|
export declare function normalizeThunder(raw: unknown): ThunderConfig;
|
|
296
|
+
/**
|
|
297
|
+
* A complete settings object from whatever was saved.
|
|
298
|
+
*
|
|
299
|
+
* Use this at the boundary where a stored blob enters the app — the Redux reducer,
|
|
300
|
+
* a project load — so that everything downstream can read `settings.thunder.enabled`
|
|
301
|
+
* without a guard. The per-block normalisers above are for the renderer, which can
|
|
302
|
+
* meaningfully treat an absent block as "draw nothing"; the settings panel cannot,
|
|
303
|
+
* because it has to render a control for it either way.
|
|
304
|
+
*
|
|
305
|
+
* A missing deck becomes a disabled one rather than null, which renders the same
|
|
306
|
+
* nothing while still giving the panel an object to bind to.
|
|
307
|
+
*/
|
|
308
|
+
export declare function normalizeVolumetricClouds(raw: unknown): VolumetricCloudsSettings;
|
|
296
309
|
export declare function normalizeCloudQuality(raw: unknown): CloudsQualityConfig;
|
|
297
310
|
//# sourceMappingURL=cloudConfigs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudConfigs.d.ts","sourceRoot":"","sources":["../../src/types/cloudConfigs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloudConfigs.d.ts","sourceRoot":"","sources":["../../src/types/cloudConfigs.ts"],"names":[],"mappings":"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"}
|
|
@@ -309,6 +309,31 @@ export function normalizeCirrus(raw) {
|
|
|
309
309
|
export function normalizeThunder(raw) {
|
|
310
310
|
return { ...defaultThunderConfig, ...(isRecord(raw) ? raw : {}) };
|
|
311
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* A complete settings object from whatever was saved.
|
|
314
|
+
*
|
|
315
|
+
* Use this at the boundary where a stored blob enters the app — the Redux reducer,
|
|
316
|
+
* a project load — so that everything downstream can read `settings.thunder.enabled`
|
|
317
|
+
* without a guard. The per-block normalisers above are for the renderer, which can
|
|
318
|
+
* meaningfully treat an absent block as "draw nothing"; the settings panel cannot,
|
|
319
|
+
* because it has to render a control for it either way.
|
|
320
|
+
*
|
|
321
|
+
* A missing deck becomes a disabled one rather than null, which renders the same
|
|
322
|
+
* nothing while still giving the panel an object to bind to.
|
|
323
|
+
*/
|
|
324
|
+
export function normalizeVolumetricClouds(raw) {
|
|
325
|
+
const r = (isRecord(raw) ? raw : {});
|
|
326
|
+
return {
|
|
327
|
+
id: typeof r.id === 'string' && r.id ? r.id : defaultVolumetricCloudsSettings.id,
|
|
328
|
+
type: 'clouds',
|
|
329
|
+
config: normalizeCloudDeck(r.config) ?? { ...defaultCumulusConfig, enabled: false },
|
|
330
|
+
cirrus: normalizeCirrus(r.cirrus) ?? { ...defaultCirrusConfig, enabled: false },
|
|
331
|
+
thunder: normalizeThunder(r.thunder),
|
|
332
|
+
quality: normalizeCloudQuality(r.quality),
|
|
333
|
+
animations: r.animations,
|
|
334
|
+
mouseMove: r.mouseMove,
|
|
335
|
+
};
|
|
336
|
+
}
|
|
312
337
|
export function normalizeCloudQuality(raw) {
|
|
313
338
|
return { ...defaultCloudsQuality, ...(isRecord(raw) ? raw : {}) };
|
|
314
339
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export type { AnyGridConfig, CircuitGridConfig, ContourGridConfig, FractalGridCo
|
|
|
3
3
|
export type { CirrusLayerConfig, CloudAnimatableProperty, CloudDeckConfig, CloudDeckSurfaceConfig, CloudDeckType, CloudPropertyGroup, CloudPropertySchema, CloudsQualityConfig, ThunderConfig, VolumetricCloudsSettings, } from './cloudConfigs';
|
|
4
4
|
export type { ProceduralTerrainSettings, TerrainConfig, TerrainPropertyGroup, TerrainPropertySchema, TerrainQualityConfig, TerrainSurfaceConfig, TerrainType, } from './terrainConfigs';
|
|
5
5
|
export { TERRAIN_DEFAULTS, TERRAIN_QUALITY_SCHEMA, TERRAIN_SCHEMA, defaultCanyonConfig, defaultDunesConfig, defaultHillsConfig, defaultMountainsConfig, defaultProceduralTerrainSettings, defaultTerrainQuality, normalizeTerrain, normalizeTerrainQuality, normalizeTerrainSettings, } from './terrainConfigs';
|
|
6
|
-
export { CIRRUS_SCHEMA, CLOUD_ANIMATABLE_PROPERTIES, CLOUD_DECK_DEFAULTS, CLOUD_DECK_SCHEMA, CLOUD_QUALITY_SCHEMA, defaultCirrusConfig, defaultCloudsQuality, defaultCumulonimbusConfig, defaultCumulusConfig, defaultStratocumulusConfig, defaultThunderConfig, defaultVolumetricCloudsSettings, normalizeCirrus, normalizeCloudDeck, normalizeCloudQuality, normalizeThunder, THUNDER_SCHEMA, } from './cloudConfigs';
|
|
6
|
+
export { CIRRUS_SCHEMA, CLOUD_ANIMATABLE_PROPERTIES, CLOUD_DECK_DEFAULTS, CLOUD_DECK_SCHEMA, CLOUD_QUALITY_SCHEMA, defaultCirrusConfig, defaultCloudsQuality, defaultCumulonimbusConfig, defaultCumulusConfig, defaultStratocumulusConfig, defaultThunderConfig, defaultVolumetricCloudsSettings, normalizeCirrus, normalizeCloudDeck, normalizeCloudQuality, normalizeThunder, normalizeVolumetricClouds, THUNDER_SCHEMA, } from './cloudConfigs';
|
|
7
7
|
export type { OceanConfig, OceanMeshSettings, OceanPropertyGroup, OceanPropertySchema, OceanQualityConfig, OceanSurfaceConfig, OceanWaterSettings, ReflectionMode, TerrainInteraction, WaterHost, WaterType, WaveModel, } from './oceanConfigs';
|
|
8
8
|
export { OCEAN_DEFAULTS, OCEAN_QUALITY_SCHEMA, OCEAN_SCHEMA, OBJECT_HOST_OVERRIDES, defaultLakeConfig, defaultOceanQuality, defaultOceanWaterSettings, defaultSeaConfig, defaultShoreConfig, defaultStormConfig, normalizeOcean, normalizeOceanQuality, normalizeOceanSettings, } from './oceanConfigs';
|
|
9
9
|
export type { AutoSplatConfig, HeightEncoding, LandscapeConfig, LandscapeHost, LandscapePropertyGroup, LandscapePropertySchema, LandscapeQualityConfig, LandscapeSettings, LandscapeSurface, SplatSource, } from './landscapeConfigs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,yBAAyB,EACzB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,gCAAgC,EAChC,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,+BAA+B,EAC/B,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,yBAAyB,EACzB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,gCAAgC,EAChC,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,+BAA+B,EAC/B,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { TERRAIN_DEFAULTS, TERRAIN_QUALITY_SCHEMA, TERRAIN_SCHEMA, defaultCanyonConfig, defaultDunesConfig, defaultHillsConfig, defaultMountainsConfig, defaultProceduralTerrainSettings, defaultTerrainQuality, normalizeTerrain, normalizeTerrainQuality, normalizeTerrainSettings, } from './terrainConfigs.js';
|
|
2
|
-
export { CIRRUS_SCHEMA, CLOUD_ANIMATABLE_PROPERTIES, CLOUD_DECK_DEFAULTS, CLOUD_DECK_SCHEMA, CLOUD_QUALITY_SCHEMA, defaultCirrusConfig, defaultCloudsQuality, defaultCumulonimbusConfig, defaultCumulusConfig, defaultStratocumulusConfig, defaultThunderConfig, defaultVolumetricCloudsSettings, normalizeCirrus, normalizeCloudDeck, normalizeCloudQuality, normalizeThunder, THUNDER_SCHEMA, } from './cloudConfigs.js';
|
|
2
|
+
export { CIRRUS_SCHEMA, CLOUD_ANIMATABLE_PROPERTIES, CLOUD_DECK_DEFAULTS, CLOUD_DECK_SCHEMA, CLOUD_QUALITY_SCHEMA, defaultCirrusConfig, defaultCloudsQuality, defaultCumulonimbusConfig, defaultCumulusConfig, defaultStratocumulusConfig, defaultThunderConfig, defaultVolumetricCloudsSettings, normalizeCirrus, normalizeCloudDeck, normalizeCloudQuality, normalizeThunder, normalizeVolumetricClouds, THUNDER_SCHEMA, } from './cloudConfigs.js';
|
|
3
3
|
export { OCEAN_DEFAULTS, OCEAN_QUALITY_SCHEMA, OCEAN_SCHEMA, OBJECT_HOST_OVERRIDES, defaultLakeConfig, defaultOceanQuality, defaultOceanWaterSettings, defaultSeaConfig, defaultShoreConfig, defaultStormConfig, normalizeOcean, normalizeOceanQuality, normalizeOceanSettings, } from './oceanConfigs.js';
|
|
4
4
|
export { LANDSCAPE_AUTOSPLAT_SCHEMA, LANDSCAPE_LIVE_AUTOSPLAT_KEYS, LANDSCAPE_LIVE_CONFIG_KEYS, LANDSCAPE_LIVE_QUALITY_KEYS, LANDSCAPE_LIVE_SURFACE_KEYS, LANDSCAPE_REBUILD_KEYS, LANDSCAPE_QUALITY_SCHEMA, LANDSCAPE_SCHEMA, MAX_LANDSCAPE_SURFACES, MAX_OBJECT_SURFACES, defaultAutoSplat, defaultLandscapeConfig, defaultLandscapeQuality, defaultLandscapeSettings, defaultLandscapeSurface, normalizeLandscape, normalizeLandscapeQuality, normalizeLandscapeSettings, normalizeLandscapeSurface, } from './landscapeConfigs.js';
|
|
@@ -3,7 +3,18 @@ import type { CloudDeckConfig } from '../types/cloudConfigs';
|
|
|
3
3
|
export type CloudPropertyOverride = Partial<Record<string, number>>;
|
|
4
4
|
/** Cache of the value a property started at, so `from`-less keyframes have an origin. */
|
|
5
5
|
export type CloudStartValues = Record<string, number>;
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @param elapsedMs Milliseconds since this animation set started — NOT `Date.now()`,
|
|
8
|
+
* and not seconds.
|
|
9
|
+
*
|
|
10
|
+
* `calculateTimeProgress` computes `currentTime / duration`, so it means time
|
|
11
|
+
* since the animation began. Passing a wall clock works by accident for loop
|
|
12
|
+
* and yoyo, where the modulo hides the huge number, but a one-shot is
|
|
13
|
+
* `min(huge, 1)` = 1 on the very first frame — the value snaps straight to its
|
|
14
|
+
* target and never moves. Passing seconds is the mirror image: with a duration
|
|
15
|
+
* in ms, progress creeps by 0.0005 a second and the animation looks frozen.
|
|
16
|
+
*/
|
|
17
|
+
export declare function applyCloudsKeyframeAnimations(animations: AnimationOptions[] | undefined, startValues: CloudStartValues, deck: CloudDeckConfig, override: CloudPropertyOverride, elapsedMs: number): void;
|
|
7
18
|
export declare function applyCloudsMouseMove(properties: MouseMoveProperty[] | undefined, deck: CloudDeckConfig, override: CloudPropertyOverride, pointer: {
|
|
8
19
|
x: number;
|
|
9
20
|
y: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleCloudsAnimations.d.ts","sourceRoot":"","sources":["../../src/utils/handleCloudsAnimations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAmB7D,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpE,yFAAyF;AACzF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"handleCloudsAnimations.d.ts","sourceRoot":"","sources":["../../src/utils/handleCloudsAnimations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAmB7D,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpE,yFAAyF;AACzF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAiBxM;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUjL;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,qBAAqB,GAAG,eAAe,CAOzG"}
|
|
@@ -14,7 +14,18 @@ import { CLOUD_ANIMATABLE_PROPERTIES } from '../types/cloudConfigs.js';
|
|
|
14
14
|
* move.
|
|
15
15
|
*/
|
|
16
16
|
const ANIMATABLE = new Set(CLOUD_ANIMATABLE_PROPERTIES);
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* @param elapsedMs Milliseconds since this animation set started — NOT `Date.now()`,
|
|
19
|
+
* and not seconds.
|
|
20
|
+
*
|
|
21
|
+
* `calculateTimeProgress` computes `currentTime / duration`, so it means time
|
|
22
|
+
* since the animation began. Passing a wall clock works by accident for loop
|
|
23
|
+
* and yoyo, where the modulo hides the huge number, but a one-shot is
|
|
24
|
+
* `min(huge, 1)` = 1 on the very first frame — the value snaps straight to its
|
|
25
|
+
* target and never moves. Passing seconds is the mirror image: with a duration
|
|
26
|
+
* in ms, progress creeps by 0.0005 a second and the animation looks frozen.
|
|
27
|
+
*/
|
|
28
|
+
export function applyCloudsKeyframeAnimations(animations, startValues, deck, override, elapsedMs) {
|
|
18
29
|
if (!animations?.length)
|
|
19
30
|
return;
|
|
20
31
|
for (const anim of animations) {
|
|
@@ -25,7 +36,7 @@ export function applyCloudsKeyframeAnimations(animations, startValues, deck, ove
|
|
|
25
36
|
if (from === undefined) {
|
|
26
37
|
from = startValues[property] ??= deck[property];
|
|
27
38
|
}
|
|
28
|
-
let p = calculateTimeProgress(
|
|
39
|
+
let p = calculateTimeProgress(elapsedMs, duration, yoyo, loop);
|
|
29
40
|
if (ease) {
|
|
30
41
|
const fn = gsapEasingMap[ease] || ease;
|
|
31
42
|
p = applyEasing(fn, p);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@3driseai/3drise-viewer",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -39,6 +39,6 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@3driseai/3drise-common": "^1.0.1",
|
|
42
|
-
"@3driseai/3drise-core": "^1.0.
|
|
42
|
+
"@3driseai/3drise-core": "^1.0.7"
|
|
43
43
|
}
|
|
44
44
|
}
|