@@ -28,17 +28,17 @@ export interface GlobeHandle {
2828 /** Transition a country from solid fill to pattern fill */
2929 transitionCountryToSolved (
3030 countryName : string ,
31- patternIndex : number
31+ patternPath : string
3232 ) : Promise < void > ;
3333 /** Rotate camera to the country, transition material, and pulse a highlight glow */
34- focusAndHighlightCountry ( countryName : string , patternIndex : number ) : void ;
34+ focusAndHighlightCountry ( countryName : string , patternPath : string ) : void ;
3535 /**
3636 * Enqueue multiple solve animations, sorted by geographic proximity
3737 * (greedy nearest-neighbor from the current camera position) so the camera
3838 * traces a short path instead of jumping randomly around the globe.
3939 */
4040 focusAndHighlightCountries (
41- solves : Array < { countryName : string ; patternIndex : number } >
41+ solves : Array < { countryName : string ; patternPath : string } >
4242 ) : void ;
4343}
4444
@@ -201,12 +201,12 @@ function GlobeInternal({
201201 const handle : GlobeHandle = {
202202 transitionCountryToSolved : async (
203203 countryName : string ,
204- patternIndex : number
204+ patternPath : string
205205 ) => {
206206 const colors = themeColorsRef . current ;
207207 await globeRenderer . transitionCountryToSolved (
208208 countryName ,
209- patternIndex ,
209+ patternPath ,
210210 {
211211 primary : colors . primary ,
212212 glowIntensity : colors . glowIntensity ,
@@ -215,14 +215,14 @@ function GlobeInternal({
215215 } ,
216216 focusAndHighlightCountry : (
217217 countryName : string ,
218- patternIndex : number
218+ patternPath : string
219219 ) => {
220220 const center = globeRenderer . getCountryCenter ( countryName ) ;
221221 if ( ! center ) {
222222 // Fallback: just do the material transition without animation
223223 const colors = themeColorsRef . current ;
224224 globeRenderer
225- . transitionCountryToSolved ( countryName , patternIndex , {
225+ . transitionCountryToSolved ( countryName , patternPath , {
226226 primary : colors . primary ,
227227 glowIntensity : colors . glowIntensity ,
228228 } )
@@ -242,7 +242,7 @@ function GlobeInternal({
242242 animator . enqueue (
243243 new SolveSequenceAnimation ( {
244244 countryName,
245- patternIndex ,
245+ patternPath ,
246246 targetPosition : capitalWorld ,
247247 capitalWorldPos : capitalWorld ,
248248 camera,
@@ -256,14 +256,14 @@ function GlobeInternal({
256256 ) ;
257257 } ,
258258 focusAndHighlightCountries : (
259- solves : Array < { countryName : string ; patternIndex : number } >
259+ solves : Array < { countryName : string ; patternPath : string } >
260260 ) => {
261261 if ( solves . length === 0 ) return ;
262262
263263 // Resolve centers for all solves, separate those without geo data
264264 type SolveWithCenter = {
265265 countryName : string ;
266- patternIndex : number ;
266+ patternPath : string ;
267267 lat : number ;
268268 lon : number ;
269269 } ;
@@ -276,7 +276,7 @@ function GlobeInternal({
276276 // No geo data — transition immediately without animation
277277 const colors = themeColorsRef . current ;
278278 globeRenderer
279- . transitionCountryToSolved ( s . countryName , s . patternIndex , {
279+ . transitionCountryToSolved ( s . countryName , s . patternPath , {
280280 primary : colors . primary ,
281281 glowIntensity : colors . glowIntensity ,
282282 } )
@@ -329,7 +329,7 @@ function GlobeInternal({
329329 animator . enqueue (
330330 new SolveSequenceAnimation ( {
331331 countryName : s . countryName ,
332- patternIndex : s . patternIndex ,
332+ patternPath : s . patternPath ,
333333 targetPosition : capitalWorld ,
334334 capitalWorldPos : capitalWorld ,
335335 camera,
0 commit comments