Files
test2/tools
Jacques Lucke f0c7e52ff2 Core: extract blendfile_header.py as common utility for parsing .blend files
This new file can parse the file header (first few bytes) as well as the block
headers.

Right now, this is used by two places:
* `blendfile.py` which is used by `blend2json.py`
* `blend_render_info.py`

This new module is shipped with Blender because it's needed for
`blend_render_info.py` which is shipped with Blender too. This makes using it in
`blendfile.py` (which is not shipped with Blender) a bit more annoying. However,
this is already not ideal, because e.g. `blend2json` also has to add to
`sys.path` already to be able to import `blendfile.py`.

This new file could also be used by blender-asset-tracer (BAT).

The new `BlendFileHeader` and `BlockHeader` types may be subclassed by code
using it, because it wants to store additional derived data (`blendfile.py` and
BAT need this).

New tests have been added that check that the file and block header is parsed
correctly for different kinds of .blend files.

Pull Request: https://projects.blender.org/blender/blender/pulls/140341
2025-06-23 12:53:55 +02:00
..
2025-06-19 10:34:11 +10:00

Blender Dev Tools
#################

This repository is intended for miscellaneous tools, utilities, configurations and
anything that helps with Blender development, but aren't directly related to building Blender.

Some of the tools included may be used stand-alone, others expect Blenders source code to be available.


Usage
=====

While this is a stand-alone repository,
some of the scripts which access Blenders source code assume this repository will be located at
``tools`` within Blenders source code repository. At some point this may be included as a submodule.

Some tools also rely on the ``blender`` binary, this is assumed to be located at: ``../../blender.bin``.
*The root directory of Blender's git repository*


Categories
==========

Check Source
------------

Any tools for scanning source files to report issues with code, style, conventions, deprecated features etc.


Config
------

Configuration for 3rd party applications (IDE's, code-analysis, debugging tools... etc).


Git
---

Scripts and utilities for working with git.


Utils
-----

Programs (scripts) to help with development
(currently for converting formats, creating mouse cursor, updating themes).