Skip to content
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

Investigate using madge to detect circular dependencies in our codebase #1557

Open
jonathanolson opened this issue Feb 6, 2025 · 7 comments

Comments

@jonathanolson
Copy link
Contributor

This should be similar to how this is done for scenerystack.

@jonathanolson
Copy link
Contributor Author

jonathanolson commented Feb 9, 2025

It brought up the following circular dependencies. Notably, there are some in scenerystack code which did not get caught by other tooling:

  • 1) joist/js/Screen.ts > joist/js/ScreenIcon.ts
  • 2) joist/js/Sim.ts > joist/js/Heartbeat.ts
  • 3) joist/js/Sim.ts > joist/js/Helper.ts
  • 4) joist/js/Sim.ts > joist/js/Helper.ts > joist/js/SimDisplay.ts > joist/js/HighlightVisibilityController.ts > joist/js/preferences/PreferencesModel.ts > joist/js/audioManager.ts
  • 5) scenery-phet/js/keyboard/help/KeyboardHelpSection.ts > scenery-phet/js/keyboard/help/KeyboardHelpSectionRow.ts
  • 6) joist/js/Sim.ts > joist/js/NavigationBar.ts > joist/js/A11yButtonsHBox.ts > joist/js/KeyboardHelpButton.ts > joist/js/KeyboardHelpDialog.ts > sun/js/Dialog.ts
  • 7) joist/js/Sim.ts > joist/js/NavigationBar.ts > joist/js/A11yButtonsHBox.ts
  • 8) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/AudioPreferencesPanel.ts
  • 9) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/AudioPreferencesPanel.ts > joist/js/preferences/PreferencesPanelSection.ts
  • 10) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/AudioPreferencesPanel.ts > joist/js/preferences/SoundPanelSection.ts
  • 11) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/AudioPreferencesPanel.ts > joist/js/preferences/VoicingPanelSection.ts
  • 12) sun/js/ComboBox.ts > sun/js/ComboBoxButton.ts
  • 13) sun/js/ComboBox.ts > sun/js/ComboBoxListBox.ts
  • 14) sun/js/ComboBox.ts > sun/js/ComboBoxListBox.ts > sun/js/ComboBoxListItemNode.ts
  • 15) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/InputPreferencesPanel.ts
  • 16) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/LocalizationPreferencesPanel.ts > joist/js/preferences/LocalePanel.ts > joist/js/preferences/LanguageSelectionNode.ts
  • 17) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/LocalizationPreferencesPanel.ts
  • 18) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/LocalizationPreferencesPanel.ts > joist/js/preferences/RegionAndCultureComboBox.ts
  • 19) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/OverviewPreferencesPanel.ts
  • 20) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/PreferencesTabs.ts > joist/js/preferences/PreferencesTab.ts
  • 21) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/SimulationPreferencesPanel.ts
  • 22) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/VisualPreferencesPanel.ts
  • 23) joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/VisualPreferencesPanel.ts > joist/js/preferences/ProjectorModeToggleSwitch.ts
  • 24) joist/js/UpdateNodes.ts > joist/js/UpdateDialog.ts
  • 25) joist/js/Sim.ts > joist/js/NavigationBar.ts > joist/js/PhetButton.ts > joist/js/PhetMenu.ts > joist/js/ScreenshotGenerator.ts
  • 26) joist/js/Sim.ts > joist/js/NavigationBar.ts > joist/js/PhetButton.ts > joist/js/PhetMenu.ts
  • 27) joist/js/Sim.ts > joist/js/NavigationBar.ts > joist/js/PhetButton.ts
  • 28) joist/js/Sim.ts > joist/js/NavigationBar.ts
  • 29) joist/js/Sim.ts > joist/js/Profiler.ts
  • 30) joist/js/SimInfo.ts > joist/js/Sim.ts
  • 31) joist/js/Sim.ts > joist/js/thirdPartySupport/LegendsOfLearningSupport.ts
  • 32) phet-io/js/phetioEngine.ts > phet-io/js/PhetioStateEngine.ts
  • 33) phet-io/js/phetioEngine.ts > phet-io/js/phetioCommandProcessor.ts
  • 34) balancing-act/js/game/model/BalanceGameChallengeFactory.js > balancing-act/js/game/model/BalanceMassesChallenge.js > balancing-act/js/game/model/BalanceGameChallenge.js
  • 35) build-an-atom/js/game/model/BAAGameChallenge.js > build-an-atom/js/game/model/BAAGameState.js
  • 36) sherpa/lib/fluent/fluent-bundle-0.18.0/src/bundle.ts > sherpa/lib/fluent/fluent-bundle-0.18.0/src/builtins.ts > sherpa/lib/fluent/fluent-bundle-0.18.0/src/types.ts > sherpa/lib/fluent/fluent-bundle-0.18.0/src/scope.ts
  • 37) sherpa/lib/fluent/fluent-bundle-0.18.0/src/bundle.ts > sherpa/lib/fluent/fluent-bundle-0.18.0/src/resolver.ts
  • 38) circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/ACVoltage.ts
  • 39) circuit-construction-kit-common/js/model/CircuitElement.ts > circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/ACVoltage.ts > circuit-construction-kit-common/js/model/Vertex.ts
  • 40) circuit-construction-kit-common/js/model/CircuitElement.ts > circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/ACVoltage.ts > circuit-construction-kit-common/js/model/VoltageSource.ts > circuit-construction-kit-common/js/model/FixedCircuitElement.ts
  • 41) circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/Battery.ts
  • 42) circuit-construction-kit-common/js/model/CircuitElement.ts > circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/Charge.ts
  • 43) circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/ChargeAnimator.ts
  • 44) circuit-construction-kit-common/js/model/CircuitElement.ts > circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/ChargeAnimator.ts
  • 45) circuit-construction-kit-common/js/model/CircuitElement.ts > circuit-construction-kit-common/js/model/Circuit.ts
  • 46) circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/Fuse.ts
  • 47) circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/LightBulb.ts
  • 48) circuit-construction-kit-common/js/model/CircuitElement.ts > circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/Resistor.ts
  • 49) circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/Switch.ts
  • 50) circuit-construction-kit-common/js/model/CircuitElement.ts > circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/VoltageConnection.ts
  • 51) circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/Wire.ts
  • 52) circuit-construction-kit-common/js/model/CircuitElement.ts > circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/Wire.ts
  • 53) circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/analysis/LinearTransientAnalysis.ts
  • 54) circuit-construction-kit-common/js/model/CircuitElement.ts > circuit-construction-kit-common/js/model/Circuit.ts > circuit-construction-kit-common/js/model/analysis/LinearTransientAnalysis.ts
  • 55) circuit-construction-kit-common/js/model/analysis/LTACircuit.ts > circuit-construction-kit-common/js/model/analysis/LTASolution.ts
  • 56) circuit-construction-kit-common/js/model/analysis/LTACircuit.ts > circuit-construction-kit-common/js/model/analysis/LTAState.ts
  • 57) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/ACVoltageNode.ts
  • 58) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/ACVoltageNode.ts
  • 59) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/ACVoltageNode.ts > circuit-construction-kit-common/js/view/FixedCircuitElementNode.ts
  • 60) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/ACVoltageNode.ts > circuit-construction-kit-common/js/view/FixedCircuitElementNode.ts > circuit-construction-kit-common/js/view/CircuitElementNode.ts
  • 61) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/ACVoltageNode.ts > circuit-construction-kit-common/js/view/FixedCircuitElementNode.ts > circuit-construction-kit-common/js/view/CircuitElementNode.ts
  • 62) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/ACVoltageNode.ts > circuit-construction-kit-common/js/view/FixedCircuitElementNode.ts > circuit-construction-kit-common/js/view/CircuitElementNode.ts > circuit-construction-kit-common/js/view/CircuitNodeDragListener.ts
  • 63) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/ACVoltageNode.ts > circuit-construction-kit-common/js/view/FixedCircuitElementNode.ts
  • 64) circuit-construction-kit-common/js/view/FixedCircuitElementNode.ts > circuit-construction-kit-common/js/view/FixedCircuitElementHighlightNode.ts
  • 65) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/BatteryNode.ts
  • 66) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/BatteryNode.ts
  • 67) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/CCKCLightBulbNode.ts
  • 68) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/CCKCLightBulbNode.ts
  • 69) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/CCKCLightBulbNode.ts > circuit-construction-kit-common/js/view/LightBulbSocketNode.ts
  • 70) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/CCKCLightBulbNode.ts > circuit-construction-kit-common/js/view/LightBulbSocketNode.ts
  • 71) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts
  • 72) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/CapacitorCircuitElementNode.ts
  • 73) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/CapacitorCircuitElementNode.ts
  • 74) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/ChargeNode.ts
  • 75) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/CircuitDebugLayer.ts
  • 76) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/DogNode.ts
  • 77) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/DogNode.ts
  • 78) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/DogNode.ts > circuit-construction-kit-common/js/view/ResistorNode.ts
  • 79) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/DogNode.ts > circuit-construction-kit-common/js/view/ResistorNode.ts
  • 80) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/FuseNode.ts
  • 81) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/FuseNode.ts
  • 82) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/InductorNode.ts
  • 83) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/InductorNode.ts
  • 84) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/SeriesAmmeterNode.ts
  • 85) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/SeriesAmmeterNode.ts
  • 86) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/SolderNode.ts
  • 87) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/SwitchNode.ts
  • 88) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/SwitchNode.ts
  • 89) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/VertexNode.ts
  • 90) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/AmmeterNode.ts > circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/WireNode.ts
  • 91) circuit-construction-kit-common/js/view/CircuitNode.ts > circuit-construction-kit-common/js/view/WireNode.ts
  • 92) circuit-construction-kit-common/js/view/CCKCScreenView.ts > circuit-construction-kit-common/js/view/CurrentChartNode.ts > circuit-construction-kit-common/js/view/CCKCChartNode.ts
  • 93) collision-lab/js/common/model/Ball.js > collision-lab/js/common/model/BallUtils.js
  • 94) collision-lab/js/common/model/Ball.js > collision-lab/js/common/model/PlayArea.js
  • 95) counting-common/js/common/model/BaseNumber.ts > counting-common/js/common/view/BaseNumberNode.ts
  • 96) scenery-phet/js/HeaterCoolerBack.ts > scenery-phet/js/HeaterCoolerFront.ts
  • 97) gene-expression-essentials/js/common/model/Ribosome.js > gene-expression-essentials/js/common/model/attachment-state-machines/RibosomeAttachmentStateMachine.js
  • 98) john-travoltage/js/john-travoltage/model/JohnTravoltageModel.js > john-travoltage/js/john-travoltage/model/Leg.js
  • 99) number-line-integers/js/explore/view/ElevationSceneView.js > number-line-integers/js/explore/view/ElevationPointControllerNode.js
  • 100) number-line-operations/js/common/view/NumberLineOperationNode.js > number-line-operations/js/common/view/OperationArrowNode.js
  • 101) projectile-motion/js/common/model/DataProbe.ts > projectile-motion/js/common/model/Trajectory.ts
  • 102) projectile-motion/js/common/model/DataProbe.ts > projectile-motion/js/common/model/Trajectory.ts > projectile-motion/js/common/model/ProjectileMotionModel.ts
  • 103) projectile-motion/js/common/model/Trajectory.ts > projectile-motion/js/common/model/ProjectileMotionModel.ts
  • 104) wave-interference/js/common/model/SoundScene.ts > wave-interference/js/common/model/SoundParticle.ts

@jonathanolson
Copy link
Contributor Author

@zepumph thoughts on how to handle the non-sim circular dependencies?

zepumph added a commit to phetsims/perennial that referenced this issue Feb 10, 2025
zepumph added a commit to phetsims/joist that referenced this issue Feb 10, 2025
@zepumph
Copy link
Member

zepumph commented Feb 10, 2025

Hey. I love this script! Thanks so much for making it. I moved it over to scripts/ because I'm trying to keep grunt/ as the list of public tasks we would want to communicate to all devs (and mostly even to public, non phet, devs). It's a bit arbitrary, but thanks for you patience.

I think we should work on joist first (the only common code). And then discuss next steps at dev meeting.

zepumph added a commit to phetsims/scenery-phet that referenced this issue Feb 10, 2025
zepumph added a commit to phetsims/joist that referenced this issue Feb 11, 2025
zepumph added a commit to phetsims/scenery-phet that referenced this issue Feb 11, 2025
@zepumph
Copy link
Member

zepumph commented Feb 11, 2025

Most of the ones I solved where just adding "type" to the import. Yay!

  • We should make a separate issue in CCK common to handle those, that is the vast majority of them.

Common code left:

  • SUN/ComboBox and composed types
  • JOIST/Preferences code
  • SHERPA/fluent code.

Let's discuss at dev meeting for a progress report.

@jonathanolson, can you please post here some of the benefits of handling all of these, and if the benefits differ between common code and sim-specific circles.

@zepumph zepumph removed their assignment Feb 11, 2025
@zepumph
Copy link
Member

zepumph commented Feb 11, 2025

Also noting that if we solve everything, then we can turn on phetsims/perennial#432 perhaps quite a bit easier.

@zepumph
Copy link
Member

zepumph commented Feb 11, 2025

Probably we want to think about this issue in the same conversation as phetsims/perennial#432. When I applied the consistent-type-imports rule and ran with --fix, this list went down to just 26 problems.

@zepumph
Copy link
Member

zepumph commented Feb 11, 2025

After committing the auto fix over in phetsims/perennial#432 to axon and CCKC, we are down to 30 problems:

  1. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/AudioPreferencesPanel.ts
  2. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/AudioPreferencesPanel.ts > joist/js/preferences/PreferencesPanelSection.ts
  3. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/AudioPreferencesPanel.ts > joist/js/preferences/SoundPanelSection.ts
  4. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/AudioPreferencesPanel.ts > joist/js/preferences/VoicingPanelSection.ts
  5. sun/js/ComboBox.ts > sun/js/ComboBoxButton.ts
  6. sun/js/ComboBox.ts > sun/js/ComboBoxListBox.ts
  7. sun/js/ComboBox.ts > sun/js/ComboBoxListBox.ts > sun/js/ComboBoxListItemNode.ts
  8. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/InputPreferencesPanel.ts
  9. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/LocalizationPreferencesPanel.ts > joist/js/preferences/LocalePanel.ts > joist/js/preferences/LanguageSelectionNode.ts
  10. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/LocalizationPreferencesPanel.ts
  11. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/LocalizationPreferencesPanel.ts > joist/js/preferences/RegionAndCultureComboBox.ts
  12. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/OverviewPreferencesPanel.ts
  13. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/PreferencesTabs.ts > joist/js/preferences/PreferencesTab.ts
  14. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/SimulationPreferencesPanel.ts
  15. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/VisualPreferencesPanel.ts
  16. joist/js/preferences/PreferencesDialog.ts > joist/js/preferences/PreferencesPanels.ts > joist/js/preferences/VisualPreferencesPanel.ts > joist/js/preferences/ProjectorModeToggleSwitch.ts
  17. balancing-act/js/game/model/BalanceGameChallengeFactory.js > balancing-act/js/game/model/BalanceMassesChallenge.js > balancing-act/js/game/model/BalanceGameChallenge.js
  18. build-an-atom/js/game/model/BAAGameChallenge.js > build-an-atom/js/game/model/BAAGameState.js
  19. sherpa/lib/fluent/fluent-bundle-0.18.0/src/bundle.ts > sherpa/lib/fluent/fluent-bundle-0.18.0/src/builtins.ts > sherpa/lib/fluent/fluent-bundle-0.18.0/src/types.ts > sherpa/lib/fluent/fluent-bundle-0.18.0/src/scope.ts
  20. sherpa/lib/fluent/fluent-bundle-0.18.0/src/bundle.ts > sherpa/lib/fluent/fluent-bundle-0.18.0/src/resolver.ts
  21. collision-lab/js/common/model/Ball.js > collision-lab/js/common/model/BallUtils.js
  22. collision-lab/js/common/model/Ball.js > collision-lab/js/common/model/PlayArea.js
  23. counting-common/js/common/model/BaseNumber.ts > counting-common/js/common/view/BaseNumberNode.ts
  24. gene-expression-essentials/js/common/model/Ribosome.js > gene-expression-essentials/js/common/model/attachment-state-machines/RibosomeAttachmentStateMachine.js
  25. john-travoltage/js/john-travoltage/model/JohnTravoltageModel.js > john-travoltage/js/john-travoltage/model/Leg.js
  26. number-line-integers/js/explore/view/ElevationSceneView.js > number-line-integers/js/explore/view/ElevationPointControllerNode.js
  27. number-line-operations/js/common/view/NumberLineOperationNode.js > number-line-operations/js/common/view/OperationArrowNode.js
  28. projectile-motion/js/common/model/DataProbe.ts > projectile-motion/js/common/model/Trajectory.ts
  29. projectile-motion/js/common/model/DataProbe.ts > projectile-motion/js/common/model/Trajectory.ts > projectile-motion/js/common/model/ProjectileMotionModel.ts
  30. projectile-motion/js/common/model/Trajectory.ts > projectile-motion/js/common/model/ProjectileMotionModel.ts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants