summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--developer-weekend/nov-2022.mdwn82
-rw-r--r--developer-weekend/oct-2020.mdwn37
-rw-r--r--gsoc/application.mdwn2
-rw-r--r--gsoc/requirements.mdwn2
-rw-r--r--gsoc_2014_ideas.mdwn2
-rw-r--r--society/constitution.mdwn2
6 files changed, 123 insertions, 4 deletions
diff --git a/developer-weekend/nov-2022.mdwn b/developer-weekend/nov-2022.mdwn
new file mode 100644
index 0000000..83b5433
--- /dev/null
+++ b/developer-weekend/nov-2022.mdwn
@@ -0,0 +1,82 @@
+[[!meta title="Developer Weekend (Nov 2022)"]]
+[[!meta author="NetSurf Developers"]]
+[[!meta date="2022-11-26 09:00:00"]]
+
+[[!toc]]
+
+Attendees
+=========
+
+* Michael Drake
+* Vincent Sanders
+* Daniel Silverstone
+
+Outstanding work (from 2020)
+===========================
+
+* Calc
+
+Activity
+========
+
+Mostly individual activity here
+
+Michael
+-------
+
+* Worked with Daniel on CSS `calc()` support in LibCSS.
+
+Daniel
+------
+
+* Worked with Michael on CSS `calc()` support in LibCSS.
+
+Vince
+-----
+
+* Provided assists on `calc()` support
+* Worked on warnings etc. exposed by more modern gcc
+
+Notes
+=====
+
+Thoughts around `calc()`
+------------------------
+
+(Copied from 2020 for now)
+
+> Currently the `tlsa/calc` branch contains our work-to-date
+
+Remaining work
+
+> Thought:
+>
+> In theory we could make the calculation bytecode be stored as a lwc_string, which means we already have mechanisms for deduplication, identity checking, etc. in libcss.
+
+1. Maybe update generator to construct valid/invalid UNIT types for each property as a table for use later.
+ * This would involve repeating the validation expressions present in `LENGTH_UNIT:()` in `properties.gen` or perhaps reworking that bit too.
+ * This is probably an array, indexed by property, whose values are a bitfield of permitted unit types.
+ * **Done**: This was done after the hack weekend in [parse: properties: Add property-specific unit class masks](http://source.netsurf-browser.org/libcss.git/commit/?h=tlsa/calc&id=e2b4077eed0ad778847cd7b17406e8bf8b61a4ae).
+2. Implementing the cascade
+ * Mostly in the common code.
+ * Should be able to type-check here (property-specific part).
+ * In theory type-check could happen in the parser, but once `var()` gets involved it'll have to be in the cascade, so we may as well put it here from the start.
+3. Reworking the computed style to have a calc section
+ * By this, we mean that the computed styles should have a representation which means "Use calculation N" in the current packed content, and then in the less compact struct we can have calculation bytecode for each unique calculation needed to support the style.
+ * Also consider how this impacts computed style internment / sharing.
+4. Rework API for computed styles to support client functions so that calc can run
+ * This is were we implement doing the calculation.
+ * May need care in the case of invalid results in calc
+ * May permit simplification of things like percentage units.
+ * Maybe the context structure should carry simple values like available width/height viewport width/height, etc. But have a callback for things like relative font sizes etc.
+ * Probably change so all widths emerge from libcss in px.
+5. Write selection tests involving `calc()`
+ * Will involve fixing `dump_computed.h` to the new API
+
+
+After all that, NetSurf needs updating to the new API, which should simplify the CSS client code in NetSurf quite a bit.
+
+Next time
+=========
+
+* Undecided.
diff --git a/developer-weekend/oct-2020.mdwn b/developer-weekend/oct-2020.mdwn
index d4fef43..32ddc0a 100644
--- a/developer-weekend/oct-2020.mdwn
+++ b/developer-weekend/oct-2020.mdwn
@@ -45,6 +45,43 @@ Vince
* Added support to LibSVGTiny for paths using arcs.
* Added a chart renderer to NetSurf.
+Notes
+=====
+
+Thoughts around `calc()`
+------------------------
+
+> Currently the `tlsa/calc` branch contains our work-to-date
+
+Remaining work
+
+> Thought:
+>
+> In theory we could make the calculation bytecode be stored as a lwc_string, which means we already have mechanisms for deduplication, identity checking, etc. in libcss.
+
+1. Maybe update generator to construct valid/invalid UNIT types for each property as a table for use later.
+ * This would involve repeating the validation expressions present in `LENGTH_UNIT:()` in `properties.gen` or perhaps reworking that bit too.
+ * This is probably an array, indexed by property, whose values are a bitfield of permitted unit types.
+ * **Done**: This was done after the hack weekend in [parse: properties: Add property-specific unit class masks](http://source.netsurf-browser.org/libcss.git/commit/?h=tlsa/calc&id=e2b4077eed0ad778847cd7b17406e8bf8b61a4ae).
+2. Implementing the cascade
+ * Mostly in the common code.
+ * Should be able to type-check here (property-specific part).
+ * In theory type-check could happen in the parser, but once `var()` gets involved it'll have to be in the cascade, so we may as well put it here from the start.
+3. Reworking the computed style to have a calc section
+ * By this, we mean that the computed styles should have a representation which means "Use calculation N" in the current packed content, and then in the less compact struct we can have calculation bytecode for each unique calculation needed to support the style.
+ * Also consider how this impacts computed style internment / sharing.
+4. Rework API for computed styles to support client functions so that calc can run
+ * This is were we implement doing the calculation.
+ * May need care in the case of invalid results in calc
+ * May permit simplification of things like percentage units.
+ * Maybe the context structure should carry simple values like available width/height viewport width/height, etc. But have a callback for things like relative font sizes etc.
+ * Probably change so all widths emerge from libcss in px.
+5. Write selection tests involving `calc()`
+ * Will involve fixing `dump_computed.h` to the new API
+
+
+After all that, NetSurf needs updating to the new API, which should simplify the CSS client code in NetSurf quite a bit.
+
Next time
=========
diff --git a/gsoc/application.mdwn b/gsoc/application.mdwn
index f66ab8b..accb383 100644
--- a/gsoc/application.mdwn
+++ b/gsoc/application.mdwn
@@ -68,7 +68,7 @@ netsurf-dev@netsurf-browser.org
### IRC channel
-\#netsurf on FreeNode
+\#netsurf on Libera Chat
### Organization application template
diff --git a/gsoc/requirements.mdwn b/gsoc/requirements.mdwn
index 4d4dfc7..89a55f2 100644
--- a/gsoc/requirements.mdwn
+++ b/gsoc/requirements.mdwn
@@ -16,7 +16,7 @@ Expectations for communications
-------------------------------
The NetSurf team use IRC, so you will be expected to be on \#netsurf on
-Freenode and communicate there.
+Libera Chat and communicate there.
Each week, (or more often if suitable) you are expected to send a report
to your mentor indicating what you have achieved, what you intend to
diff --git a/gsoc_2014_ideas.mdwn b/gsoc_2014_ideas.mdwn
index d2c0e67..8bf7c7d 100644
--- a/gsoc_2014_ideas.mdwn
+++ b/gsoc_2014_ideas.mdwn
@@ -15,7 +15,7 @@ General Information
### Before applying for a project
-- Join our IRC channel `#netsurf` on [Freenode](http://freenode.net/)
+- Join our IRC channel `#netsurf` on Libera Chat
and introduce yourself. Also, subscribe to the [developer mailing
list](http://www.netsurf-browser.org/lists/netsurf-dev).
- Get up to speed with
diff --git a/society/constitution.mdwn b/society/constitution.mdwn
index b3fa836..68288b5 100644
--- a/society/constitution.mdwn
+++ b/society/constitution.mdwn
@@ -55,7 +55,7 @@ of the NetSurf Society.
12. No less than two weeks will elapse between the calling of a meeting
(either AGM or EGM) and the meeting taking place.
13. Meetings may occur physically or in the IRC channel \#netsurf on the
- Freenode IRC network.
+ Libera Chat IRC network.
14. The Committee is elected at the AGM and the Committee Members serve
the period starting immediately after the end of the AGM at which
they were elected and ending at the end of the subsequent AGM.