private void PrintIAResult()

in src/ai/commands/vision_command.cs [130:191]


        private void PrintIAResult(ImageAnalysisResult result, TextWriter writer)
        {
            writer.WriteLine($"Image analysis results:");
            writer.WriteLine($" Metadata: Model: {result.ModelVersion} Image dimensions: {result.Metadata.Width} x {result.Metadata.Height}");

            if (result.Caption != null)
            {
                writer.WriteLine($" Caption: {result.Caption.Text}, Confidence: {result.Caption.Confidence:F4}");
            }
            if (result.DenseCaptions != null)
            {
                writer.WriteLine($" Dense Captions:");
                foreach (DenseCaption denseCaption in result.DenseCaptions.Values)
                {
                    writer.WriteLine($"   Region: '{denseCaption.Text}', Confidence: {denseCaption.Confidence:F4}, Bounding box: {denseCaption.BoundingBox}");
                }
            }
            if (result.Tags != null)
            {
                writer.WriteLine($" Tags:");
                foreach (DetectedTag tag in result.Tags.Values)
                {
                    writer.WriteLine($"   '{tag.Name}', Confidence: {tag.Confidence:F4}");
                }
            }
            if (result.Objects != null)
            {
                writer.WriteLine($" Objects:");
                foreach (DetectedObject detectedObject in result.Objects?.Values)
                {
                    writer.WriteLine($"   Object: '{detectedObject.Tags.First().Name}', Bounding box: {detectedObject.BoundingBox.ToString()}");
                }
            }
            if (result.SmartCrops != null)
            {
                writer.WriteLine($" SmartCrops:");
                foreach (CropRegion cropRegion in result.SmartCrops?.Values)
                {
                    writer.WriteLine($"   Aspect ratio: {cropRegion.AspectRatio}, Bounding box: {cropRegion.BoundingBox}");
                }
            }
            if (result.People != null)
            {
                writer.WriteLine($" People:");
                foreach (DetectedPerson person in result.People?.Values)
                {
                    writer.WriteLine($"   Person: Bounding box {person.BoundingBox.ToString()}, Confidence: {person.Confidence:F4}");
                }
            }
            if (result.Read != null)
            {
                writer.WriteLine($" Read:");
                foreach (var line in result.Read?.Blocks.SelectMany(block => block.Lines))
                {
                    writer.WriteLine($"   Line: '{line.Text}', Bounding Polygon: [{string.Join(" ", line.BoundingPolygon)}]");
                    foreach (DetectedTextWord word in line.Words)
                    {
                        writer.WriteLine($"     Word: '{word.Text}', Confidence {word.Confidence.ToString("#.####")}, Bounding Polygon: [{string.Join(" ", word.BoundingPolygon)}]");
                    }
                }
            }
        }