@Override
    public void generateStructure(GenerateStructureDirective<DocGenerationContext, DocSettings> directive) {
        // Input and output structures are documented alongside the relevant operations.
        if (directive.shape().hasTrait(InputTrait.ID) || directive.shape().hasTrait(OutputTrait.ID)) {
            return;
        }
        new StructuredShapeGenerator(directive.context()).accept(directive.shape(), MemberListingType.MEMBERS);
    }
The main entry points for documentation generation.
smithy-docgen/src/main/java/software/amazon/smithy/docgen/DirectedDocGen.java