Skip to content

Commit

Permalink
Merge pull request #5 from pofulu/develop
Browse files Browse the repository at this point in the history
Fix some typo and export more types. [#4]
  • Loading branch information
pofulu authored Jul 5, 2021
2 parents f950240 + 067923a commit 7ac47c3
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 62 deletions.
106 changes: 55 additions & 51 deletions PFTween.d.ts
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
declare const samplers: {
linear: any;
easeInQuad: any;
easeOutQuad: any;
easeInOutQuad: any;
easeInCubic: any;
easeOutCubic: any;
easeInOutCubic: any;
easeInQuart: any;
easeOutQuart: any;
easeInOutQuart: any;
easeInQuint: any;
easeOutQuint: any;
easeInOutQuint: any;
easeInSine: any;
easeOutSine: any;
easeInOutSine: any;
easeInExpo: any;
easeOutExpo: any;
easeInOutExpo: any;
easeInCirc: any;
easeOutCirc: any;
easeInOutCirc: any;
easeInBack: any;
easeOutBack: any;
easeInOutBack: any;
easeInElastic: any;
easeOutElastic: any;
easeInOutElastic: any;
easeInBounce: any;
easeOutBounce: any;
easeInOutBounce: any;
linearPingPong: (begin: any, end: any) => any;
easePingPong: (begin: any, end: any) => any;
punch: (begin: any, amount: any) => any;
linear: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInQuad: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeOutQuad: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInOutQuad: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInCubic: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeOutCubic: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInOutCubic: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInQuart: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeOutQuart: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInOutQuart: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInQuint: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeOutQuint: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInOutQuint: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInSine: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeOutSine: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInOutSine: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInExpo: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeOutExpo: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInOutExpo: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInCirc: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeOutCirc: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInOutCirc: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInBack: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeOutBack: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInOutBack: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInElastic: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeOutElastic: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInOutElastic: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInBounce: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeOutBounce: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
easeInOutBounce: (begin: number | number[], end: number | number[]) => ScalarSampler | ArrayOfScalarSamplers;
linearPingPong: (begin: any, end: any) => ScalarSampler | ArrayOfScalarSamplers | RotationSampler;
easePingPong: (begin: any, end: any) => ScalarSampler | ArrayOfScalarSamplers;
punch: (begin: any, amount: any) => ScalarSampler | ArrayOfScalarSamplers;
};
declare class PFTweenEvent {
private _events;
Expand Down Expand Up @@ -96,8 +96,12 @@ declare class PFTween<T extends Number | Number[] | ScalarSignal | Point2DSignal
static concat(...clips: IPFTweenClip[]): IPFTweenClip;
static combineProgress(progresses: IPFTweenProgress[]): IPFTweenProgress;
static combineProgress(...progresses: IPFTweenProgress[]): IPFTweenProgress;
/** @deprecated It's typo of 'concatProgress' */
static concatProgerss(progresses: IPFTweenProgress[]): IPFTweenProgress;
/** @deprecated It's typo of 'concatProgress' */
static concatProgerss(...progresses: IPFTweenProgress[]): IPFTweenProgress;
static concatProgress(progresses: IPFTweenProgress[]): IPFTweenProgress;
static concatProgress(...progresses: IPFTweenProgress[]): IPFTweenProgress;
/**
* Stop and unsubscribe all events of the animation.
* @param id The id you set for to your animation.
Expand Down Expand Up @@ -169,15 +173,15 @@ declare class PFTween<T extends Number | Number[] | ScalarSignal | Point2DSignal
get progress(): PFTweenProgress;
get clip(): IPFTweenClip;
get scalar(): any;
get pack2(): any;
get pack3(): any;
get pack4(): any;
get pack2(): Point2DSignal;
get pack3(): PointSignal;
get pack4(): Point4DSignal;
/**
* @deprecated Please use `pack3` instead. `scale` is equivalent to `pack3` now.
*/
get scale(): any;
get quaternion(): any;
get rgba(): any;
get scale(): PointSignal;
get quaternion(): QuaternionSignal;
get rgba(): RgbaSignal;
/**
* @deprecated Please use `deg2rad` instead. `rotation` is equivalent to `deg2rad` now.
*/
Expand All @@ -193,18 +197,18 @@ declare class PFTweenValue {
* Take input numbers and output them in a different order.
* Input values correspond to the swizzle value (xyzw) in the order theyre inputted. For example, an input of (1,2,3) and a swizzle value of (yxz) would output (2,1,3). You can also use 0 and 1. For example, a swizzle value of (x01) would output (1,0,1).
*/
swizzle(specifier: any): any;
swizzle(specifier: string): any;
patch(name: string): void;
get scalar(): any;
get pack2(): any;
get pack3(): any;
get pack2(): Point2DSignal;
get pack3(): PointSignal;
/**
* @deprecated Please use `pack3` instead. `scale` is equivalent to `pack3` now.
*/
get scale(): any;
get pack4(): any;
get quaternion(): any;
get rgba(): any;
get scale(): PointSignal;
get pack4(): Point4DSignal;
get quaternion(): QuaternionSignal;
get rgba(): RgbaSignal;
/**
* @deprecated Please use `deg2rad` instead. `rotation` is equivalent to `deg2rad` now.
*/
Expand All @@ -215,8 +219,8 @@ declare class PFTweenProgress implements IPFTweenProgress {
readonly durationMilliseconds: number;
private config;
constructor(config: PFTweenConfig);
setProgress(progress: number): any;
setProgress(progress: ScalarSignal): any;
setProgress(progress: number): void;
setProgress(progress: ScalarSignal): void;
}
declare class PFTweener extends PFTweenValue {
private config;
Expand All @@ -228,6 +232,6 @@ declare class PFTweener extends PFTweenValue {
reset(): void;
reverse(): void;
stop(reset?: boolean): void;
get isRunning(): any;
get isRunning(): BoolSignal;
}
export { samplers as Ease, PFTween, ICurveProvider };
export { samplers as Ease, PFTween, ICurveProvider, IPFTweenClip, IPFTweenProgress, PFTweener };
7 changes: 6 additions & 1 deletion PFTween.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PFTween = exports.Ease = void 0;
exports.PFTweener = exports.PFTween = exports.Ease = void 0;
const Time_1 = __importDefault(require("Time"));
const Animation_1 = __importDefault(require("Animation"));
const Reactive_1 = __importDefault(require("Reactive"));
Expand Down Expand Up @@ -200,6 +200,10 @@ class PFTween {
};
}
static concatProgerss(...progresses) {
progresses = progresses.flat();
return PFTween.concatProgress(progresses);
}
static concatProgress(...progresses) {
progresses = progresses.flat();
const total = progresses
.map(pftween => pftween.durationMilliseconds)
Expand Down Expand Up @@ -611,6 +615,7 @@ class PFTweener extends PFTweenValue {
return this.driver.isRunning();
}
}
exports.PFTweener = PFTweener;
/** Convert scalar signal to number, or the signal that contains 'xyzw' to array of numbers.*/
function toNumber(signal) {
if (typeof signal == 'number') {
Expand Down
2 changes: 1 addition & 1 deletion PFTweenDemo/scripts/Demo5.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import { Ease, PFTween } from './PFTween';
.progress;

// Play x and y at the same time, and then the scale, the whole animation can be controlled by progress 0-1
const progressAnimation = PFTween.concatProgerss(PFTween.combineProgress(progressX, progressY), progressScale);
const progressAnimation = PFTween.concatProgress(PFTween.combineProgress(progressX, progressY), progressScale);

TouchGestures.onPan().subscribe(gesture => {
const progress = gesture.location.x.div(CameraInfo.previewSize.width);
Expand Down
24 changes: 17 additions & 7 deletions PFTweenDemo/scripts/PFTween.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Diagnostics from 'Diagnostics';
import Time from 'Time';
import Animation from 'Animation';
import Scene from 'Scene';
import Reactive from 'Reactive';
import Patches from 'Patches';

Expand Down Expand Up @@ -284,9 +284,19 @@ class PFTween<T extends Number | Number[] | ScalarSignal | Point2DSignal | Point
}
}


/** @deprecated It's typo of 'concatProgress' */
static concatProgerss(progresses: IPFTweenProgress[]): IPFTweenProgress;
/** @deprecated It's typo of 'concatProgress' */
static concatProgerss(...progresses: IPFTweenProgress[]): IPFTweenProgress;
static concatProgerss(...progresses) {
static concatProgerss(...progresses: any) {
progresses = progresses.flat();
return PFTween.concatProgress(progresses);
}

static concatProgress(progresses: IPFTweenProgress[]): IPFTweenProgress;
static concatProgress(...progresses: IPFTweenProgress[]): IPFTweenProgress;
static concatProgress(...progresses) {
progresses = progresses.flat();
const total = progresses
.map(pftween => pftween.durationMilliseconds)
Expand Down Expand Up @@ -598,7 +608,7 @@ class PFTweenValue {
* Take input numbers and output them in a different order.
* Input values correspond to the swizzle value (xyzw) in the order theyre inputted. For example, an input of (1,2,3) and a swizzle value of (yxz) would output (2,1,3). You can also use 0 and 1. For example, a swizzle value of (x01) would output (1,0,1).
*/
swizzle(specifier) {
swizzle(specifier: string) {
return swizzle(this.animate, specifier);
}

Expand Down Expand Up @@ -709,8 +719,8 @@ class PFTweenProgress implements IPFTweenProgress {
this.config = config;
}

setProgress(progress: number);
setProgress(progress: ScalarSignal);
setProgress(progress: number): void;
setProgress(progress: ScalarSignal): void;
setProgress(progress: any) {
const driver = Animation.valueDriver(progress, 0, 1);
if (this.config.useCustomCurve) {
Expand Down Expand Up @@ -805,7 +815,7 @@ class PFTweener extends PFTweenValue {
}

/** Convert scalar signal to number, or the signal that contains 'xyzw' to array of numbers.*/
function toNumber(signal: any): number | number[] {
function toNumber(signal: any): number | number[] | undefined {
if (typeof signal == 'number') {
return signal;
}
Expand Down Expand Up @@ -884,4 +894,4 @@ function swizzle(value: any, specifier: string): any {
}
}

export { samplers as Ease, PFTween, ICurveProvider };
export { samplers as Ease, PFTween, ICurveProvider, IPFTweenClip, IPFTweenProgress, PFTweener };
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ const animation = new PFTween(-0.2, 0.2, 1000)
.onStart(v => plane0.transform.x = v.scalar)
.build(false);
animaiton.replay();
animation.replay();
```

### 3. Clip - Awaitable Animation
Expand Down Expand Up @@ -221,7 +221,7 @@ Use `onStart()` to set the value and call `build()` at the end of `PFTween` chai
const onMouthOpen = FaceTracking.face(0).mouth.openness.gt(0.2).onOn();
const play_punch_animation = new PFTween(1, 0.3, 1000)
.setEase(Ease.punch)
.onStart(tweener => plane0.transform.scale = tweener.scale)
.onStart(tweener => plane0.transform.scale = tweener.pack3)
.build(false); // The 'false' means don't paly animation when build. Default is 'true'.

onMouthOpen.subscribe(() => play_punch_animation.replay());
Expand Down

0 comments on commit 7ac47c3

Please sign in to comment.