Skip to content

refactor: harden LinkForge architecture and centralize Core API for v1.4.0#246

Merged
arounamounchili merged 45 commits into
mainfrom
docs/refine-init-docstring
May 16, 2026
Merged

refactor: harden LinkForge architecture and centralize Core API for v1.4.0#246
arounamounchili merged 45 commits into
mainfrom
docs/refine-init-docstring

Conversation

@arounamounchili

@arounamounchili arounamounchili commented May 14, 2026

Copy link
Copy Markdown
Owner

Pull Request

Important

This project uses Conventional Commits and Release Please for automated versioning.
Please ensure your PR title follows the Conventional Commits format (e.g., feat: add lidar sensor, fix: core logic bug).

📝 Description

This PR evolved into a comprehensive architectural hardening to stabilize the v1.4.0 release

🛠️ Type of change

  • 🧹 Refactor (refactor)
  • 📚 Documentation (docs)

✅ Checklist

  • I have run uv run pytest and all tests pass
  • I have run uv run pre-commit run --all-files and all hooks pass
  • I have verified the changes manually in the Blender viewport
  • I have updated the documentation or verified no changes are needed

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…ors, and models

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…idation checks

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…lity.py

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
- Standardized all core modules with Lean Google Style documentation.
- Hardened SensorTranslator with explicit casting and 3D LIDAR support.
- Synchronized Blender SensorPropertyGroup with core LIDAR requirements.
- Formalized 'Physics as Truth' design principle in contributing guide.
- Added PHYSICS_AS_TRUTH.md developer documentation.
- Resolved LIDAR validation regression in blender integration tests.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
@arounamounchili arounamounchili changed the title Docs/refine init docstring refactor: audit and core documentation standardization May 14, 2026
…uristics

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
- Centralized all magic literals in core and blender platforms.
- Reorganized constants for improved logical flow and maintainability.
- Resolved import instabilities in URDF/SRDF parsers.
- Rephrased legacy comments into professional compatibility notices.
- Fixed numerical precision regressions in joint tests.
- Verified with full test suite, linting, and type checking.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…lized constants

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…ed Core API

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…der imports

- Fully expanded linkforge_core/__init__.py to expose all models, physics, and utilities.
- Refactored entire platforms/blender package to eliminate deep sub-module imports.
- Standardized on top-level API usage across adapters, properties, and operators.
- Verified zero remaining deep imports via repository-wide audit.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
- Added KinematicGraph and specialized exceptions (Xacro, Security).
- Exposed core XML parsing/serialization utilities.
- Included SRDF semantic models and resource resolvers.
- Unified public API manifest for all platform adapters.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
- Implemented explicit re-exports (import-as) for all public members.
- Organized __all__ into logical categories for better scannability.
- Ensured 100% compliance with Mypy's strict re-export policy.
- Verified final architectural integrity with full check suite.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
- Fix case-sensitivity regression in TransmissionTranslator by normalizing mapping
- Consolidate linkforge_core API gateway and explicitly export validation models
- Defer pytest imports in Blender test runner for environment compatibility
- Update integration tests to match normalized transmission types

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
- Migrate to standard 'src' layout for linkforge.core and linkforge.blender
- Establish proper linkforge namespace package structure
- Overhaul core/__init__.py with clean exports and domain grouping
- Implement functional I/O API in io.py with 100% test coverage
- Update build and development scripts to handle new namespace paths
- Synchronize ARCHITECTURE and CONTRIBUTING documentation
- Harden type safety with Final and annotations across core/blender
- Verified with full test suite and quality checks (Ruff/MyPy/Pyright)

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
@arounamounchili arounamounchili changed the title refactor: audit and core documentation standardization refactor: harden LinkForge architecture and centralize Core API for v1.4.0 May 16, 2026
- Migrate core Enums to StrEnum (Python 3.11+ compliance)
- Implement Mirtich inertia integration unit tests
- Resolve Mypy 2.1.0 strictness in Blender handlers
- Upgrade development toolchain (Ruff, Mypy, Pre-commit)
- Fix broken documentation links in README

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…nsion compatibility

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…ecture

- Fixed case-sensitivity bug in collision generation operator (GEOM_AUTO vs "AUTO").
- Refactored import architecture to use absolute imports for core library compatibility.
- Added sys.modules mapping in __init__.py for Blender extension portability.
- Fixed UI property access errors in forge and export panels.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…for extensions

- Explicitly alias the 'linkforge' and 'linkforge.blender' packages in sys.modules
  when running as a Blender extension.
- This resolves the 'ModuleNotFoundError: No module named linkforge' occurring
  in bundled builds due to absolute imports in sub-packages.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…th extension policies

- Converted absolute 'linkforge.core' imports to relative '..core' imports.
- Added a development symlink from 'blender/src/linkforge/blender/core' to the real core.
- Removed sys.modules hacks that triggered Blender extension policy violations.
- Updated build script to skip the development symlink during staging.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
…r extensions

- Reverted source code to clean absolute imports to satisfy Mypy/Pyright.
- Added 'transform_to_relative_imports' to 'build.py' to automatically handle
  extension namespace requirements during the build process.
- Removed runtime 'sys.modules' hacks from 'linkforge.blender', resolving
  Blender Extension policy violations.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
- Fixed an indentation error where the Blender build logic was accidentally
  nested inside the import transformation helper.
- Restored the explicit return of the distribution directory path.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
- Fixed a bug where some absolute imports were not being correctly captured.
- Added debug logging to track transformed files during the build process.
- Verified that all 28 critical files are now correctly transformed to relative
  imports in the final extension package.

Signed-off-by: arounamounchili <patouossa.mounchili@gmail.com>
@arounamounchili arounamounchili merged commit 1096425 into main May 16, 2026
13 checks passed
@arounamounchili arounamounchili deleted the docs/refine-init-docstring branch May 16, 2026 18:56
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.

1 participant