Sam Haves
f5d3ce3451
Introduce mjpEncoder plugin architecture
...
Add a new mjpEncoder plugin type mirroring the existing mjpDecoder pattern.
Encoders serialize an mjSpec + mjModel to an mjResource for a given format.
New API functions:
- mjp_registerEncoder: globally register an encoder
- mjp_defaultEncoder: zero-initialize an encoder struct
- mjp_findEncoder: look up an encoder by filename extension or content type
The mjfEncode callback takes (mjSpec*, mjModel*, mjVFS*, mjResource*) and
returns 0 on success. Writing to mjResource keeps symmetry with the decoder
reading from mjResource and leaves the door open for writable resource providers.
PiperOrigin-RevId: 889187898
Change-Id: I180771b2255b91dea188ac5e2cdc3a8f0fb85364
2026-03-25 05:35:39 -07:00
..
2026-03-20 05:06:15 -07:00
2025-12-12 04:49:29 -08:00
2022-06-16 07:15:14 -07:00
2025-01-16 06:28:54 -08:00
2022-05-23 01:08:49 -07:00
2026-03-13 10:21:53 -07:00
2026-03-23 04:51:53 -07:00
2026-03-23 04:51:53 -07:00
2026-03-03 13:11:14 -08:00
2026-03-03 13:11:14 -08:00
2026-03-23 04:51:53 -07:00
2025-04-07 05:59:02 -07:00
2026-03-13 10:21:53 -07:00
2026-03-13 10:21:53 -07:00
2026-03-13 10:21:53 -07:00
2026-03-13 10:21:53 -07:00
2026-03-16 13:04:00 -07:00
2026-03-16 05:23:20 -07:00
2026-03-20 11:41:15 -07:00
2025-11-07 03:33:07 -08:00
2026-03-20 11:41:15 -07:00
2026-03-20 11:41:15 -07:00
2024-02-22 08:03:51 -08:00
2026-03-16 09:03:52 -07:00
2026-02-06 08:47:36 -08:00
2023-04-28 09:04:41 -07:00
2026-03-20 11:41:15 -07:00
2026-02-09 11:54:27 -08:00
2026-03-20 11:41:15 -07:00
2025-12-01 07:39:00 -08:00
2024-02-09 06:50:06 -08:00
2025-11-06 12:10:55 -08:00
2025-09-25 19:22:27 -07:00
2026-03-02 09:17:56 -08:00
2026-03-20 11:41:15 -07:00
2022-05-23 01:08:49 -07:00
2026-03-10 04:26:07 -07:00
2026-02-25 04:32:11 -08:00
2026-02-25 18:48:59 -08:00
2023-09-05 11:41:43 -07:00
2025-09-16 09:36:44 -07:00
2026-03-17 08:26:39 -07:00
2026-03-16 08:18:11 -07:00
2025-10-01 07:58:17 -07:00
2024-06-27 10:50:21 -07:00
2026-03-20 11:41:15 -07:00
2026-02-09 11:54:27 -08:00
2026-03-25 05:35:39 -07:00
2026-03-25 05:35:39 -07:00
2026-02-25 04:32:11 -08:00
2025-09-29 02:47:17 -07:00
2026-01-13 10:22:21 -08:00
2026-01-13 10:22:21 -08:00
2026-03-24 05:21:08 -07:00
2026-02-06 08:47:36 -08:00
2026-03-20 11:41:15 -07:00
2022-05-23 01:08:49 -07:00
2026-01-23 16:30:05 -08:00
2025-11-11 06:45:56 -08:00
2026-01-05 23:56:57 -08:00
2025-05-14 04:20:34 -07:00
2025-09-18 12:28:09 -07:00
2026-03-16 08:36:58 -07:00
2026-03-11 04:55:44 -07:00
2025-12-16 05:16:50 -08:00
2025-11-26 03:26:56 -08:00
2025-10-01 07:58:17 -07:00
2023-08-22 04:04:02 -07:00
2026-03-09 09:54:10 -07:00
2023-10-12 10:49:35 +01:00
2026-03-16 13:25:25 -07:00
2026-03-16 13:25:25 -07:00
2026-01-08 02:44:38 -08:00
2025-12-19 08:57:45 -08:00
2025-09-16 09:36:44 -07:00
2025-11-07 03:33:07 -08:00
2025-11-07 03:33:07 -08:00
2025-12-12 04:49:29 -08:00
2025-12-12 10:47:31 -08:00
2025-12-18 04:36:26 -08:00
2025-09-16 09:36:44 -07:00
2026-01-13 10:22:21 -08:00
2023-10-12 10:49:35 +01:00
2026-03-16 13:25:25 -07:00
2025-11-14 00:03:18 -08:00