浏览代码

improve KeyframeTrack and subtype docs (#28288)

* improve KeyframeTrack and subtype docs

* change comment wording, remove unneeded tests

* Update BooleanKeyframeTrack.html

Improve text.

* Update StringKeyframeTrack.html

Improve text.

---------

Co-authored-by: Michael Herzog <[email protected]>
Joe Pea 1 年之前
父节点
当前提交
bff37d74e6

+ 5 - 1
docs/api/en/animation/tracks/BooleanKeyframeTrack.html

@@ -23,6 +23,10 @@
 			[page:Array times] - (required) array of keyframe times.<br />
 			[page:Array values] - values for the keyframes at the times specified.<br />
 		</p>
+		<p>
+			This keyframe track type has no interpolation parameter because the
+			interpolation is always [page:Animation InterpolateDiscrete].
+		</p>
 
 		<h2>Properties</h2>
 
@@ -30,7 +34,7 @@
 
 		<h3>[property:Constant DefaultInterpolation]</h3>
 		<p>
-			The default interpolation type to use, [page:Animation InterpolateDiscrete].
+			The default interpolation type to use. Only [page:Animation InterpolateDiscrete] is valid for this track type.
 		</p>
 
 		<h3>[property:Array ValueBufferType]</h3>

+ 1 - 1
docs/api/en/animation/tracks/ColorKeyframeTrack.html

@@ -20,7 +20,7 @@
 		<h2>Constructor</h2>
 
 		<h3>
-			[name]( [param:String name], [param:Array times], [param:Array values] )
+			[name]( [param:String name], [param:Array times], [param:Array values], [param:Constant interpolation] )
 		</h3>
 		<p>
 			[page:String name] - (required) identifier for the KeyframeTrack.<br />

+ 1 - 1
docs/api/en/animation/tracks/NumberKeyframeTrack.html

@@ -16,7 +16,7 @@
 		<h2>Constructor</h2>
 
 		<h3>
-			[name]( [param:String name], [param:Array times], [param:Array values] )
+			[name]( [param:String name], [param:Array times], [param:Array values], [param:Constant interpolation] )
 		</h3>
 		<p>
 			[page:String name] - (required) identifier for the KeyframeTrack.<br />

+ 5 - 5
docs/api/en/animation/tracks/QuaternionKeyframeTrack.html

@@ -16,14 +16,14 @@
 		<h2>Constructor</h2>
 
 		<h3>
-			[name]( [param:String name], [param:Array times], [param:Array values] )
+			[name]( [param:String name], [param:Array times], [param:Array values], [param:Constant interpolation] )
 		</h3>
 		<p>
-			[page:String name] (required) identifier for the KeyframeTrack.<br />
-			[page:Array times] (required) array of keyframe times.<br />
-			[page:Array values] values for the keyframes at the times specified, a
+			[page:String name] - (required) identifier for the KeyframeTrack.<br />
+			[page:Array times] - (required) array of keyframe times.<br />
+			[page:Array values] - values for the keyframes at the times specified, a
 			flat array of quaternion components.<br />
-			[page:Constant interpolation] the type of interpolation to use. See
+			[page:Constant interpolation] - the type of interpolation to use. See
 			[page:Animation Animation Constants] for possible values. Default is
 			[page:Animation InterpolateLinear].
 		</p>

+ 6 - 5
docs/api/en/animation/tracks/StringKeyframeTrack.html

@@ -24,9 +24,10 @@
 			[page:String name] - (required) identifier for the KeyframeTrack.<br />
 			[page:Array times] - (required) array of keyframe times.<br />
 			[page:Array values] - values for the keyframes at the times specified.<br />
-			[page:Constant interpolation] - the type of interpolation to use. See
-			[page:Animation Animation Constants] for possible values. Default is
-			[page:Animation InterpolateDiscrete].
+		</p>
+		<p>
+			This keyframe track type has no interpolation parameter because the
+			interpolation is always [page:Animation InterpolateDiscrete].
 		</p>
 
 		<h2>Properties</h2>
@@ -35,7 +36,7 @@
 
 		<h3>[property:Constant DefaultInterpolation]</h3>
 		<p>
-			The default interpolation type to use, [page:Animation InterpolateDiscrete].
+			The default interpolation type to use. Only [page:Animation InterpolateDiscrete] is valid for this track type.
 		</p>
 
 		<h3>[property:Array ValueBufferType]</h3>
@@ -70,4 +71,4 @@
 		</p>
 	</body>
 
-</html>
+</html>

+ 1 - 1
docs/api/en/animation/tracks/VectorKeyframeTrack.html

@@ -17,7 +17,7 @@
 		<h2>Constructor</h2>
 
 		<h3>
-			[name]( [param:String name], [param:Array times], [param:Array values] )
+			[name]( [param:String name], [param:Array times], [param:Array values], [param:Constant interpolation] )
 		</h3>
 		<p>
 			[page:String name] - (required) identifier for the KeyframeTrack.<br />

+ 10 - 1
src/animation/tracks/BooleanKeyframeTrack.js

@@ -4,7 +4,16 @@ import { KeyframeTrack } from '../KeyframeTrack.js';
 /**
  * A Track of Boolean keyframe values.
  */
-class BooleanKeyframeTrack extends KeyframeTrack {}
+class BooleanKeyframeTrack extends KeyframeTrack {
+
+	// No interpolation parameter because only InterpolateDiscrete is valid.
+	constructor( name, times, values ) {
+
+		super( name, times, values );
+
+	}
+
+}
 
 BooleanKeyframeTrack.prototype.ValueTypeName = 'bool';
 BooleanKeyframeTrack.prototype.ValueBufferType = Array;

+ 1 - 2
src/animation/tracks/QuaternionKeyframeTrack.js

@@ -1,4 +1,3 @@
-import { InterpolateLinear } from '../../constants.js';
 import { KeyframeTrack } from '../KeyframeTrack.js';
 import { QuaternionLinearInterpolant } from '../../math/interpolants/QuaternionLinearInterpolant.js';
 
@@ -17,7 +16,7 @@ class QuaternionKeyframeTrack extends KeyframeTrack {
 
 QuaternionKeyframeTrack.prototype.ValueTypeName = 'quaternion';
 // ValueBufferType is inherited
-QuaternionKeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear;
+// DefaultInterpolation is inherited;
 QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined;
 
 export { QuaternionKeyframeTrack };

+ 10 - 1
src/animation/tracks/StringKeyframeTrack.js

@@ -4,7 +4,16 @@ import { KeyframeTrack } from '../KeyframeTrack.js';
 /**
  * A Track that interpolates Strings
  */
-class StringKeyframeTrack extends KeyframeTrack {}
+class StringKeyframeTrack extends KeyframeTrack {
+
+	// No interpolation parameter because only InterpolateDiscrete is valid.
+	constructor( name, times, values ) {
+
+		super( name, times, values );
+
+	}
+
+}
 
 StringKeyframeTrack.prototype.ValueTypeName = 'string';
 StringKeyframeTrack.prototype.ValueBufferType = Array;

+ 0 - 5
test/unit/src/animation/tracks/BooleanKeyframeTrack.tests.js

@@ -14,7 +14,6 @@ export default QUnit.module( 'Animation', () => {
 				name: '.visible',
 				times: [ 0, 1 ],
 				values: [ true, false ],
-				interpolation: BooleanKeyframeTrack.DefaultInterpolation
 			};
 
 			// INHERITANCE
@@ -35,10 +34,6 @@ export default QUnit.module( 'Animation', () => {
 				const object = new BooleanKeyframeTrack( parameters.name, parameters.times, parameters.values );
 				assert.ok( object, 'Can instantiate a BooleanKeyframeTrack.' );
 
-				// name, times, values, interpolation
-				const object_all = new BooleanKeyframeTrack( parameters.name, parameters.times, parameters.values, parameters.interpolation );
-				assert.ok( object_all, 'Can instantiate a BooleanKeyframeTrack with name, times, values, interpolation.' );
-
 			} );
 
 		} );

+ 0 - 5
test/unit/src/animation/tracks/StringKeyframeTrack.tests.js

@@ -14,7 +14,6 @@ export default QUnit.module( 'Animation', () => {
 				name: '.name',
 				times: [ 0, 1 ],
 				values: [ 'foo', 'bar' ],
-				interpolation: StringKeyframeTrack.DefaultInterpolation
 			};
 
 			// INHERITANCE
@@ -35,10 +34,6 @@ export default QUnit.module( 'Animation', () => {
 				const object = new StringKeyframeTrack( parameters.name, parameters.times, parameters.values );
 				assert.ok( object, 'Can instantiate a StringKeyframeTrack.' );
 
-				// name, times, values, interpolation
-				const object_all = new StringKeyframeTrack( parameters.name, parameters.times, parameters.values, parameters.interpolation );
-				assert.ok( object_all, 'Can instantiate a StringKeyframeTrack with name, times, values, interpolation.' );
-
 			} );
 
 		} );