X_DIM = 9

# Conditioning continuous-feature width: pre_pos(3), log(pre_E)(1), pre_dir(3),
# layer_id(1), n_sec(1), log(e_sec)(1). One wider than X_DIM because e_sec
# (secondary energy) is a conditioning input in the energy-conservation PoC.
COND_DIM = 10

# The two energy columns are additive-log-ratio (ALR) coordinates of the
# deposit/secondary/post energy simplex (fractions of pre_E that sum to 1),
# referenced to the post-energy fraction — see giant.data.transforms
# .energy_simplex_encode/.energy_simplex_decode. They replace the former
# independent log_delta_e / log_edep targets so energy conservation holds by
# construction after decoding.
LOCAL_TARGET_NAMES = [
    "log_step_length",
    "edep_logit",
    "sec_logit",
    "post_dx",
    "post_dy",
    "post_dz",
    "travel_dx",
    "travel_dy",
    "travel_dz",
]

# Parquet schema metadata written by `giant predict` and checked by
# giant.analysis loaders, so a file's format can be verified without
# guessing from its column names.
PREDICT_COORD_METADATA_KEY = "giant.predict.coord"
PREDICT_SCHEMA_VERSION_KEY = "giant.predict.schema_version"
PREDICT_SCHEMA_VERSION = "2"
