Commit Graph

9 Commits

Author SHA1 Message Date
9c18bfa028 feat(lang): rename concept_comparison to definition (v0.3.2)
Renames the `concept_comparison` keyword to `definition` across the
entire codebase for better readability and conciseness.

Changes:
- Tree-sitter grammar: `concept_comparison` node → `definition`
- Tree-sitter queries: highlights, outline, and indents updated
- Zed extension highlights.scm updated to match
- Lexer: `Token::ConceptComparison` → `Token::Definition`
- Parser: `ConceptComparisonDecl` rule → `DefinitionDecl`
- AST: `Declaration::ConceptComparison` → `Declaration::Definition`,
  `ConceptComparisonDecl` struct → `DefinitionDecl`
- All Rust source files updated (validate, names, convert, references,
  semantic_tokens, symbols, code_actions, hover, completion)
- `validate_concept_comparison_patterns` → `validate_definition_patterns`
- Example file and test corpus updated
- Spec docs: created SBIR-v0.3.2-SPEC.md, updated TYPE-SYSTEM.md,
  README.md, SBIR-CHANGELOG.md, SBIR-v0.3.1-SPEC.md
2026-02-23 20:37:52 +00:00
47fafdc2bf feat(lang): complete extends to modifies keyword migration
This commit completes the migration started in the previous commit,
updating all remaining files:

- Lexer: Changed token from Extends to Modifies
- Parser: Updated lalrpop grammar rules and AST field names
- AST: Renamed Schedule.extends field to modifies
- Grammar: Updated tree-sitter grammar.js
- Tree-sitter: Regenerated parser.c and node-types.json
- Examples: Updated baker-family work schedules
- Tests: Updated schedule composition tests and corpus
- Docs: Updated all reference documentation and tutorials
- Validation: Updated error messages and validation logic
- Package: Bumped version to 0.3.1 in all package manifests

All 554 tests pass.
2026-02-16 22:55:04 +00:00
26bbef58d3 fix(lsp): correct line numbers in convert species/template tests
The tests were using line: 2 but the character declarations were on
line: 1 (due to the leading newline in the raw string literal). This
caused the cursor position to be outside the character span, making
the code actions fail to trigger.

Fixed by changing line: 2 to line: 1 in both test_convert_species_to_template
and test_convert_template_to_species.
2026-02-14 16:29:22 +00:00
b042f81aeb feat(examples): expand baker-family with relationships and world context
Added comprehensive v0.3.0 feature demonstration:

Characters (5 total):
- Martha & Jane (married lesbian couple, co-owners of bakery)
- Emma (their daughter, apprentice baker)
- Henry (loyal customer, retired teacher)
- Roland (competing baker)

New declarations:
- 6 relationships with asymmetric perspectives (Marriage, ParentChild×2,
  BusinessPartnership, CustomerRelationship, Competition)
- Locations with prose (MarthasBakery, MainStreet)
- Institution (BakersGuild)
- Life arcs (MarriageQuality, BusinessGrowth)

Features demonstrated:
- Concept comparison usage (skill_tier: Master/Journeyman)
- Life arc applied to relationship
- Asymmetric participant perspectives
- Family coherence across files
2026-02-14 15:54:43 +00:00
5e2a132827 docs: update README for v0.3.0
Added "What's New in v0.3" section covering species, concepts,
sub_concepts, concept_comparison, template species inheritance,
and life arc field requirements. Updated quick start example
with v0.3 syntax including species and type system declarations.
2026-02-14 14:45:17 +00:00
4e4e5500b0 chore: prep v0.3 work
Signed-off-by: Sienna Meridian Satterwhite <sienna@r3t.io>
2026-02-14 13:29:33 +00:00
25d59d6107 feat(type-system): implement concept_comparison with pattern matching
Added complete support for the new type system syntax including:

- concept: Base type declarations
- sub_concept: Enum and record sub-type definitions
- concept_comparison: Compile-time pattern matching with conditional guards

Parser changes:
- Added VariantPattern, FieldCondition, and Condition AST nodes
- Implemented "is" keyword for pattern matching (e.g., "CupType is Glass or CupType is Plastic")
- Added Value::Any variant to support universal type matching
- Disambiguated enum-like vs record-like sub_concept syntax

LSP updates:
- Added Value::Any match arms across code_actions, completion, hover, inlay_hints, and semantic_tokens
- Type inference and formatting support for Any values

Example fixes:
- Fixed syntax error in baker-family behaviors (missing closing brace in nested if)
- Removed deprecated core_enums.sb file
2026-02-14 09:28:20 +00:00
16deb5d237 release: Storybook v0.2.0 - Major syntax and features update
BREAKING CHANGES:
- Relationship syntax now requires blocks for all participants
- Removed self/other perspective blocks from relationships
- Replaced 'guard' keyword with 'if' for behavior tree decorators

Language Features:
- Add tree-sitter grammar with improved if/condition disambiguation
- Add comprehensive tutorial and reference documentation
- Add SBIR v0.2.0 binary format specification
- Add resource linking system for behaviors and schedules
- Add year-long schedule patterns (day, season, recurrence)
- Add behavior tree enhancements (named nodes, decorators)

Documentation:
- Complete tutorial series (9 chapters) with baker family examples
- Complete reference documentation for all language features
- SBIR v0.2.0 specification with binary format details
- Added locations and institutions documentation

Examples:
- Convert all examples to baker family scenario
- Add comprehensive working examples

Tooling:
- Zed extension with LSP integration
- Tree-sitter grammar for syntax highlighting
- Build scripts and development tools

Version Updates:
- Main package: 0.1.0 → 0.2.0
- Tree-sitter grammar: 0.1.0 → 0.2.0
- Zed extension: 0.1.0 → 0.2.0
- Storybook editor: 0.1.0 → 0.2.0
2026-02-13 21:52:03 +00:00
ae5e9fdcd8 docs: add Alice in Wonderland example storybook
Add comprehensive example demonstrating all major features of the
Storybook DSL through Lewis Carroll's Alice in Wonderland.

Contents:
- 12 characters (Alice, WhiteRabbit, CheshireCat, MadHatter, etc.)
- 7 relationships with named participant blocks
- 3 institutions (tea parties, royal court)
- 1 schedule (Mad Tea Party eternal rotation)
- 12 behavior trees using new syntax features
- 1 life arc (Alice's journey)

Demonstrates:
- Cross-file template resolution (schema/templates.sb)
- Template inheritance and includes
- Strict template validation
- Action parameters and repeater decorators
- Named participant relationship blocks
- Species-based character typing
- Rich prose blocks throughout

All content validates successfully.
2026-02-08 15:46:52 +00:00