2 Commits

Author SHA1 Message Date
Syoyo Fujita
3c1b1735b7 raise C++ version requirement from C++14 to C++17
Update all CMakeLists.txt, Makefiles, meson.build, setup.py,
and documentation files to use C++17 standard.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 03:39:41 +09:00
Syoyo Fujita
a106f9b3b0 Add secure, dependency-free MaterialX XML parser to replace pugixml
Implement a custom XML parser specifically designed for MaterialX documents
with built-in security features and no external dependencies. This parser
will replace pugixml in usdMtlx to improve security and reduce dependencies.

Features:
- Hand-written XML tokenizer with security limits (max string/name length)
- Simple DOM parser optimized for MaterialX structure
- MaterialX-specific document object model
- pugixml-compatible adapter for easy migration
- Comprehensive test suite and examples

Security improvements:
- Bounds checking on all string operations
- Maximum nesting depth limits (1000 levels)
- Safe entity handling (HTML entities)
- No buffer overflows or out-of-bounds access
- Memory limits enforced (1MB text, 64KB strings)

The parser supports MaterialX versions 1.36, 1.37, and 1.38.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 17:01:59 +09:00