@visactor/vrender-core 1.1.0-alpha.5 → 1.1.0-alpha.7
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/cjs/canvas/constants.js +1 -2
- package/cjs/color-string/index.js +2 -1
- package/cjs/common/diff.js +1 -2
- package/cjs/common/event-transformer.js +2 -1
- package/cjs/common/rect-utils.js +1 -1
- package/cjs/common/render-area.js +1 -1
- package/cjs/common/render-command-list.js +1 -1
- package/cjs/common/render-curve.js +1 -1
- package/cjs/common/render-utils.js +1 -1
- package/cjs/common/seg-context.js +1 -2
- package/cjs/common/simplify.js +1 -1
- package/cjs/common/sort.js +1 -1
- package/cjs/common/split-path.js +1 -1
- package/cjs/common/store.js +1 -1
- package/cjs/common/text.js +1 -1
- package/cjs/common/utils.js +1 -1
- package/cjs/core/camera.js +1 -1
- package/cjs/core/constants.js +1 -1
- package/cjs/core/core-modules.js +1 -1
- package/cjs/core/global-module.js +2 -0
- package/cjs/core/global.js +1 -1
- package/cjs/core/graphic-utils.js +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/layer-service.js +2 -1
- package/cjs/core/layer.js +1 -1
- package/cjs/core/light.js +1 -1
- package/cjs/core/stage.js +1 -1
- package/cjs/core/window.js +1 -1
- package/cjs/graphic/graphic.d.ts +4 -1
- package/cjs/graphic/graphic.js +33 -7
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/graphic/rect.d.ts +2 -0
- package/cjs/graphic/rect.js +44 -0
- package/cjs/graphic/rect.js.map +1 -1
- package/cjs/graphic/state/state-transition-orchestrator.d.ts +5 -0
- package/cjs/graphic/state/state-transition-orchestrator.js +17 -5
- package/cjs/graphic/state/state-transition-orchestrator.js.map +1 -1
- package/dist/index.es.js +142 -13
- package/es/canvas/constants.js +1 -2
- package/es/color-string/index.js +2 -1
- package/es/common/diff.js +1 -2
- package/es/common/event-transformer.js +2 -1
- package/es/common/rect-utils.js +1 -1
- package/es/common/render-area.js +1 -1
- package/es/common/render-command-list.js +1 -1
- package/es/common/render-curve.js +1 -1
- package/es/common/render-utils.js +1 -1
- package/es/common/seg-context.js +1 -2
- package/es/common/simplify.js +1 -1
- package/es/common/sort.js +1 -1
- package/es/common/split-path.js +1 -1
- package/es/common/store.js +1 -1
- package/es/common/text.js +1 -1
- package/es/common/utils.js +1 -1
- package/es/core/camera.js +1 -1
- package/es/core/constants.js +1 -1
- package/es/core/core-modules.js +1 -1
- package/es/core/global-module.js +2 -0
- package/es/core/global.js +1 -1
- package/es/core/graphic-utils.js +1 -1
- package/es/core/index.js +1 -1
- package/es/core/layer-service.js +2 -1
- package/es/core/layer.js +1 -1
- package/es/core/light.js +1 -1
- package/es/core/stage.js +1 -1
- package/es/core/window.js +1 -1
- package/es/graphic/graphic.d.ts +4 -1
- package/es/graphic/graphic.js +33 -7
- package/es/graphic/graphic.js.map +1 -1
- package/es/graphic/rect.d.ts +2 -0
- package/es/graphic/rect.js +44 -0
- package/es/graphic/rect.js.map +1 -1
- package/es/graphic/state/state-transition-orchestrator.d.ts +5 -0
- package/es/graphic/state/state-transition-orchestrator.js +17 -5
- package/es/graphic/state/state-transition-orchestrator.js.map +1 -1
- package/package.json +3 -3
package/es/core/layer-service.js
CHANGED
|
@@ -75,4 +75,5 @@ export class DefaultLayerService {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
DefaultLayerService.idprefix = "visactor_layer", DefaultLayerService.prefix_count = 0;
|
|
78
|
+
DefaultLayerService.idprefix = "visactor_layer", DefaultLayerService.prefix_count = 0;
|
|
79
|
+
//# sourceMappingURL=layer-service.js.map
|
package/es/core/layer.js
CHANGED
package/es/core/light.js
CHANGED
package/es/core/stage.js
CHANGED
package/es/core/window.js
CHANGED
package/es/graphic/graphic.d.ts
CHANGED
|
@@ -149,6 +149,7 @@ export declare abstract class Graphic<T extends Partial<IGraphicAttribute> = Par
|
|
|
149
149
|
};
|
|
150
150
|
protected recomputeCurrentStatePatch(): void;
|
|
151
151
|
protected buildStaticAttributeSnapshot(): Partial<T>;
|
|
152
|
+
protected buildRemovedStateAnimationAttrs(targetStateAttrs: Partial<T>, previousResolvedStatePatch?: Partial<T>): Partial<T>;
|
|
152
153
|
protected syncObjectToSnapshot(target: Record<string, any>, snapshot: Record<string, any>): AttributeDelta;
|
|
153
154
|
protected _syncAttribute(): AttributeDelta;
|
|
154
155
|
protected _syncFinalAttributeFromStaticTruth(): void;
|
|
@@ -210,8 +211,10 @@ export declare abstract class Graphic<T extends Partial<IGraphicAttribute> = Par
|
|
|
210
211
|
getState(stateName: string): Partial<T> | StateDefinition<T> | undefined;
|
|
211
212
|
protected createStateModel(): StateModel<T>;
|
|
212
213
|
protected resolveStateAnimateConfig(animateConfig?: IAnimateConfig): any;
|
|
213
|
-
applyStateAttrs(attrs: Partial<T>, stateNames: string[], hasAnimation?: boolean, isClear?: boolean, animateConfig?: IAnimateConfig): void;
|
|
214
|
+
applyStateAttrs(attrs: Partial<T>, stateNames: string[], hasAnimation?: boolean, isClear?: boolean, animateConfig?: IAnimateConfig, extraAnimateAttrs?: Partial<T>): void;
|
|
214
215
|
updateNormalAttrs(stateAttrs: Partial<T>): void;
|
|
216
|
+
protected getStateTransitionDefaultAttribute(key: string, targetAttrs?: Partial<T>): any;
|
|
217
|
+
protected shouldSkipStateTransitionDefaultAttribute(_key: string, _targetAttrs?: Partial<T>): boolean;
|
|
215
218
|
protected stopStateAnimates(type?: 'start' | 'end'): void;
|
|
216
219
|
private getNormalAttribute;
|
|
217
220
|
clearStates(hasAnimation?: boolean): void;
|
package/es/graphic/graphic.js
CHANGED
|
@@ -297,6 +297,22 @@ export class Graphic extends Node {
|
|
|
297
297
|
"deep" === this.stateMergeMode && isPlainObjectValue(previousValue) && isPlainObjectValue(nextValue) ? snapshot[key] = deepMergeAttributeValue(previousValue, nextValue) : snapshot[key] = cloneAttributeValue(nextValue);
|
|
298
298
|
})), snapshot) : snapshot;
|
|
299
299
|
}
|
|
300
|
+
buildRemovedStateAnimationAttrs(targetStateAttrs, previousResolvedStatePatch) {
|
|
301
|
+
const extraAttrs = {};
|
|
302
|
+
if (!previousResolvedStatePatch) return extraAttrs;
|
|
303
|
+
const snapshot = this.buildStaticAttributeSnapshot(), staticTargetAttrs = snapshot;
|
|
304
|
+
return Object.keys(previousResolvedStatePatch).forEach((key => {
|
|
305
|
+
const hasTargetAttr = Object.prototype.hasOwnProperty.call(targetStateAttrs, key);
|
|
306
|
+
if (hasTargetAttr && void 0 !== targetStateAttrs[key]) return;
|
|
307
|
+
const assignFallbackAttr = value => {
|
|
308
|
+
void 0 === value && this.shouldSkipStateTransitionDefaultAttribute(key, staticTargetAttrs) || (extraAttrs[key] = void 0 === value ? value : cloneAttributeValue(value));
|
|
309
|
+
};
|
|
310
|
+
if (hasTargetAttr) assignFallbackAttr(this.getStateTransitionDefaultAttribute(key, staticTargetAttrs)); else if (Object.prototype.hasOwnProperty.call(snapshot, key)) {
|
|
311
|
+
const snapshotValue = snapshot[key];
|
|
312
|
+
assignFallbackAttr(void 0 === snapshotValue ? this.getStateTransitionDefaultAttribute(key, staticTargetAttrs) : snapshotValue);
|
|
313
|
+
} else assignFallbackAttr(this.getStateTransitionDefaultAttribute(key, staticTargetAttrs));
|
|
314
|
+
})), extraAttrs;
|
|
315
|
+
}
|
|
300
316
|
syncObjectToSnapshot(target, snapshot) {
|
|
301
317
|
const delta = new Map;
|
|
302
318
|
return new Set([ ...Object.keys(target), ...Object.keys(snapshot) ]).forEach((key => {
|
|
@@ -716,20 +732,30 @@ export class Graphic extends Node {
|
|
|
716
732
|
var _a, _b, _c;
|
|
717
733
|
return null !== (_c = null !== (_a = null != animateConfig ? animateConfig : this.stateAnimateConfig) && void 0 !== _a ? _a : null === (_b = this.context) || void 0 === _b ? void 0 : _b.stateAnimateConfig) && void 0 !== _c ? _c : DefaultStateAnimateConfig;
|
|
718
734
|
}
|
|
719
|
-
applyStateAttrs(attrs, stateNames, hasAnimation, isClear, animateConfig) {
|
|
735
|
+
applyStateAttrs(attrs, stateNames, hasAnimation, isClear, animateConfig, extraAnimateAttrs) {
|
|
720
736
|
const resolvedAnimateConfig = hasAnimation ? this.resolveStateAnimateConfig(animateConfig) : void 0, transitionOptions = resolvedAnimateConfig ? {
|
|
721
|
-
animateConfig: resolvedAnimateConfig
|
|
737
|
+
animateConfig: resolvedAnimateConfig,
|
|
738
|
+
extraAnimateAttrs: extraAnimateAttrs,
|
|
739
|
+
shouldSkipDefaultAttribute: this.shouldSkipStateTransitionDefaultAttribute.bind(this)
|
|
722
740
|
} : void 0;
|
|
723
741
|
if (isClear) return void this.getStateTransitionOrchestrator().applyClearTransition(this, attrs, hasAnimation, stateNames, transitionOptions);
|
|
724
742
|
const plan = this.getStateTransitionOrchestrator().analyzeTransition({}, attrs, stateNames, hasAnimation, {
|
|
725
743
|
noWorkAnimateAttr: this.getNoWorkAnimateAttr(),
|
|
726
|
-
animateConfig: resolvedAnimateConfig
|
|
744
|
+
animateConfig: resolvedAnimateConfig,
|
|
745
|
+
extraAnimateAttrs: extraAnimateAttrs,
|
|
746
|
+
shouldSkipDefaultAttribute: this.shouldSkipStateTransitionDefaultAttribute.bind(this)
|
|
727
747
|
});
|
|
728
748
|
this.getStateTransitionOrchestrator().applyTransition(this, plan, hasAnimation, transitionOptions);
|
|
729
749
|
}
|
|
730
750
|
updateNormalAttrs(stateAttrs) {
|
|
731
751
|
this._deprecatedNormalAttrsView = cloneAttributeValue(this.baseAttributes);
|
|
732
752
|
}
|
|
753
|
+
getStateTransitionDefaultAttribute(key, targetAttrs) {
|
|
754
|
+
return this.getDefaultAttribute(key);
|
|
755
|
+
}
|
|
756
|
+
shouldSkipStateTransitionDefaultAttribute(_key, _targetAttrs) {
|
|
757
|
+
return !1;
|
|
758
|
+
}
|
|
733
759
|
stopStateAnimates(type = "end") {
|
|
734
760
|
const stopAnimationState = this.stopAnimationState;
|
|
735
761
|
if ("function" == typeof stopAnimationState) return void stopAnimationState.call(this, "state", type);
|
|
@@ -745,7 +771,7 @@ export class Graphic extends Node {
|
|
|
745
771
|
}
|
|
746
772
|
clearStates(hasAnimation) {
|
|
747
773
|
var _a, _b, _c;
|
|
748
|
-
const previousStates = this.currentStates ? this.currentStates.slice() : [], transition = this.createStateModel().clearStates();
|
|
774
|
+
const previousStates = this.currentStates ? this.currentStates.slice() : [], previousResolvedStatePatch = this.resolvedStatePatch ? cloneAttributeValue(this.resolvedStatePatch) : void 0, transition = this.createStateModel().clearStates();
|
|
749
775
|
if (!transition.changed && 0 === previousStates.length) return this.currentStates = [],
|
|
750
776
|
this.effectiveStates = [], this.resolvedStatePatch = void 0, this.sharedStateDirty = !1,
|
|
751
777
|
void this.clearSharedStateActiveRegistrations();
|
|
@@ -756,7 +782,7 @@ export class Graphic extends Node {
|
|
|
756
782
|
null === (_c = getStageStatePerfMonitor(this.stage)) || void 0 === _c || _c.recordEvent("state-commit", {
|
|
757
783
|
graphicId: this._uid,
|
|
758
784
|
targetStates: []
|
|
759
|
-
}), hasAnimation ? (this._syncFinalAttributeFromStaticTruth(), this.applyStateAttrs(resolvedStateAttrs, transition.states, hasAnimation, !0)) : (this.stopStateAnimates(),
|
|
785
|
+
}), hasAnimation ? (this._syncFinalAttributeFromStaticTruth(), this.applyStateAttrs(resolvedStateAttrs, transition.states, hasAnimation, !0, void 0, this.buildRemovedStateAnimationAttrs(resolvedStateAttrs, previousResolvedStatePatch))) : (this.stopStateAnimates(),
|
|
760
786
|
this._restoreAttributeFromStaticTruth({
|
|
761
787
|
type: AttributeUpdateType.STATE
|
|
762
788
|
}), this._emitCustomEvent("afterStateUpdate", {
|
|
@@ -778,7 +804,7 @@ export class Graphic extends Node {
|
|
|
778
804
|
useStates(states, hasAnimation) {
|
|
779
805
|
var _a, _b, _c, _d, _e;
|
|
780
806
|
if (!states.length) return void this.clearStates(hasAnimation);
|
|
781
|
-
const previousStates = this.currentStates ? this.currentStates.slice() : [], stateResolveBaseAttrs = null !== (_a = this.baseAttributes) && void 0 !== _a ? _a : this.attribute, stateModel = this.createStateModel();
|
|
807
|
+
const previousStates = this.currentStates ? this.currentStates.slice() : [], previousResolvedStatePatch = this.resolvedStatePatch ? cloneAttributeValue(this.resolvedStatePatch) : void 0, stateResolveBaseAttrs = null !== (_a = this.baseAttributes) && void 0 !== _a ? _a : this.attribute, stateModel = this.createStateModel();
|
|
782
808
|
null === (_b = this.stateEngine) || void 0 === _b || _b.setResolveContext(this, stateResolveBaseAttrs);
|
|
783
809
|
const transition = stateModel.useStates(states);
|
|
784
810
|
if (!transition.changed && this.sameStateNames(previousStates, transition.states)) return;
|
|
@@ -789,7 +815,7 @@ export class Graphic extends Node {
|
|
|
789
815
|
null === (_e = getStageStatePerfMonitor(this.stage)) || void 0 === _e || _e.recordEvent("state-commit", {
|
|
790
816
|
graphicId: this._uid,
|
|
791
817
|
targetStates: [ ...transition.states ]
|
|
792
|
-
}), hasAnimation ? (this._syncFinalAttributeFromStaticTruth(), this.applyStateAttrs(resolvedStateAttrs, transition.states, hasAnimation)) : (this.stopStateAnimates(),
|
|
818
|
+
}), hasAnimation ? (this._syncFinalAttributeFromStaticTruth(), this.applyStateAttrs(resolvedStateAttrs, transition.states, hasAnimation, !1, void 0, this.buildRemovedStateAnimationAttrs(resolvedStateAttrs, previousResolvedStatePatch))) : (this.stopStateAnimates(),
|
|
793
819
|
this._restoreAttributeFromStaticTruth({
|
|
794
820
|
type: AttributeUpdateType.STATE
|
|
795
821
|
}), this._emitCustomEvent("afterStateUpdate", {
|