package com.placeholder.sherpai2.di

import com.placeholder.sherpai2.data.local.dao.FaceCacheDao
import com.placeholder.sherpai2.domain.similarity.FaceSimilarityScorer
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton

/**
 * SimilarityModule - Provides similarity scoring dependencies
 *
 * This module provides FaceSimilarityScorer for Rolling Scan feature
 */
@Module
@InstallIn(SingletonComponent::class)
object SimilarityModule {

    /**
     * Provide FaceSimilarityScorer singleton
     *
     * FaceSimilarityScorer handles real-time similarity scoring
     * for the Rolling Scan feature
     */
    @Provides
    @Singleton
    fun provideFaceSimilarityScorer(
        faceCacheDao: FaceCacheDao
    ): FaceSimilarityScorer {
        return FaceSimilarityScorer(faceCacheDao)
    }
}