export const GAMEPLAY_RULES = Object.freeze({
  physics: Object.freeze({
    normalizedMass: 1,
    heldAcceleration: -1150,
    releasedAcceleration: 920,
    upwardSpeedCap: -370,
    downwardSpeedCap: 440,
    crashAcceleration: 1200,
  }),
  collision: Object.freeze({
    halfWidth: 17,
    halfHeight: 16,
    ceiling: 18,
    groundClearance: 33,
  }),
  animation: Object.freeze({
    visibleWebTravelSeconds: 0.12,
    webFlashSeconds: 0.18,
    climbPhaseRate: 0.022,
  }),
});

export type GameplayRules = typeof GAMEPLAY_RULES;

/** Every visual skin receives the exact same gameplay rules object. */
export const gameplayRulesForSkin = (skinId: string): GameplayRules => {
  void skinId;
  return GAMEPLAY_RULES;
};
