Heat the oven to 375°F and arrange a rack in the middle. In a large bowl, combine the 3 pounds peeled, cored pears cut into 1-inch pieces, 12 ounces (3 cups) fresh or frozen cranberries, 1/2 cup granulated sugar, 1 1/2 tablespoons cornstarch, 2 teaspoons orange zest, 1/4 cup fresh orange juice, and 1 teaspoon ground ginger. Toss until the fruit is well coated. Pour into a 2-quart baking dish and dot the top with the 4 tablespoons cubed unsalted butter or vegan butter. In a separate medium bowl, combine the 1 cup almond flour, 1 cup rolled oats (certified gluten-free if needed), 1/2 cup brown sugar, 1/2 cup chopped walnuts, 1 teaspoon kosher salt, and 2 teaspoons ground cinnamon. Stir until the sugar lumps are broken up and everything is evenly mixed. Add the 8 tablespoons cubed, room-temperature unsalted butter or vegan butter and work it into the dry ingredients with your hands until the mixture holds together when squeezed. Squeeze handfuls of the oat mixture into clumps, then break them into chunky pieces over the fruit. Repeat until all the topping is used and the fruit is covered.
Place the baking dish on a parchment-lined baking sheet to catch drips. Bake for 40–45 minutes, until the topping is dark golden brown and the fruit is bubbling.
Let the crisp cool for at least 15 minutes. Serve warm with vanilla ice cream and salted caramel sauce, if desired.