11// SPDX-License-Identifier: MIT
22// Copyright contributors to the kepler.gl project
33
4- // @ts -nocheck - luma.gl 9.x has completely restructured shader modules
5- // TODO: Refactor to use luma.gl 9.x shader module patterns
6-
74import { PostProcessEffect as DeckPostProcessEffect } from '@deck.gl/core' ;
8-
9- // In luma.gl 9.x, these shader modules have been restructured
10- // For now, use empty placeholders
11- const brightnessContrast = { } ;
12- const ink = { } ;
13- const triangleBlur = { } ;
14- const hueSaturation = { } ;
15- const vibrance = { } ;
16- const colorHalftone = { } ;
17- const dotScreen = { } ;
18- const edgeWork = { } ;
19- const noise = { } ;
20- const sepia = { } ;
21- const tiltShift = { } ;
22- const vignette = { } ;
23- const zoomBlur = { } ;
24- const magnify = { } ;
25- const hexagonalPixelate = { } ;
5+ import {
6+ brightnessContrast ,
7+ ink ,
8+ triangleBlur ,
9+ hueSaturation ,
10+ vibrance ,
11+ colorHalftone ,
12+ dotScreen ,
13+ edgeWork ,
14+ noise ,
15+ sepia ,
16+ tiltShift ,
17+ vignette ,
18+ zoomBlur ,
19+ magnify ,
20+ hexagonalPixelate
21+ } from '@luma.gl/effects' ;
2622
2723import { POSTPROCESSING_EFFECTS , DEFAULT_POST_PROCESSING_EFFECT_TYPE } from '@kepler.gl/constants' ;
2824import { EffectPropsPartial , EffectParameterDescription } from '@kepler.gl/types' ;
@@ -118,20 +114,28 @@ class PostProcessingEffect extends Effect {
118114
119115 _initializeEffect ( ) {
120116 const effectDesc = POSTPROCESSING_EFFECTS_DESCS . find ( desc => desc . type === this . type ) ;
121- if ( effectDesc ) {
122- this . deckEffect = new DeckPostProcessEffect ( effectDesc . class , this . parameters ) ;
117+ if ( effectDesc && effectDesc . class ) {
118+ try {
119+ this . deckEffect = new DeckPostProcessEffect ( effectDesc . class , this . parameters ) ;
123120
124- const uniforms = this . deckEffect ?. module ?. uniforms ;
125- if ( uniforms ) {
126- // get default parameters
127- const keys = Object . keys ( uniforms ) ;
128- const defaultParameters = { } ;
129- keys . forEach ( key => {
130- defaultParameters [ key ] = getDefaultValueForParameter ( key , this . _uiConfig , uniforms ) ;
131- } ) ;
132- this . parameters = { ...defaultParameters , ...this . parameters } ;
133- this . deckEffect ?. setProps ( this . parameters ) ;
121+ const uniforms = this . deckEffect ?. module ?. uniforms ;
122+ if ( uniforms ) {
123+ // get default parameters
124+ const keys = Object . keys ( uniforms ) ;
125+ const defaultParameters = { } ;
126+ keys . forEach ( key => {
127+ defaultParameters [ key ] = getDefaultValueForParameter ( key , this . _uiConfig , uniforms ) ;
128+ } ) ;
129+ this . parameters = { ...defaultParameters , ...this . parameters } ;
130+ this . deckEffect ?. setProps ( this . parameters ) ;
131+ }
132+ } catch ( error ) {
133+ console . warn ( `Failed to initialize post-processing effect "${ this . type } ":` , error ) ;
134+ this . deckEffect = null ;
134135 }
136+ } else {
137+ console . warn ( `Post-processing effect "${ this . type } " is not properly configured` ) ;
138+ this . deckEffect = null ;
135139 }
136140 }
137141
@@ -143,8 +147,8 @@ class PostProcessingEffect extends Effect {
143147 super . setProps ( props ) ;
144148
145149 // any uniform updated?
146- if ( props . parameters ) {
147- this . deckEffect ? .setProps ( this . parameters ) ;
150+ if ( props . parameters && this . deckEffect ) {
151+ this . deckEffect . setProps ( this . parameters ) ;
148152 }
149153 }
150154}
0 commit comments