Skip to content

Conversation

@marc-romu
Copy link
Member

Description

This PR marks the release of SmartHopper v0.1.1-alpha, which includes several new components and significant code refactoring to improve organization and reusability. The release emphasizes the plugin's ability to enable AI to directly read and interact with Grasshopper files, with two new components (GhGetSelectedComponents and AiContext) now available.

The PR includes extensive refactoring of AI text evaluation and list processing tools, creating more modular and reusable code structures. This improves maintainability and sets the foundation for future component development. The README has also been updated to better communicate the plugin's core functionality.

Breaking Changes

No breaking changes.

Testing Done

  • Tested GhGetSelectedComponents with various selection scenarios
  • Verified AiContext component functionality with different input types
  • Confirmed that all refactored components maintain their original functionality
  • Verified that persistent data is properly set with GhPutComponents
  • Tested pivot grid generation in GhPutComponents
  • Validated error handling in list processing components

Checklist

  • This PR is focused on a single feature or bug fix
  • Version in Solution.props was updated, if necessary, and follows semantic versioning
  • CHANGELOG.md has been updated
  • PR title follows Conventional Commits format
  • PR description follows Pull Request Description Template

marc-romu and others added 30 commits February 12, 2025 16:47
## Description

This PR includes a new About menu using eto instead of system forms, and
commented out some unused code.

## Breaking Changes

Not known.

## Testing Done

RH 8.15 on windows

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows [Pull Request Description
Template](#pull-request-description-template)
Automated PR to update version badge in README.md for dev branch

  Changes:
  - Updated version badge to 0.1.1-dev.250212
  - Updated status and color based on version type
## Description

This PR adds a new component called Get Selected Components. This
component converts the selected components into GhJSON format. If no
component is selected, all the file is converted.

## Breaking Changes

None known.

## Testing Done

RH8.15 on windows 11.

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows [Pull Request Description
Template](#pull-request-description-template)
## Description

Added a new component to add file context to AI-powered components.

Fix #40 

## Breaking Changes

None expected.

## Testing Done

Rh8.15 on Windows. Tried with the text generator components.

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [ ] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows [Pull Request Description
Template](#pull-request-description-template)
marc-romu and others added 27 commits February 22, 2025 16:47
…situation when pivot is not defined (#43)

## Description

Restored two functionalities to the GhPutComponent:
- Set persistent data when present in the input JSON.
- Handle situation when pivot is not defined by components in the input
JSON.

## Breaking Changes

None known.

## Testing Done

RH8.15 on windows.

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows [Pull Request Description
Template](#pull-request-description-template)
Automated PR to update version badge in README.md for dev branch

  Changes:
  - Updated version badge to 0.1.1-dev.250222
  - Updated status and color based on version type
- Add generic AIEvaluationResult<T> for tool-component communication
- Create ParsingTools for reusable AI response parsing
- Create TextTools with method EvaluateTextAsync (replacement of AiTextEvaluate main function)
#45)

## Description

- Add generic AIEvaluationResult<T> for tool-component communication
- Create ParsingTools for reusable AI response parsing
- Create TextTools with method EvaluateTextAsync (replacement of
AiTextEvaluate main function)

## Breaking Changes

Could there be some bug with the AiTextEvaluate component.

## Testing Done

RH8.15 on windows.

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows [Pull Request Description
Template](#pull-request-description-template)
## Description

This PR migrates the text generation functionality from the
AITextGenerate component to the generic TextTools class. This continues
our effort to move component-specific code to reusable tools.

The changes include:

- Added GenerateTextAsync methods to TextTools class
- Updated version in Solution.props to today's date
- Updated CHANGELOG.md to document the changes

## Breaking Changes

No breaking changes. This is a refactoring that maintains the same
functionality.

## Testing Done

RH8.15 on windows.

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows [Pull Request Description
Template](#pull-request-description-template)
Automated PR to update version badge in README.md for dev branch

  Changes:
  - Updated version badge to 0.1.1-dev.250302
  - Updated status and color based on version type
)

## Description

This PR migrates the list filtering functionality from the AIListFilter
component to the generic tools system. This continues our effort to move
component-specific code to reusable tools.

The changes include:

- Created new ListTools class with FilterListAsync methods
- Added ParseIndicesFromResponse method to ParsingTools
- Updated AIListFilter component to use the new generic tools
- Updated version in Solution.props to today's date
- Updated CHANGELOG.md to document the changes

## Breaking Changes

No breaking changes. This is a refactoring that maintains the same
functionality.

## Testing Done

RH8.15 on windows.

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows [Pull Request Description
Template](#pull-request-description-template)
…#49)

## Description

This PR completes the migration of list processing components to use the
centralized ListTools class. It updates the AIListFilter component to
use the new ListTools.FilterListAsync method and fixes an import issue
in AIListEvaluate. The changes improve code organization,
maintainability, and standardize error handling across components.

## Breaking Changes

No breaking changes. This is an internal refactoring that maintains the
same functionality.

## Testing Done

- Verified that the AIListFilter component correctly uses the
ListTools.FilterListAsync method
- Ensured proper error handling in both list processing components
- Confirmed that the components maintain the same functionality as
before

## Additional Notes
This PR is part of the ongoing effort to improve code organization and
reduce duplication by centralizing common functionality in reusable tool
classes.

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows [Pull Request Description
Template](#pull-request-description-template)
## Description

Previously, an empty context message was added to the message collection
when calling an AI from Get Response. This doesn't happen any more with
this PR.

## Breaking Changes

None known.

## Testing Done

RH8.16 on windows.

## Checklist

- [x] This PR is focused on a single feature or bug fix
- [x] Version in Solution.props was updated, if necessary, and follows
semantic versioning
- [x] CHANGELOG.md has been updated
- [x] PR title follows [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/) format
- [x] PR description follows [Pull Request Description
Template](#pull-request-description-template)
Automated PR to update version badge in README.md for dev branch

  Changes:
  - Updated version badge to 0.1.1-dev.250303
  - Updated status and color based on version type
@marc-romu marc-romu added this to the 0.1.1-alpha milestone Mar 3, 2025
@marc-romu marc-romu merged commit c233625 into main Mar 3, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants