-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Are your IOType state methods violating the API of the core type by accessing private fields? #287
Labels
Comments
I tried to simplify InterpolatedPropertyIO but ran into problems specifying the IO type: Subject: [PATCH] Simplify writeData and transformedEmitter, remove TODOs, see https://github.com/phetsims/density-buoyancy-common/issues/231
---
Index: density-buoyancy-common/js/common/view/DebugView.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/view/DebugView.ts b/density-buoyancy-common/js/common/view/DebugView.ts
--- a/density-buoyancy-common/js/common/view/DebugView.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/view/DebugView.ts (date 1722951086912)
@@ -104,7 +104,7 @@
let poolShape = Shape.bounds( new Bounds2(
this.model.poolBounds.minX, this.model.poolBounds.minY,
- this.model.poolBounds.maxX, this.model.pool.fluidYInterpolatedProperty.value
+ this.model.poolBounds.maxX, this.model.pool.fluidYInterpolatedProperty.value.y
) );
this.model.masses.forEach( mass => {
poolShape = this.mutatePoolShape( mass, poolShape );
Index: density-buoyancy-common/js/buoyancy/view/applications/ApplicationsDebugView.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/buoyancy/view/applications/ApplicationsDebugView.ts b/density-buoyancy-common/js/buoyancy/view/applications/ApplicationsDebugView.ts
--- a/density-buoyancy-common/js/buoyancy/view/applications/ApplicationsDebugView.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/buoyancy/view/applications/ApplicationsDebugView.ts (date 1722950870902)
@@ -137,7 +137,7 @@
// @ts-expect-error
const block = this.model.block;
const fluidListener = () => {
- const y = mass.basin.fluidYInterpolatedProperty.value;
+ const y = mass.basin.fluidYInterpolatedProperty.value.y;
if ( mass.basin.fluidVolumeProperty.value > 0 ) {
const matrix = scratchMatrix.set( this.modelViewTransform.getMatrix() );
Index: density-buoyancy-common/js/common/model/Scale.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/model/Scale.ts b/density-buoyancy-common/js/common/model/Scale.ts
--- a/density-buoyancy-common/js/common/model/Scale.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/model/Scale.ts (date 1722951207713)
@@ -26,6 +26,7 @@
import PickOptional from '../../../../phet-core/js/types/PickOptional.js';
import Tandem from '../../../../tandem/js/Tandem.js';
import GravityProperty from './GravityProperty.js';
+import Vector2 from '../../../../dot/js/Vector2.js';
// constants
export const SCALE_WIDTH = 0.15;
@@ -71,8 +72,8 @@
export default class Scale extends Mass {
- // In Newtons.
- public readonly measuredWeightInterpolatedProperty: InterpolatedProperty<number>;
+ // In Newtons. The y-coordinate holds the vertical weight.
+ public readonly measuredWeightInterpolatedProperty: InterpolatedProperty;
// Just exist for phet-io, see https://github.com/phetsims/density/issues/97
private readonly measuredMassProperty: TReadOnlyProperty<number>;
@@ -113,9 +114,8 @@
super( engine, options );
- this.measuredWeightInterpolatedProperty = new InterpolatedProperty( 0, { // eslint-disable-line tandem-name-should-match
- interpolate: InterpolatedProperty.interpolateNumber,
- phetioValueType: NumberIO,
+ this.measuredWeightInterpolatedProperty = new InterpolatedProperty( 0, 0, { // eslint-disable-line tandem-name-should-match
+ phetioValueType: Vector2.Vector2IO,
tandem: options.tandem.createTandem( 'measuredWeightProperty' ),
phetioDocumentation: 'Weight measured by the scale, in N.',
phetioFeatured: true,
@@ -125,7 +125,7 @@
} );
this.measuredMassProperty = new DerivedProperty( [ this.measuredWeightInterpolatedProperty, gravityProperty.gravityValueProperty ], ( force, gravityValue ) => {
- return gravityValue === 0 ? 0 : force / gravityValue;
+ return gravityValue === 0 ? 0 : force.y / gravityValue;
}, {
phetioValueType: NumberIO,
tandem: options.tandem.createTandem( 'measuredMassProperty' ),
Index: density-buoyancy-common/js/buoyancy/view/applications/BuoyancyApplicationsScreenView.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/buoyancy/view/applications/BuoyancyApplicationsScreenView.ts b/density-buoyancy-common/js/buoyancy/view/applications/BuoyancyApplicationsScreenView.ts
--- a/density-buoyancy-common/js/buoyancy/view/applications/BuoyancyApplicationsScreenView.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/buoyancy/view/applications/BuoyancyApplicationsScreenView.ts (date 1722950937292)
@@ -440,8 +440,8 @@
let wasFilled = false;
// This instance lives for the lifetime of the simulation, so we don't need to remove this listener
- model.pool.fluidYInterpolatedProperty.link( y => {
- wasFilled = this.fillFluidGeometry( y, fluidPositionArray, fluidGeometry, wasFilled );
+ model.pool.fluidYInterpolatedProperty.link( fluidYVector => {
+ wasFilled = this.fillFluidGeometry( fluidYVector.y, fluidPositionArray, fluidGeometry, wasFilled );
} );
}
Index: density-buoyancy-common/js/buoyancy/view/applications/BoatView.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/buoyancy/view/applications/BoatView.ts b/density-buoyancy-common/js/buoyancy/view/applications/BoatView.ts
--- a/density-buoyancy-common/js/buoyancy/view/applications/BoatView.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/buoyancy/view/applications/BoatView.ts (date 1722951345128)
@@ -6,7 +6,6 @@
* @author Jonathan Olson (PhET Interactive Simulations)
*/
-import TReadOnlyProperty from '../../../../../axon/js/TReadOnlyProperty.js';
import Multilink from '../../../../../axon/js/Multilink.js';
import densityBuoyancyCommon from '../../../densityBuoyancyCommon.js';
import Boat from '../../model/applications/Boat.js';
@@ -15,6 +14,7 @@
import MeasurableMassView from '../../../common/view/MeasurableMassView.js';
import { THREEModelViewTransform } from '../../../common/view/DensityBuoyancyScreenView.js';
import DisplayProperties from '../DisplayProperties.js';
+import InterpolatedProperty from '../../../common/model/InterpolatedProperty.js';
type BoatDrawingData = {
backMiddleMaterial: THREE.MeshBasicMaterial;
@@ -27,7 +27,7 @@
public constructor( boat: Boat,
modelViewTransform: THREEModelViewTransform,
- fluidYInterpolatedProperty: TReadOnlyProperty<number>,
+ fluidYInterpolatedProperty: InterpolatedProperty,
displayProperties: DisplayProperties ) {
// @ts-expect-error
@@ -76,8 +76,9 @@
boat.basin.fluidYInterpolatedProperty,
boat.maxVolumeDisplacedProperty,
boat.basin.fluidVolumeProperty
- ], ( boatFluidY, boatDisplacement, boatFluidVolume ) => {
- const poolFluidY = fluidYInterpolatedProperty.value;
+ ], ( boatFluidYVector, boatDisplacement, boatFluidVolume ) => {
+ const boatFluidY = boatFluidYVector.y;
+ const poolFluidY = fluidYInterpolatedProperty.value.y;
const liters = boatDisplacement / 0.001;
const relativeBoatFluidY = boatFluidY - boat.matrix.translation.y;
@@ -85,7 +86,7 @@
const maximumVolume = boat.basin.getEmptyVolume( Number.POSITIVE_INFINITY );
const volume = boat.basin.fluidVolumeProperty.value;
const isFull = volume >= maximumVolume - VOLUME_TOLERANCE;
- if ( boatFluidVolume > 0 && ( !isFull || BoatDesign.shouldBoatFluidDisplayIfFull( fluidYInterpolatedProperty.value - boat.matrix.translation.y, liters ) ) ) {
+ if ( boatFluidVolume > 0 && ( !isFull || BoatDesign.shouldBoatFluidDisplayIfFull( fluidYInterpolatedProperty.value.y - boat.matrix.translation.y, liters ) ) ) {
BoatDesign.fillCrossSectionVertexArray( relativeBoatFluidY, liters, topFluidPositionArray );
}
else {
Index: density-buoyancy-common/js/common/view/PoolScaleHeightControl.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/view/PoolScaleHeightControl.ts b/density-buoyancy-common/js/common/view/PoolScaleHeightControl.ts
--- a/density-buoyancy-common/js/common/view/PoolScaleHeightControl.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/view/PoolScaleHeightControl.ts (date 1722951345114)
@@ -15,7 +15,6 @@
import Dimension2 from '../../../../dot/js/Dimension2.js';
import Scale from '../model/Scale.js';
import Utils from '../../../../dot/js/Utils.js';
-import TReadOnlyProperty from '../../../../axon/js/TReadOnlyProperty.js';
import Bounds3 from '../../../../dot/js/Bounds3.js';
import PrecisionSliderThumb from './PrecisionSliderThumb.js';
import { THREEModelViewTransform } from './DensityBuoyancyScreenView.js';
@@ -28,6 +27,7 @@
import WithRequired from '../../../../phet-core/js/types/WithRequired.js';
import { Shape } from '../../../../kite/js/imports.js';
import PoolScale from '../model/PoolScale.js';
+import InterpolatedProperty from '../model/InterpolatedProperty.js';
// constants
const DEFAULT_RANGE = new Range( 0, 1 );
@@ -39,7 +39,7 @@
public constructor( poolScale: PoolScale,
poolBounds: Bounds3,
- fluidYInterpolatedProperty: TReadOnlyProperty<number>,
+ fluidYInterpolatedProperty: InterpolatedProperty,
modelViewTransform: THREEModelViewTransform,
providedOptions: ScaleHeightSliderOptions ) {
@@ -59,7 +59,7 @@
} );
const minY = poolBounds.minY;
- const maxY = fluidYInterpolatedProperty.value + Scale.SCALE_HEIGHT;
+ const maxY = fluidYInterpolatedProperty.value.y + Scale.SCALE_HEIGHT;
const sliderTrackHeight = modelViewTransform.modelToViewDelta( new Vector3( SCALE_X_POSITION, maxY, poolBounds.maxZ ), new Vector3( SCALE_X_POSITION, minY, poolBounds.maxZ ) ).y;
Index: density-buoyancy-common/js/common/model/DensityBuoyancyModel.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/model/DensityBuoyancyModel.ts b/density-buoyancy-common/js/common/model/DensityBuoyancyModel.ts
--- a/density-buoyancy-common/js/common/model/DensityBuoyancyModel.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/model/DensityBuoyancyModel.ts (date 1722951086906)
@@ -267,7 +267,7 @@
}
}
} );
- mass.measuredWeightInterpolatedProperty.setNextValue( scaleForce );
+ mass.measuredWeightInterpolatedProperty.setNextValue( new Vector2( 0, scaleForce ) );
}
const velocity = PhysicsEngine.bodyGetVelocity( mass.body );
@@ -282,7 +282,7 @@
let submergedVolume = 0;
if ( basin ) {
- const displacedVolume = mass.getDisplacedVolume( basin.fluidYInterpolatedProperty.currentValue );
+ const displacedVolume = mass.getDisplacedVolume( basin.fluidYInterpolatedProperty.currentValue.y );
// The submergedVolume of the mass cannot be more than the fluid volume in the basin. Bug fix for https://github.com/phetsims/buoyancy/issues/135
submergedVolume = displacedVolume > basin.fluidVolumeProperty.value ? basin.fluidVolumeProperty.value : displacedVolume;
Index: density-buoyancy-common/js/common/model/Mass.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/model/Mass.ts b/density-buoyancy-common/js/common/model/Mass.ts
--- a/density-buoyancy-common/js/common/model/Mass.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/model/Mass.ts (date 1722950738219)
@@ -129,9 +129,9 @@
// the physics engine positional data, but instead appended here to this.matrix.
protected readonly bodyOffsetProperty: Property<Vector2>;
- public readonly gravityForceInterpolatedProperty: InterpolatedProperty<Vector2>;
- public readonly buoyancyForceInterpolatedProperty: InterpolatedProperty<Vector2>;
- public readonly contactForceInterpolatedProperty: InterpolatedProperty<Vector2>;
+ public readonly gravityForceInterpolatedProperty: InterpolatedProperty;
+ public readonly buoyancyForceInterpolatedProperty: InterpolatedProperty;
+ public readonly contactForceInterpolatedProperty: InterpolatedProperty;
// A force with an interpolation to blend new values with old ones to avoid flickering
public readonly contactForceBlendedProperty: BlendedVector2Property;
@@ -318,8 +318,7 @@
tandem: Tandem.OPT_OUT
} );
- this.gravityForceInterpolatedProperty = new InterpolatedProperty( Vector2.ZERO, {
- interpolate: InterpolatedProperty.interpolateVector2,
+ this.gravityForceInterpolatedProperty = new InterpolatedProperty( 0, 0, {
valueComparisonStrategy: 'equalsFunction',
tandem: tandem.createTandem( 'gravityForceInterpolatedProperty' ),
phetioValueType: Vector2.Vector2IO,
@@ -328,8 +327,7 @@
phetioHighFrequency: true
} );
- this.buoyancyForceInterpolatedProperty = new InterpolatedProperty( Vector2.ZERO, {
- interpolate: InterpolatedProperty.interpolateVector2,
+ this.buoyancyForceInterpolatedProperty = new InterpolatedProperty( 0, 0, {
valueComparisonStrategy: 'equalsFunction',
tandem: tandem.createTandem( 'buoyancyForceInterpolatedProperty' ),
phetioValueType: Vector2.Vector2IO,
@@ -338,8 +336,7 @@
phetioHighFrequency: true
} );
- this.contactForceInterpolatedProperty = new InterpolatedProperty( Vector2.ZERO, {
- interpolate: InterpolatedProperty.interpolateVector2,
+ this.contactForceInterpolatedProperty = new InterpolatedProperty( 0, 0, {
valueComparisonStrategy: 'equalsFunction',
tandem: tandem.createTandem( 'contactForceInterpolatedProperty' ),
phetioValueType: Vector2.Vector2IO,
Index: density-buoyancy-common/js/common/view/DensityBuoyancyScreenView.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/view/DensityBuoyancyScreenView.ts b/density-buoyancy-common/js/common/view/DensityBuoyancyScreenView.ts
--- a/density-buoyancy-common/js/common/view/DensityBuoyancyScreenView.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/view/DensityBuoyancyScreenView.ts (date 1722951138002)
@@ -492,8 +492,8 @@
let wasFilled = false;
// This instance lives for the lifetime of the simulation, so we don't need to remove this listener
- model.pool.fluidYInterpolatedProperty.link( y => {
- wasFilled = this.fillFluidGeometry( y, fluidPositionArray, fluidGeometry, wasFilled );
+ model.pool.fluidYInterpolatedProperty.link( fluidLevel => {
+ wasFilled = this.fillFluidGeometry( fluidLevel.y, fluidPositionArray, fluidGeometry, wasFilled );
} );
const onMassAdded = ( mass: Mass ) => {
@@ -522,8 +522,8 @@
// TODO: Document the reason for this link: https://github.com/phetsims/density-buoyancy-common/issues/257
// This instance lives for the lifetime of the simulation, so we don't need to remove this listener
- model.pool.fluidYInterpolatedProperty.link( fluidY => {
- const modelPoint = new Vector3( model.poolBounds.minX, fluidY, model.poolBounds.maxZ );
+ model.pool.fluidYInterpolatedProperty.link( fluidLevel => {
+ const modelPoint = new Vector3( model.poolBounds.minX, fluidLevel.y, model.poolBounds.maxZ );
fluidLevelIndicator.translation = this.modelToViewPoint( modelPoint );
} );
Index: phet-io-sim-specific/repos/buoyancy-basics/buoyancy-basics-phet-io-api.json
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/phet-io-sim-specific/repos/buoyancy-basics/buoyancy-basics-phet-io-api.json b/phet-io-sim-specific/repos/buoyancy-basics/buoyancy-basics-phet-io-api.json
--- a/phet-io-sim-specific/repos/buoyancy-basics/buoyancy-basics-phet-io-api.json (revision ba0431b0c4a1c35fe66bc780f0759e69369d11db)
+++ b/phet-io-sim-specific/repos/buoyancy-basics/buoyancy-basics-phet-io-api.json (date 1722956075007)
@@ -122,15 +122,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -142,21 +133,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -168,21 +150,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -194,7 +167,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -562,15 +535,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -582,21 +546,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -608,21 +563,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -634,7 +580,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -1054,15 +1000,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1074,21 +1011,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1100,21 +1028,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1126,7 +1045,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -1494,15 +1413,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1514,21 +1424,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1540,21 +1441,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1566,7 +1458,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -1986,15 +1878,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -2006,21 +1889,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -2032,21 +1906,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -2058,7 +1923,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -2426,15 +2291,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -2446,21 +2302,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -2472,21 +2319,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -2498,7 +2336,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -3037,19 +2875,19 @@
"yInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": -0.1388888888888889,
- "previousValue": -0.1388888888888889,
- "ratio": 0,
"units": null,
"validValues": null,
- "value": -0.1388888888888889
+ "value": {
+ "x": 0,
+ "y": -0.1388888888888889
+ }
}
},
"_metadata": {
"phetioDocumentation": "The y-value of the fluid in model coordinates (where 0 is the top of the pool)",
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
}
},
@@ -3130,15 +2968,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -3150,21 +2979,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -3176,21 +2996,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -3202,7 +3013,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -3311,12 +3122,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -3324,7 +3135,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -3539,15 +3350,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -3559,21 +3361,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -3585,21 +3378,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -3611,7 +3395,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -3699,12 +3483,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -3712,7 +3496,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -7538,15 +7322,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -7558,21 +7333,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -7584,21 +7350,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -7610,7 +7367,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -7988,15 +7745,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -8008,21 +7756,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -8034,21 +7773,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -8060,7 +7790,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -8574,19 +8304,19 @@
"yInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": -0.1388888888888889,
- "previousValue": -0.1388888888888889,
- "ratio": 0,
"units": null,
"validValues": null,
- "value": -0.1388888888888889
+ "value": {
+ "x": 0,
+ "y": -0.1388888888888889
+ }
}
},
"_metadata": {
"phetioDocumentation": "The y-value of the fluid in model coordinates (where 0 is the top of the pool)",
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
}
},
@@ -8667,15 +8397,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -8687,21 +8408,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -8713,21 +8425,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -8739,7 +8442,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -8848,12 +8551,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -8861,7 +8564,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -9076,15 +8779,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -9096,21 +8790,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -9122,21 +8807,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -9148,7 +8824,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -9236,12 +8912,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -9249,7 +8925,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -22439,42 +22115,6 @@
"supertype": "ObjectIO",
"typeName": "InputIO"
},
- "InterpolatedPropertyIO<NumberIO>": {
- "dataDefaults": {},
- "documentation": "Extends PropertyIO to interpolation (with a current/previous value, and a ratio between the two)",
- "events": [],
- "metadataDefaults": {},
- "methodOrder": [],
- "methods": {},
- "parameterTypes": [
- "NumberIO"
- ],
- "stateSchema": {
- "currentValue": "NumberIO",
- "previousValue": "NumberIO",
- "ratio": "NumberIO"
- },
- "supertype": "PropertyIO<NumberIO>",
- "typeName": "InterpolatedPropertyIO<NumberIO>"
- },
- "InterpolatedPropertyIO<Vector2IO>": {
- "dataDefaults": {},
- "documentation": "Extends PropertyIO to interpolation (with a current/previous value, and a ratio between the two)",
- "events": [],
- "metadataDefaults": {},
- "methodOrder": [],
- "methods": {},
- "parameterTypes": [
- "Vector2IO"
- ],
- "stateSchema": {
- "currentValue": "Vector2IO",
- "previousValue": "Vector2IO",
- "ratio": "NumberIO"
- },
- "supertype": "PropertyIO<Vector2IO>",
- "typeName": "InterpolatedPropertyIO<Vector2IO>"
- },
"LinkedElementIO": {
"dataDefaults": {},
"documentation": "A LinkedElement",
Index: phet-io-sim-specific/repos/density/js/density-migration-processors.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/phet-io-sim-specific/repos/density/js/density-migration-processors.ts b/phet-io-sim-specific/repos/density/js/density-migration-processors.ts
--- a/phet-io-sim-specific/repos/density/js/density-migration-processors.ts (revision ba0431b0c4a1c35fe66bc780f0759e69369d11db)
+++ b/phet-io-sim-specific/repos/density/js/density-migration-processors.ts (date 1722955838604)
@@ -673,7 +673,31 @@
new DeleteUninstrumentedPhetioElement( 'density.mysteryScreen.model.scale.inputEnabledProperty' ),
// canRotate was removed in https://github.com/phetsims/density-buoyancy-common/issues/277
- new DeleteStateKey( 'MassIO', 'canRotate' )
+ new DeleteStateKey( 'MassIO', 'canRotate' ),
+
+ new ChangeIOType( 'InterpolatedPropertyIO<NumberIO>', 'InterpolatedPropertyIO', state => {
+ state.currentValue = { x: 0, y: state.currentValue };
+ state.previousValue = { x: 0, y: state.previousValue };
+ // state.ratio = state.ratio;
+ }, {
+ ioTypesToAdd: {
+ InterpolatedPropertyIO: {
+ supertype: 'PropertyIO<Vector2IO>',
+ typeName: 'InterpolatedPropertyIO',
+ stateSchema: {
+ currentValue: 'Vector2IO',
+ previousValue: 'Vector2IO',
+ ratio: 'NumberIO'
+ }
+ }
+ }
+ } ),
+
+ new ChangeIOType( 'InterpolatedPropertyIO<Vector2IO>', 'InterpolatedPropertyIO', state => {
+ // state.currentValue = { x: 0, y: state.currentValue };
+ // state.previousValue = { x: 0, y: state.previousValue };
+ } )
+
]
};
Index: density-buoyancy-common/js/buoyancy/model/applications/Boat.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/buoyancy/model/applications/Boat.ts b/density-buoyancy-common/js/buoyancy/model/applications/Boat.ts
--- a/density-buoyancy-common/js/buoyancy/model/applications/Boat.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/buoyancy/model/applications/Boat.ts (date 1722950870905)
@@ -244,7 +244,7 @@
}
public updateVerticalMotion( pool: Pool, dt: number ): void {
- this.setSubmergedState( pool.fluidYInterpolatedProperty.currentValue );
+ this.setSubmergedState( pool.fluidYInterpolatedProperty.currentValue.y );
const nextBoatVerticalVelocity = PhysicsEngine.bodyGetVelocity( this.body ).y;
this.verticalAcceleration = ( nextBoatVerticalVelocity - this.verticalVelocity ) / dt;
this.verticalVelocity = nextBoatVerticalVelocity;
Index: phet-io-sim-specific/repos/buoyancy/buoyancy-phet-io-api.json
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/phet-io-sim-specific/repos/buoyancy/buoyancy-phet-io-api.json b/phet-io-sim-specific/repos/buoyancy/buoyancy-phet-io-api.json
--- a/phet-io-sim-specific/repos/buoyancy/buoyancy-phet-io-api.json (revision ba0431b0c4a1c35fe66bc780f0759e69369d11db)
+++ b/phet-io-sim-specific/repos/buoyancy/buoyancy-phet-io-api.json (date 1722956074994)
@@ -189,15 +189,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -209,21 +200,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -235,21 +217,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -261,7 +234,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -652,15 +625,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -672,21 +636,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -698,21 +653,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -724,7 +670,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -1047,15 +993,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1067,21 +1004,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1093,21 +1021,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1119,7 +1038,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -1731,19 +1650,19 @@
"yInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": -0.1388888888888889,
- "previousValue": -0.1388888888888889,
- "ratio": 0,
"units": null,
"validValues": null,
- "value": -0.1388888888888889
+ "value": {
+ "x": 0,
+ "y": -0.1388888888888889
+ }
}
},
"_metadata": {
"phetioDocumentation": "The y-value of the fluid in model coordinates (where 0 is the top of the pool)",
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
}
},
@@ -1824,15 +1743,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1844,21 +1754,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1870,21 +1771,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -1896,7 +1788,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -2005,12 +1897,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -2018,7 +1910,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -2233,15 +2125,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -2253,21 +2136,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -2279,21 +2153,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -2305,7 +2170,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"internalVisibleProperty": {
@@ -2379,12 +2244,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -2392,7 +2257,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -9032,15 +8897,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -9052,21 +8908,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -9078,21 +8925,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -9104,7 +8942,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -9472,15 +9310,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -9492,21 +9321,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -9518,21 +9338,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -9544,7 +9355,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -9964,15 +9775,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -9984,21 +9786,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -10010,21 +9803,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -10036,7 +9820,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -10404,15 +10188,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -10424,21 +10199,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -10450,21 +10216,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -10476,7 +10233,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -10896,15 +10653,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -10916,21 +10664,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -10942,21 +10681,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -10968,7 +10698,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -11336,15 +11066,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -11356,21 +11077,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -11382,21 +11094,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -11408,7 +11111,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -11956,19 +11659,19 @@
"yInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": -0.1388888888888889,
- "previousValue": -0.1388888888888889,
- "ratio": 0,
"units": null,
"validValues": null,
- "value": -0.1388888888888889
+ "value": {
+ "x": 0,
+ "y": -0.1388888888888889
+ }
}
},
"_metadata": {
"phetioDocumentation": "The y-value of the fluid in model coordinates (where 0 is the top of the pool)",
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
}
},
@@ -12049,15 +11752,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -12069,21 +11763,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -12095,21 +11780,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -12121,7 +11797,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -12230,12 +11906,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -12243,7 +11919,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -12458,15 +12134,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -12478,21 +12145,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -12504,21 +12162,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -12530,7 +12179,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -12618,12 +12267,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -12631,7 +12280,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -16457,15 +16106,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -16477,21 +16117,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -16503,21 +16134,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -16529,7 +16151,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -16913,15 +16535,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -16933,21 +16546,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -16959,21 +16563,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -16985,7 +16580,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -17577,19 +17172,19 @@
"yInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": -0.1388888888888889,
- "previousValue": -0.1388888888888889,
- "ratio": 0,
"units": null,
"validValues": null,
- "value": -0.1388888888888889
+ "value": {
+ "x": 0,
+ "y": -0.1388888888888889
+ }
}
},
"_metadata": {
"phetioDocumentation": "The y-value of the fluid in model coordinates (where 0 is the top of the pool)",
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
}
},
@@ -17670,15 +17265,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -17690,21 +17276,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -17716,21 +17293,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -17742,7 +17310,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -17851,12 +17419,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -17864,7 +17432,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -18079,15 +17647,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -18099,21 +17658,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -18125,21 +17675,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -18151,7 +17692,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -18239,12 +17780,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -18252,7 +17793,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -31486,15 +31027,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -31506,21 +31038,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -31532,21 +31055,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -31558,7 +31072,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -32162,19 +31676,19 @@
"yInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": -0.1388888888888889,
- "previousValue": -0.1388888888888889,
- "ratio": 0,
"units": null,
"validValues": null,
- "value": -0.1388888888888889
+ "value": {
+ "x": 0,
+ "y": -0.1388888888888889
+ }
}
},
"_metadata": {
"phetioDocumentation": "The y-value of the fluid in model coordinates (where 0 is the top of the pool)",
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
}
},
@@ -32255,15 +31769,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -32275,21 +31780,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -32301,21 +31797,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -32327,7 +31814,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -32436,12 +31923,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -32449,7 +31936,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -32664,15 +32151,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -32684,21 +32162,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -32710,21 +32179,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -32736,7 +32196,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"internalVisibleProperty": {
@@ -32810,12 +32270,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -32823,7 +32283,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -38016,15 +37476,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -38036,21 +37487,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -38062,21 +37504,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -38088,7 +37521,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -38423,15 +37856,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -38443,21 +37867,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -38469,21 +37884,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -38495,7 +37901,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -38879,15 +38285,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -38899,21 +38296,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -38925,21 +38313,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -38951,7 +38330,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -39285,15 +38664,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -39305,21 +38675,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -39331,21 +38692,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -39357,7 +38709,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -39691,15 +39043,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -39711,21 +39054,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -39737,21 +39071,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -39763,7 +39088,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -40147,15 +39472,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -40167,21 +39483,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -40193,21 +39500,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -40219,7 +39517,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -40603,15 +39901,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -40623,21 +39912,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -40649,21 +39929,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -40675,7 +39946,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -41135,15 +40406,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -41155,21 +40417,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -41181,21 +40434,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -41207,7 +40451,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -41542,15 +40786,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -41562,21 +40797,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -41588,21 +40814,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -41614,7 +40831,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -41998,15 +41215,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -42018,21 +41226,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -42044,21 +41243,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -42070,7 +41260,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -42404,15 +41594,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -42424,21 +41605,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -42450,21 +41622,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -42476,7 +41639,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -42810,15 +41973,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -42830,21 +41984,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -42856,21 +42001,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -42882,7 +42018,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -43266,15 +42402,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -43286,21 +42413,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -43312,21 +42430,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -43338,7 +42447,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -43722,15 +42831,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -43742,21 +42842,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -43768,21 +42859,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -43794,7 +42876,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -44319,19 +43401,19 @@
"yInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": -0.1388888888888889,
- "previousValue": -0.1388888888888889,
- "ratio": 0,
"units": null,
"validValues": null,
- "value": -0.1388888888888889
+ "value": {
+ "x": 0,
+ "y": -0.1388888888888889
+ }
}
},
"_metadata": {
"phetioDocumentation": "The y-value of the fluid in model coordinates (where 0 is the top of the pool)",
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
}
},
@@ -44412,15 +43494,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -44432,21 +43505,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -44458,21 +43522,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -44484,7 +43539,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"heightProperty": {
@@ -44593,12 +43648,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -44606,7 +43661,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -44821,15 +43876,6 @@
"buoyancyForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -44841,21 +43887,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"contactForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -44867,21 +43904,12 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"gravityForceInterpolatedProperty": {
"_data": {
"initialState": {
- "currentValue": {
- "x": 0,
- "y": 0
- },
- "previousValue": {
- "x": 0,
- "y": 0
- },
- "ratio": 0,
"units": "N",
"validValues": null,
"value": {
@@ -44893,7 +43921,7 @@
"_metadata": {
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<Vector2IO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"inputEnabledProperty": {
@@ -44981,12 +44009,12 @@
"measuredWeightProperty": {
"_data": {
"initialState": {
- "currentValue": 0,
- "previousValue": 0,
- "ratio": 0,
"units": "N",
"validValues": null,
- "value": 0
+ "value": {
+ "x": 0,
+ "y": 0
+ }
}
},
"_metadata": {
@@ -44994,7 +44022,7 @@
"phetioFeatured": true,
"phetioHighFrequency": true,
"phetioReadOnly": true,
- "phetioTypeName": "InterpolatedPropertyIO<NumberIO>"
+ "phetioTypeName": "PropertyIO<Vector2IO>"
}
},
"percentSubmergedProperty": {
@@ -53026,42 +52054,6 @@
"supertype": "ObjectIO",
"typeName": "InputIO"
},
- "InterpolatedPropertyIO<NumberIO>": {
- "dataDefaults": {},
- "documentation": "Extends PropertyIO to interpolation (with a current/previous value, and a ratio between the two)",
- "events": [],
- "metadataDefaults": {},
- "methodOrder": [],
- "methods": {},
- "parameterTypes": [
- "NumberIO"
- ],
- "stateSchema": {
- "currentValue": "NumberIO",
- "previousValue": "NumberIO",
- "ratio": "NumberIO"
- },
- "supertype": "PropertyIO<NumberIO>",
- "typeName": "InterpolatedPropertyIO<NumberIO>"
- },
- "InterpolatedPropertyIO<Vector2IO>": {
- "dataDefaults": {},
- "documentation": "Extends PropertyIO to interpolation (with a current/previous value, and a ratio between the two)",
- "events": [],
- "metadataDefaults": {},
- "methodOrder": [],
- "methods": {},
- "parameterTypes": [
- "Vector2IO"
- ],
- "stateSchema": {
- "currentValue": "Vector2IO",
- "previousValue": "Vector2IO",
- "ratio": "NumberIO"
- },
- "supertype": "PropertyIO<Vector2IO>",
- "typeName": "InterpolatedPropertyIO<Vector2IO>"
- },
"LinkedElementIO": {
"dataDefaults": {},
"documentation": "A LinkedElement",
Index: density-buoyancy-common/js/common/model/Pool.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/model/Pool.ts b/density-buoyancy-common/js/common/model/Pool.ts
--- a/density-buoyancy-common/js/common/model/Pool.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/model/Pool.ts (date 1722951086902)
@@ -98,9 +98,9 @@
// Round to nearest 1E-6 to avoid floating point errors. Before we were rounding, the initial value
// was showing as 99.999999999999 and the current value on startup was 100.0000000000001
// Normally we would ignore a problem like this, but the former was appearing in the API.
- fluidY => Utils.roundToInterval( bounds.width *
+ fluidVector => Utils.roundToInterval( bounds.width *
bounds.depth *
- ( fluidY - bounds.minY ) *
+ ( fluidVector.y - bounds.minY ) *
DensityBuoyancyCommonConstants.LITERS_IN_CUBIC_METER, DensityBuoyancyCommonConstants.TOLERANCE ), {
units: 'L',
tandem: this.fluidTandem.createTandem( 'levelVolumeProperty' ),
Index: density-buoyancy-common/js/common/view/ScaleReadoutNode.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/view/ScaleReadoutNode.ts b/density-buoyancy-common/js/common/view/ScaleReadoutNode.ts
--- a/density-buoyancy-common/js/common/view/ScaleReadoutNode.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/view/ScaleReadoutNode.ts (date 1722951138007)
@@ -95,8 +95,8 @@
// TODO: Rename mass => scale, see https://github.com/phetsims/density-buoyancy-common/issues/123
public constructor( public readonly mass: Scale, gravityProperty: GravityProperty ) {
- const blendedProperty = new BlendedNumberProperty( mass.measuredWeightInterpolatedProperty.value );
- mass.stepEmitter.addListener( () => blendedProperty.step( mass.measuredWeightInterpolatedProperty.value ) );
+ const blendedProperty = new BlendedNumberProperty( mass.measuredWeightInterpolatedProperty.value.y );
+ mass.stepEmitter.addListener( () => blendedProperty.step( mass.measuredWeightInterpolatedProperty.value.y ) );
super( blendedProperty, gravityProperty, mass.displayType );
}
Index: density-buoyancy-common/js/buoyancy/model/applications/BuoyancyApplicationsModel.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/buoyancy/model/applications/BuoyancyApplicationsModel.ts b/density-buoyancy-common/js/buoyancy/model/applications/BuoyancyApplicationsModel.ts
--- a/density-buoyancy-common/js/buoyancy/model/applications/BuoyancyApplicationsModel.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/buoyancy/model/applications/BuoyancyApplicationsModel.ts (date 1722950870898)
@@ -245,7 +245,7 @@
// If the top of the boat is out of the fluid past the height threshold, spill the fluid back into the pool
// (even if not totally full).
- if ( boat.stepTop > this.pool.fluidYInterpolatedProperty.currentValue + boatHeight * BOAT_READY_TO_SPILL_OUT_THRESHOLD ) {
+ if ( boat.stepTop > this.pool.fluidYInterpolatedProperty.currentValue.y + boatHeight * BOAT_READY_TO_SPILL_OUT_THRESHOLD ) {
this.spillingFluidOutOfBoat = true;
}
}
@@ -259,7 +259,7 @@
boatExcess = Math.min( FILL_EMPTY_MULTIPLIER * boat.volumeProperty.value, boatFluidVolume );
}
else if ( boatFluidVolume > 0 &&
- Math.abs( boatBasin.fluidYInterpolatedProperty.currentValue - boatBasin.stepTop ) >= BOAT_FULL_THRESHOLD ) {
+ Math.abs( boatBasin.fluidYInterpolatedProperty.currentValue.y - boatBasin.stepTop ) >= BOAT_FULL_THRESHOLD ) {
// If the boat is neither full nor empty, nor spilling, then it is currently filling up. We will up no matter
// the current fluid leve or the boat AND no matter the boats position. This is because the boat can only
// ever be full or empty (or animating to one of those states).
Index: density-buoyancy-common/js/common/view/ForceDiagramNode.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/view/ForceDiagramNode.ts b/density-buoyancy-common/js/common/view/ForceDiagramNode.ts
--- a/density-buoyancy-common/js/common/view/ForceDiagramNode.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/view/ForceDiagramNode.ts (date 1722951345123)
@@ -17,7 +17,6 @@
import Mass from '../model/Mass.js';
import DensityBuoyancyCommonColors from './DensityBuoyancyCommonColors.js';
import InterpolatedProperty from '../model/InterpolatedProperty.js';
-import Vector2 from '../../../../dot/js/Vector2.js';
import { combineOptions } from '../../../../phet-core/js/optionize.js';
import TReadOnlyProperty from '../../../../axon/js/TReadOnlyProperty.js';
import { chooseDecimalPlaces } from '../DensityBuoyancyCommonConstants.js';
@@ -123,7 +122,7 @@
const downwardArrows: ArrowNode[] = [];
const labels: Node[] = [];
- const updateArrow = ( forceProperty: InterpolatedProperty<Vector2> | BlendedVector2Property, showForceProperty: TReadOnlyProperty<boolean>, arrowNode: ArrowNode, textNode: Text, labelNode: Node ) => {
+ const updateArrow = ( forceProperty: InterpolatedProperty | BlendedVector2Property, showForceProperty: TReadOnlyProperty<boolean>, arrowNode: ArrowNode, textNode: Text, labelNode: Node ) => {
const y = forceProperty.value.y;
if ( showForceProperty.value && Math.abs( y ) > 1e-5 ) {
arrowNode.setTip( 0, -y * this.displayProperties.vectorZoomProperty.value * 20 ); // Default zoom is 20 units per Newton
Index: density-buoyancy-common/js/common/model/Basin.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/model/Basin.ts b/density-buoyancy-common/js/common/model/Basin.ts
--- a/density-buoyancy-common/js/common/model/Basin.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/model/Basin.ts (date 1722956296839)
@@ -11,12 +11,12 @@
import Range from '../../../../dot/js/Range.js';
import optionize from '../../../../phet-core/js/optionize.js';
import Tandem from '../../../../tandem/js/Tandem.js';
-import NumberIO from '../../../../tandem/js/types/NumberIO.js';
import densityBuoyancyCommon from '../../densityBuoyancyCommon.js';
import InterpolatedProperty from './InterpolatedProperty.js';
import Mass from './Mass.js';
import { PhetioObjectOptions } from '../../../../tandem/js/PhetioObject.js';
import DensityBuoyancyCommonConstants from '../DensityBuoyancyCommonConstants.js';
+import Vector2 from '../../../../dot/js/Vector2.js';
// TODO: Add SelfOptions for optionize, see https://github.com/phetsims/density-buoyancy-common/issues/123
export type BasinOptions = {
@@ -29,8 +29,8 @@
// In m^3, the volume of fluid contained in this basin
public readonly fluidVolumeProperty: Property<number>;
- // The y coordinate of the fluid level (absolute in the model, NOT relative to anything)
- public readonly fluidYInterpolatedProperty: InterpolatedProperty<number>;
+ // Property<Vector2> that holds the y coordinate of the fluid level (absolute in the model, NOT relative to anything)
+ public readonly fluidYInterpolatedProperty: InterpolatedProperty;
// The bottom and top of the basin's area of containment (absolute model coordinates), set during physics engine steps.
public stepBottom: number;
@@ -64,10 +64,7 @@
units: 'm^3'
} );
- this.fluidYInterpolatedProperty = new InterpolatedProperty( options.initialY, {
- interpolate: InterpolatedProperty.interpolateNumber,
- phetioOuterType: InterpolatedProperty.InterpolatedPropertyIO,
- phetioValueType: NumberIO,
+ this.fluidYInterpolatedProperty = new InterpolatedProperty( 0, options.initialY, {
tandem: fluidTandem.createTandem( 'yInterpolatedProperty' ),
phetioHighFrequency: true,
phetioReadOnly: true,
@@ -158,18 +155,18 @@
public computeY(): void {
const fluidVolume = this.fluidVolumeProperty.value;
if ( fluidVolume === 0 ) {
- this.fluidYInterpolatedProperty.setNextValue( this.stepBottom );
+ this.fluidYInterpolatedProperty.setNextValue( new Vector2( 0, this.stepBottom ) );
return;
}
const emptyVolume = this.getEmptyVolume( this.stepTop );
if ( emptyVolume === fluidVolume ) {
- this.fluidYInterpolatedProperty.setNextValue( this.stepTop );
+ this.fluidYInterpolatedProperty.setNextValue( new Vector2( 0, this.stepTop ) );
return;
}
// Due to shapes used, there is no analytical solution.
- this.fluidYInterpolatedProperty.setNextValue( Basin.findRoot(
+ this.fluidYInterpolatedProperty.setNextValue( new Vector2( 0, Basin.findRoot(
this.stepBottom,
this.stepTop,
DensityBuoyancyCommonConstants.TOLERANCE,
@@ -179,7 +176,7 @@
// The derivative (change of volume) happens to be the area at that section
yTest => this.getEmptyArea( yTest )
- ) );
+ ) ) );
}
/**
Index: density-buoyancy-common/js/common/model/InterpolatedProperty.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/density-buoyancy-common/js/common/model/InterpolatedProperty.ts b/density-buoyancy-common/js/common/model/InterpolatedProperty.ts
--- a/density-buoyancy-common/js/common/model/InterpolatedProperty.ts (revision a21ae4f2cab6795d4f3cadcc66711c15dcfefc8d)
+++ b/density-buoyancy-common/js/common/model/InterpolatedProperty.ts (date 1722956421078)
@@ -13,51 +13,48 @@
import Property, { PropertyOptions } from '../../../../axon/js/Property.js';
import { ReadOnlyPropertyState } from '../../../../axon/js/ReadOnlyProperty.js';
-import Vector2 from '../../../../dot/js/Vector2.js';
-import optionize from '../../../../phet-core/js/optionize.js';
-import IntentionalAny from '../../../../phet-core/js/types/IntentionalAny.js';
+import Vector2, { Vector2StateObject } from '../../../../dot/js/Vector2.js';
+import optionize, { EmptySelfOptions } from '../../../../phet-core/js/optionize.js';
import IOType from '../../../../tandem/js/types/IOType.js';
import NumberIO from '../../../../tandem/js/types/NumberIO.js';
import densityBuoyancyCommon from '../../densityBuoyancyCommon.js';
-import IOTypeCache from '../../../../tandem/js/IOTypeCache.js';
-type Interpolate<T> = ( a: T, b: T, ratio: number ) => T;
-type SelfOptions<T> = {
- interpolate: Interpolate<T>;
-};
-export type InterpolatedPropertyOptions<T> = SelfOptions<T> & PropertyOptions<T>;
+type SelfOptions = EmptySelfOptions;
+export type InterpolatedPropertyOptions = SelfOptions & PropertyOptions<Vector2>;
-export default class InterpolatedProperty<T> extends Property<T> {
+const PropertyIOVector2IO = Property.PropertyIO( Vector2.Vector2IO );
+
+export default class InterpolatedProperty extends Property<Vector2> {
// The most recently set value, but changing this will not fire listeners.
- public currentValue: T;
+ public currentValue: Vector2;
// Capture the previous value upon currentValue change.
- private previousValue: T;
- private ratio: number;
+ private previousValue: Vector2;
- private readonly interpolate: Interpolate<T>;
+ private ratio = 0;
- public constructor( initialValue: T, providedOptions: InterpolatedPropertyOptions<T> ) {
+ public constructor( x: number, y: number, providedOptions: InterpolatedPropertyOptions ) {
- const options = optionize<InterpolatedPropertyOptions<T>, SelfOptions<T>, PropertyOptions<T>>()( {
- phetioOuterType: InterpolatedProperty.InterpolatedPropertyIO
+ const options = optionize<InterpolatedPropertyOptions, SelfOptions, PropertyOptions<Vector2>>()( {
+
+ // terrible
+ // phetioOuterType: () => InterpolatedProperty.InterpolatedPropertyIO,
+ phetioValueType: Vector2.Vector2IO,
+ // phetioType: InterpolatedProperty.InterpolatedPropertyIO
}, providedOptions );
+ const initialValue = new Vector2( x, y );
super( initialValue, options );
- this.interpolate = options.interpolate;
-
this.currentValue = initialValue;
this.previousValue = initialValue;
-
- this.ratio = 0;
}
/**
* Sets the next value to be used (will NOT change the value of this Property).
*/
- public setNextValue( value: T ): void {
+ public setNextValue( value: Vector2 ): void {
this.previousValue = this.currentValue;
this.currentValue = value;
}
@@ -71,7 +68,7 @@
// Interpolating between two values ago and the most recent value is a common heuristic to do, but it is important
// that no model code relies on this, and instead would just use currentValue directly. This is also duplicated from
// what p2 World does after step.
- this.value = this.interpolate( this.previousValue, this.currentValue, this.ratio );
+ this.value = this.previousValue.blend( this.currentValue, ratio );
}
/**
@@ -85,68 +82,37 @@
this.ratio = 0;
}
- /**
- * Interpolation for numbers.
- */
- public static interpolateNumber( a: number, b: number, ratio: number ): number {
- return a + ( b - a ) * ratio;
- }
-
- /**
- * Interpolation for Vector2.
- */
- public static interpolateVector2( a: Vector2, b: Vector2, ratio: number ): Vector2 {
- return a.blend( b, ratio );
- }
-
- public static readonly InterpolatedPropertyIO = ( parameterType: IOType ): IOType => {
- assert && assert( parameterType, 'InterpolatedPropertyIO needs parameterType' );
-
- if ( !cache.has( parameterType ) ) {
- const PropertyIOImpl = Property.PropertyIO( parameterType );
-
- const ioType = new IOType( `InterpolatedPropertyIO<${parameterType.typeName}>`, {
- valueType: InterpolatedProperty,
- supertype: PropertyIOImpl,
- parameterTypes: [ parameterType ],
- documentation: 'Extends PropertyIO to interpolation (with a current/previous value, and a ratio between the two)',
- toStateObject: ( interpolatedProperty: InterpolatedProperty<IntentionalAny> ): InterpolatedPropertyIOStateObject => {
+ public static InterpolatedPropertyIO = new IOType( `InterpolatedPropertyIO`, {
+ valueType: InterpolatedProperty,
+ supertype: PropertyIOVector2IO,
+ documentation: 'Extends PropertyIO to interpolation (with a current/previous value, and a ratio between the two)',
+ toStateObject: ( interpolatedProperty: InterpolatedProperty ): InterpolatedPropertyIOStateObject => {
- const parentStateObject = PropertyIOImpl.toStateObject( interpolatedProperty );
+ const parentStateObject = PropertyIOVector2IO.toStateObject( interpolatedProperty );
- parentStateObject.currentValue = parameterType.toStateObject( interpolatedProperty.currentValue );
- parentStateObject.previousValue = parameterType.toStateObject( interpolatedProperty.previousValue );
- parentStateObject.ratio = interpolatedProperty.ratio;
+ parentStateObject.currentValue = interpolatedProperty.currentValue.toStateObject();
+ parentStateObject.previousValue = interpolatedProperty.previousValue.toStateObject();
+ parentStateObject.ratio = interpolatedProperty.ratio;
- return parentStateObject;
- },
- applyState: ( interpolatedProperty: InterpolatedProperty<IntentionalAny>, stateObject: InterpolatedPropertyIOStateObject ) => {
- PropertyIOImpl.applyState( interpolatedProperty, stateObject );
- interpolatedProperty.currentValue = parameterType.fromStateObject( stateObject.currentValue );
- interpolatedProperty.previousValue = parameterType.fromStateObject( stateObject.previousValue );
- interpolatedProperty.ratio = stateObject.ratio;
- },
- stateSchema: {
- currentValue: parameterType,
- previousValue: parameterType,
- ratio: NumberIO
- }
- } );
-
- cache.set( parameterType, ioType );
+ return parentStateObject;
+ },
+ applyState: ( interpolatedProperty: InterpolatedProperty, stateObject: InterpolatedPropertyIOStateObject ) => {
+ PropertyIOVector2IO.applyState( interpolatedProperty, stateObject );
+ interpolatedProperty.currentValue = Vector2.fromStateObject( stateObject.currentValue );
+ interpolatedProperty.previousValue = Vector2.fromStateObject( stateObject.previousValue );
+ interpolatedProperty.ratio = stateObject.ratio;
+ },
+ stateSchema: {
+ currentValue: Vector2.Vector2IO,
+ previousValue: Vector2.Vector2IO,
+ ratio: NumberIO
}
-
- return cache.get( parameterType )!;
- };
+ } )
}
-// {Map.<IOType, IOType>} - Cache each parameterized PropertyIO based on
-// the parameter type, so that it is only created once
-const cache = new IOTypeCache();
-
-export type InterpolatedPropertyIOStateObject = ReadOnlyPropertyState<IntentionalAny> & {
- currentValue: IntentionalAny;
- previousValue: IntentionalAny;
+export type InterpolatedPropertyIOStateObject = ReadOnlyPropertyState<Vector2StateObject> & {
+ currentValue: Vector2StateObject;
+ previousValue: Vector2StateObject;
ratio: number;
};
|
I learned that a statically declared member IO Type can access private members in the outer class. I feel this is a reasonable and understandable permission, and preferable to making the private members public. |
samreid
added a commit
that referenced
this issue
Aug 6, 2024
samreid
added a commit
that referenced
this issue
Aug 6, 2024
I documented the two sites accordingly, closing. |
samreid
added a commit
that referenced
this issue
Aug 6, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
From #123 I observed that InterpolatedPropertyIO and MassIO access private/protected members for state. Not sure why this is passing the type checker.
The text was updated successfully, but these errors were encountered: