extend-property

Add a CSS property across Puree's Python style, Rust parser, GPU buffer, and GLSL shader.

20|2|Updated Oct 5, 2025
One-click install
npx skills add https://github.com/nicolaiprodromov/puree --skill extend-property
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: extend-property
Source: https://github.com/nicolaiprodromov/puree/tree/main/.agents/skills/extend-property
Command: npx skills add https://github.com/nicolaiprodromov/puree --skill extend-property

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Extend-property provides a structured approach to introduce a new CSS property into the Puree engine, ensuring it flows through style definitions, the Rust parser, the GPU buffer, and the GLSL shader pipeline.

Core Features & Use Cases

  • Adds a new property field to the Python Style class with a sensible default.
  • Maps the property in the Rust SCSS parser and cascade, enabling correct value parsing and inheritance behavior.
  • Updates the GPU buffer packing and GLSL shader to render the property, with optional transitions for animation.

Quick Start

Define the new property name and type, then implement it across style, parser, GPU, and shader following the multi-layer integration guide.

Frequently Asked Questions about extend-property

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new CSS property to a rendering engine across Python, Rust, and GLSL?

To add a new CSS property, you update the Python style class, map it in the Rust parser, pack it into the GPU buffer, and implement rendering logic in the GLSL shader. This ensures the property is recognized and rendered across all layers.

What is the workflow for extending Puree style definitions with a custom property?

Extending Puree style definitions involves adding a property field with a default value to the Python Style class, then updating the Rust SCSS parser to handle value parsing and inheritance behavior for cascade rendering.

How does GPU buffer packing work when implementing a new CSS property for shaders?

GPU buffer packing for a new CSS property requires updating the buffer layout to include the parsed property data, then modifying the GLSL shader to read this buffer and render the property, with optional transitions for animation.

Do I need to update the Rust parser to support CSS property inheritance in Puree?

Yes, you need to update the Rust SCSS parser and cascade logic to support CSS property inheritance in Puree. Mapping the property in the parser enables correct value parsing and ensures proper inheritance behavior across the rendering pipeline.

Can I add animation transitions when introducing a new CSS property in Puree?

Yes, you can add animation transitions when introducing a new CSS property in Puree. The workflow includes optional transition support, allowing you to implement animated rendering for the new property within the GLSL shader and GPU buffer pipeline.

What are the limitations of manually extending a cross-language CSS rendering pipeline?

Manually extending a cross-language CSS rendering pipeline requires synchronized updates across Python, Rust, and GLSL layers. Missing updates in the style field, parser mapping, buffer packing, or shader logic will prevent the property from rendering correctly.