1.4 KiB
1.4 KiB
Step 2: shell-property-polymorphism
Read First
Read these files before editing:
/AGENTS.md/docs/AGENT_RULES.md/docs/implementation-plans/property-model-foundation-implementation-plan.md/include/fesa/property/Property.hpp/include/fesa/property/ShellProperty.hpp/src/property/ShellProperty.cpp/tests/property/shell_property_test.cpp
Task
Make ShellProperty derive from Property.
Required behavior:
ShellProperty::id()overridesProperty::id().ShellProperty::kind()returnsPropertyKind::Shell.ShellPropertykeepsmaterialId()andthickness()accessors.- Constructor still rejects
thickness <= 0.0.
Rules:
- Do not rename
ShellPropertyin this phase. - Do not add shell section stiffness.
- Do not add material lookup inside
ShellProperty; Domain validates cross references.
Tests To Write First
- Extend
/tests/property/shell_property_test.cpp. - Test
const Property& base = shell_propertyexposes id and kind. - Preserve positive-thickness validation tests.
Acceptance Criteria
ctest --test-dir build/msvc-debug --output-on-failure -C Debug -R model-object
python scripts/validate_workspace.py
Verification Notes
- Run targeted CTest before production edits and confirm failure.
- Keep
ShellPropertyfree of solver state. - Update
phases/property-model-foundation/index.jsonfor this step result.