import '../../../../../globals.js';
import { combineOptions } from '../../../../../phet-core/js/optionize.js';
import { alpenglow, DIRECT_MODULE_DEFAULTS, DirectModule, MAIN_TWO_PASS_COARSE_DEFAULTS, mainTwoPassCoarseWGSL } from '../../../imports.js';
export const MAIN_TWO_PASS_COARSE_MODULE_DEFAULTS = {
    // eslint-disable-next-line phet/no-object-spread-on-non-literals
    ...DIRECT_MODULE_DEFAULTS,
    // eslint-disable-next-line phet/no-object-spread-on-non-literals
    ...MAIN_TWO_PASS_COARSE_DEFAULTS
};
// inputSize: number - numRenderableFaces
export default class MainTwoPassCoarseModule extends DirectModule {
    constructor(providedOptions) {
        const options = combineOptions({
            main: mainTwoPassCoarseWGSL(providedOptions),
            setDispatchSize: (dispatchSize, numRenderableFaces) => {
                dispatchSize.x = numRenderableFaces;
            }
        }, providedOptions);
        super(options);
        this.config = options.config;
        this.coarseRenderableFaces = options.coarseRenderableFaces;
        this.coarseEdges = options.coarseEdges;
        this.fineRenderableFaces = options.fineRenderableFaces;
        this.fineEdges = options.fineEdges;
        this.addresses = options.addresses;
    }
}
alpenglow.register('MainTwoPassCoarseModule', MainTwoPassCoarseModule);
//# sourceMappingURL=MainTwoPassCoarseModule.js.map